// Mongolian standard keyboard
// Author Sanlig Badral <badral@chinggis.com>
// 2002/12/7 Version 1.0

// $XFree86: xc/programs/xkbcomp/symbols/mn,v 1.2 2003/01/10 02:59:41 dawes Exp $

partial default alphanumeric_keys
xkb_symbols "basic" {

// Describes the differences between a very simple en_US keyboard
// and a very simple Mongolian (cyrillic) keyboard

  name[Group1]= "Latin";
  name[Group2]= "Mongolian";

  key.type = "THREE_LEVEL";

  key <TLDE> {[ quoteleft, 	  asciitilde,        	degree              	],
              [ equal,       	  plus,  		degree              	]};
  key <AE01> {[ 1,                exclam,            	multiply            	],
              [ 1,                numerosign,        	multiply            	]};
  key <AE02> {[ 2,                at,                   division            	],
              [ 2,                minus,              	division              	]};
  key <AE03> {[ 3,                numbersign,  		plusminus        	],
              [ 3,                quotedbl,        	plusminus      		]};
  key <AE04> {[ 4,                dollar,               notsign             	],
              [ 4,                0x010020ae,  		notsign              	]};
  key <AE05> {[ 5,                percent,          	NoSymbol       		],
              [ 5,                colon,		NoSymbol       		]};
  key <AE06> {[ 6,                asciicircum,    	notequal          	],
              [ 6,                period,              	notequal          	]};
  key <AE07> {[ 7,                ampersand,   		ampersand     		],
              [ 7,                underscore,          	ampersand    		]};
  key <AE08> {[ 8,                asterisk,           	asterisk           	],
              [ 8,                comma,            	asterisk           	]};
  key <AE09> {[ 9,                parenleft,         	bracketleft       	],
              [ 9,                percent,          	bracketleft      	]};
  key <AE10> {[ 0,                parenright,       	bracketright   		],
              [ 0,                question,       	bracketright   		]};
  key <AE11> {[ minus,            underscore,    	X                    	],
              [ Cyrillic_ie,   	  Cyrillic_IE,        	X                    	]};
  key <AE12> {[ equal,            plus,                 L                      	],
              [ Cyrillic_shcha,   Cyrillic_SHCHA,   	L       		]};

  key <AD01> {[ q,                 Q,                 	apostrophe           	],
              [ Cyrillic_ef,       Cyrillic_EF,       	apostrophe           	]};
  key <AD02> {[ w,                 W,                 	grave                	],
             [ Cyrillic_tse,      Cyrillic_TSE,       	grave               	]};
  key <AD03> {[ e,                 E,                	EuroSign            	],
              [ Cyrillic_u,        Cyrillic_U,        	EuroSign             	]};
  key <AD04> {[ r,                 R,                 	registered          	],
              [ Cyrillic_zhe,      Cyrillic_ZHE,      	registered           	]};
  key <AD05> {[ t,                 T,                 	trademark            	],
              [ Cyrillic_e,        Cyrillic_E,        	trademark            	]};
  key <AD06> {[ y,                 Y,                 	yen                 	],
              [ Cyrillic_en,       Cyrillic_EN,       	yen                  	]};
  key <AD07> {[ u,                 U,                 	doublelowquotemark   	],
              [ Cyrillic_ghe,      Cyrillic_GHE,      	doublelowquotemark   	]};
  key <AD08> {[ i,                 I,                 	leftdoublequotemark  	],
              [ Cyrillic_sha,      Cyrillic_SHA,      	leftdoublequotemark  	]};
  // mongolian (ue) straight u
  key <AD09> {[ o,                 O,                 	rightdoublequotemark 	],
              [ 0x010004af,        0x010004ae,       	rightdoublequotemark 	]};
  key <AD10> {[ p,                 P,                 	NoSymbol             	],
              [ Cyrillic_ze,       Cyrillic_ZE,       	NoSymbol             	]};
  key <AD11> {[ bracketleft,       braceleft,         	braceleft            	],
              [ Cyrillic_ka,       Cyrillic_KA,      	braceleft            	]};
  key <AD12> {[ bracketright,      braceright,        	braceright           	],
              [ Cyrillic_hardsign, Cyrillic_HARDSIGN, 	braceright           	]};

  key <AC01> {[ a,                 A,                 	mu                   	],
              [ Cyrillic_shorti,   Cyrillic_SHORTI,   	mu                   	]};
  key <AC02> {[ s,                 S,                 	sterling             	],
              [ Cyrillic_yeru,     Cyrillic_YERU,     	sterling             	]};
  key <AC03> {[ d,                 D,                 	dollar               	],
              [ Cyrillic_be,       Cyrillic_BE,       	dollar               	]};
  //oe mongolian (oe) barred o
  key <AC04> {[ f,                 F,                 	cent                 	],
              [ 0x010004e9,        0x010004e8,       	rightdoublequotemark 	]};
  key <AC05> {[ g,                 G,                 	Cyrillic_yeru        	],
              [ Cyrillic_a,        Cyrillic_A,        	Cyrillic_yeru        	]};
  key <AC06> {[ h,                 H,                 	Cyrillic_YERU        	],
              [ Cyrillic_ha,       Cyrillic_HA,       	Cyrillic_YERU        	]};
  key <AC07> {[ j,                 J,                 	Cyrillic_e           	],
              [ Cyrillic_er,       Cyrillic_ER,       	Cyrillic_e           	]};
  key <AC08> {[ k,                 K,                 	Cyrillic_E           	],
              [ Cyrillic_o,        Cyrillic_O,       	Cyrillic_E           	]};
  key <AC09> {[ l,                 L,                 	numerosign           	],
              [ Cyrillic_el,       Cyrillic_EL,       	numerosign           	]};
  key <AC10> {[ semicolon,         colon,             	section              	],
              [ Cyrillic_de,       Cyrillic_DE,       	section              	]};
  key <AC11> {[ quoteright,        quotedbl,          	ellipsis             	],
              [ Cyrillic_pe,       Cyrillic_PE,       	ellipsis             	]};
  key <BKSL> {[ backslash,         bar,               	bar                  	],
              [ exclam,            bar,     		bar                  	]};

  key <LSGT> {[ less,              greater,           	NoSymbol             	],
              [ parenleft,         parenright,         	NoSymbol             	]};
  key <AB01> {[ z,                 Z,                 	emdash               	],
              [ Cyrillic_ya,       Cyrillic_YA,       	emdash               	]};
  key <AB02> {[ x,                 X,                 	endash               	],
              [ Cyrillic_che,      Cyrillic_CHE,      	endash               	]};
  key <AB03> {[ c,                 C,                 	copyright            	],
              [ Cyrillic_io,       Cyrillic_IO,       	copyright            	]};
  key <AB04> {[ v,                 V,                 	NoSymbol             	],
              [ Cyrillic_es,       Cyrillic_ES,       	NoSymbol             	]};
  key <AB05> {[ b,                 B,                 	NoSymbol             	],
              [ Cyrillic_em,       Cyrillic_EM,       	NoSymbol             	]};
  key <AB06> {[ n,                 N,                 	less                 	],
              [ Cyrillic_i,        Cyrillic_I,        	less                 	]};
  key <AB07> {[ m,                 M,                 	greater              	],
              [ Cyrillic_te,       Cyrillic_TE,       	greater              	]};
  key <AB08> {[ comma,             less,              	guillemotleft        	],
              [ Cyrillic_softsign, Cyrillic_SOFTSIGN, 	guillemotleft        	]};
  key <AB09> {[ period,            greater,           	guillemotright       	],
              [ Cyrillic_ve,       Cyrillic_VE,       	guillemotright       	]};
  key <AB10> {[ slash,             question,          	backslash            	],
              [ Cyrillic_yu,       Cyrillic_YU,       	backslash            	]};

  // End alphanumeric section

  key <SPCE> {[ space,             space,             	nobreakspace         	]};
  key <RALT> {  type="TWO_LEVEL",[ Mode_switch,		Multi_key		]};

  // Begin modifier mappings

  modifier_map Shift  { Shift_L };
  modifier_map Lock   { Caps_Lock, ISO_Lock };
  modifier_map Control{ Control_L };
  modifier_map Mod3   { Mode_switch };
};

partial alphanumeric_keys
xkb_symbols "mn(basic)" {

  // Describes the differences between a very simple en_US keyboard
  // and a very simple mongolian keyboard with publishing
  // symbols in the third level.

  name[Group1]= "Latin";
  name[Group2]= "Mongolian";

  key <TLDE> {[ quoteleft, 	  asciitilde        	],
              [ equal,       	  plus  		]};
  key <AE01> {[ 1,                exclam            	],
              [ 1,                numerosign           	]};
  key <AE02> {[ 2,                at                    ],
              [ 2,                minus              	]};
  key <AE03> {[ 3,                numbersign  		],
              [ 3,                quotedbl        	]};
  key <AE04> {[ 4,                dollar                ],
              [ 4,                0x010020ae  		]};
  key <AE05> {[ 5,                percent          	],
              [ 5,                colon           	]};
  key <AE06> {[ 6,                asciicircum    	],
              [ 6,                period              	]};
  key <AE07> {[ 7,                ampersand   		],
              [ 7,                underscore          	]};
  key <AE08> {[ 8,                asterisk           	],
              [ 8,                comma            	]};
  key <AE09> {[ 9,                parenleft         	],
              [ 9,                percent          	]};
  key <AE10> {[ 0,                parenright       	],
              [ 0,                question       	]};
  key <AE11> {[ minus,            underscore    	],
              [ Cyrillic_ie,   	  Cyrillic_IE        	]};
  key <AE12> {[ equal,            plus                  ],
              [ Cyrillic_shcha,   Cyrillic_SHCHA   	]};

  key <AD01> {[ q,                 Q			],
              [ Cyrillic_ef,       Cyrillic_EF		]};
  key <AD02> {[ w,                 W                 	],
             [ Cyrillic_tse,      Cyrillic_TSE       	]};
  key <AD03> {[ e,                 E                	],
              [ Cyrillic_u,        Cyrillic_U        	]};
  key <AD04> {[ r,                 R                 	],
              [ Cyrillic_zhe,      Cyrillic_ZHE      	]};
  key <AD05> {[ t,                 T                 	],
              [ Cyrillic_e,        Cyrillic_E        	]};
  key <AD06> {[ y,                 Y                 	],
              [ Cyrillic_en,       Cyrillic_EN       	]};
  key <AD07> {[ u,                 U                 	],
              [ Cyrillic_ghe,      Cyrillic_GHE      	]};
  key <AD08> {[ i,                 I                 	],
              [ Cyrillic_sha,      Cyrillic_SHA      	]};
  // mongolian (ue) straight u
  key <AD09> {[ o,                 O                 	],
              [ 0x010004af,        0x010004ae       	]};
  key <AD10> {[ p,                 P                 	],
              [ Cyrillic_ze,       Cyrillic_ZE       	]};
  key <AD11> {[ bracketleft,       braceleft         	],
              [ Cyrillic_ka,       Cyrillic_KA      	]};
  key <AD12> {[ bracketright,      braceright        	],
              [ Cyrillic_hardsign, Cyrillic_HARDSIGN 	]};

  key <AC01> {[ a,                 A                 	],
              [ Cyrillic_shorti,   Cyrillic_SHORTI   	]};
  key <AC02> {[ s,                 S                 	],
              [ Cyrillic_yeru,     Cyrillic_YERU     	]};
  key <AC03> {[ d,                 D                 	],
              [ Cyrillic_be,       Cyrillic_BE       	]};
  //oe mongolian (oe) barred o
  key <AC04> {[ f,                 F                 	],
              [ 0x010004e9,        0x010004e8       	]};
  key <AC05> {[ g,                 G                 	],
              [ Cyrillic_a,        Cyrillic_A        	]};
  key <AC06> {[ h,                 H                 	],
              [ Cyrillic_ha,       Cyrillic_HA       	]};
  key <AC07> {[ j,                 J                 	],
              [ Cyrillic_er,       Cyrillic_ER       	]};
  key <AC08> {[ k,                 K                 	],
              [ Cyrillic_o,        Cyrillic_O       	]};
  key <AC09> {[ l,                 L                 	],
              [ Cyrillic_el,       Cyrillic_EL       	]};
  key <AC10> {[ semicolon,         colon             	],
              [ Cyrillic_de,       Cyrillic_DE       	]};
  key <AC11> {[ quoteright,        quotedbl          	],
              [ Cyrillic_pe,       Cyrillic_PE       	]};
  key <BKSL> {[ backslash,         bar               	],
              [ parenleft,         parenright     	]};

  key <LSGT> {[ less,              greater           	],
              [ less,              greater           	]};
  key <AB01> {[ z,                 Z                 	],
              [ Cyrillic_ya,       Cyrillic_YA       	]};
  key <AB02> {[ x,                 X                 	],
              [ Cyrillic_che,      Cyrillic_CHE      	]};
  key <AB03> {[ c,                 C                 	],
              [ Cyrillic_io,       Cyrillic_IO       	]};
  key <AB04> {[ v,                 V                 	],
              [ Cyrillic_es,       Cyrillic_ES       	]};
  key <AB05> {[ b,                 B                 	],
              [ Cyrillic_em,       Cyrillic_EM       	]};
  key <AB06> {[ n,                 N                 	],
              [ Cyrillic_i,        Cyrillic_I        	]};
  key <AB07> {[ m,                 M                 	],
              [ Cyrillic_te,       Cyrillic_TE       	]};
  key <AB08> {[ comma,             less              	],
              [ Cyrillic_softsign, Cyrillic_SOFTSIGN 	]};
  key <AB09> {[ period,            greater           	],
              [ Cyrillic_ve,       Cyrillic_VE       	]};
  key <AB10> {[ slash,             question          	],
              [ Cyrillic_yu,       Cyrillic_YU       	]};

  key <RALT> {[ Alt_R,             Meta_R              ]};

  // Begin modifier mappings

  modifier_map Shift  { Shift_L };
  modifier_map Lock   { Caps_Lock, ISO_Lock };
  modifier_map Control{ Control_L };
  modifier_map Mod3   { Mode_switch };
};
