ru revision 797b363d
1// based on
2// russian standard keyboard
3// AEN <aen@logic.ru>
4// 2001/12/23 by Leon Kanter <leon@blackcatlinux.com>
5// 2005/12/09 Valery Inozemtsev <shrek@altlinux.ru>
6
7// Windows layout
8default  partial alphanumeric_keys
9xkb_symbols "winkeys" {
10    include "ru(common)"
11
12    name[Group1]= "Russian";
13
14    key <AE03> {        [               3,      numerosign      ]       };
15    key <AE04> {        [               4,       semicolon      ]       };
16    key <AE05> {        [               5,         percent      ]       };
17    key <AE06> {        [               6,           colon      ]       };
18    key <AE07> {        [               7,        question      ]       };
19    key <AE08> {        [               8,        asterisk      ]       };
20
21    key <AB10> {        [          period,           comma      ]       };
22    key <BKSL> {        [       backslash,           slash      ]       };
23};
24
25partial hidden alphanumeric_keys
26xkb_symbols "common" {
27
28    key	<AE01> {	[		1,	    exclam 	]	};
29    key	<AE02> {	[		2,        quotedbl	]	};
30    key	<AE03> {	[		3,      numbersign	]	};
31    key	<AE04> {	[		4,        asterisk	]	};
32    key	<AE05> {	[		5,	     colon	]	};
33    key	<AE06> {	[		6,	     comma	]	};
34    key	<AE07> {	[		7,	    period	]	};
35    key	<AE08> {	[		8,	 semicolon	]	};
36    key	<AE09> {	[		9,	 parenleft	]	};
37    key	<AE10> {	[		0,	parenright	]	};
38    key	<AE11> {	[	    minus,	underscore	]	};
39    key	<AE12> {	[	    equal,	      plus	]	};
40    key	<BKSL> {	[	backslash,             bar	]	};
41    key	<AB10> {	[	    slash,	  question	]	};
42    key <LSGT> {        [           slash,             bar      ]       };
43
44    key	<TLDE> {	[     Cyrillic_io,     Cyrillic_IO	]	};
45    key	<AD01> {	[ Cyrillic_shorti, Cyrillic_SHORTI	]	};
46    key	<AD02> {	[    Cyrillic_tse,    Cyrillic_TSE	]	};
47    key	<AD03> {	[      Cyrillic_u,	Cyrillic_U	]	};
48    key	<AD04> {	[     Cyrillic_ka,     Cyrillic_KA	]	};
49    key	<AD05> {	[     Cyrillic_ie,     Cyrillic_IE	]	};
50    key	<AD06> {	[     Cyrillic_en,     Cyrillic_EN	]	};
51    key	<AD07> {	[    Cyrillic_ghe,    Cyrillic_GHE	]	};
52    key	<AD08> {	[    Cyrillic_sha,    Cyrillic_SHA	]	};
53    key	<AD09> {	[  Cyrillic_shcha,  Cyrillic_SHCHA	]	};
54    key	<AD10> {	[     Cyrillic_ze,     Cyrillic_ZE	]	};
55    key	<AD11> {	[     Cyrillic_ha,     Cyrillic_HA	]	};
56    key	<AD12> {	[Cyrillic_hardsign,Cyrillic_HARDSIGN	]	};
57    key	<AC01> {	[     Cyrillic_ef,     Cyrillic_EF	]	};
58    key	<AC02> {	[   Cyrillic_yeru,   Cyrillic_YERU	]	};
59    key	<AC03> {	[     Cyrillic_ve,     Cyrillic_VE	]	};
60    key	<AC04> {	[      Cyrillic_a,	Cyrillic_A	]	};
61    key	<AC05> {	[     Cyrillic_pe,     Cyrillic_PE	]	};
62    key	<AC06> {	[     Cyrillic_er,     Cyrillic_ER	]	};
63    key	<AC07> {	[      Cyrillic_o,	Cyrillic_O	]	};
64    key	<AC08> {	[     Cyrillic_el,     Cyrillic_EL	]	};
65    key	<AC09> {	[     Cyrillic_de,     Cyrillic_DE	]	};
66    key	<AC10> {	[    Cyrillic_zhe,    Cyrillic_ZHE	]	};
67    key	<AC11> {	[      Cyrillic_e,	Cyrillic_E	]	};
68    key	<AB01> {	[     Cyrillic_ya,     Cyrillic_YA	]	};
69    key	<AB02> {	[    Cyrillic_che,    Cyrillic_CHE	]	};
70    key	<AB03> {	[     Cyrillic_es,     Cyrillic_ES	]	};
71    key	<AB04> {	[     Cyrillic_em,     Cyrillic_EM	]	};
72    key	<AB05> {	[      Cyrillic_i,	Cyrillic_I	]	};
73    key	<AB06> {	[     Cyrillic_te,     Cyrillic_TE	]	};
74    key	<AB07> {	[Cyrillic_softsign,Cyrillic_SOFTSIGN	]	};
75    key	<AB08> {	[     Cyrillic_be,     Cyrillic_BE	]	};
76    key	<AB09> {	[     Cyrillic_yu,     Cyrillic_YU	]	};
77
78    key.type[group1]="TWO_LEVEL";
79
80    include "kpdl(comma)"
81};
82
83partial alphanumeric_keys
84xkb_symbols "legacy" {
85    include "ru(common)"
86
87    name[Group1]= "Russian (legacy)";
88};
89
90partial alphanumeric_keys
91xkb_symbols "olpc" {
92
93    include "ru(common)"
94
95    key        <TLDE> {        [          0x01000451,          0x01000401, grave       ]       }; // Ñ‘, Ð
96    key <AE03> {        [               3,      numbersign, 0x01002116      ]       }; // â„–
97    key <AE04> {        [               4,          dollar, semicolon   ]       };
98    key <AE06> {        [               6,      asciicircum, colon      ]       };
99    key <AE07> {        [               7,          ampersand           ]       };
100    key <AE09> {        [               9,          parenleft, acute    ]       };
101    key <AC12> {        [       backslash,          bar, slash          ]       };
102
103    include "group(olpc)"
104};
105
106partial alphanumeric_keys
107xkb_symbols "typewriter" {
108    include "ru(common)"
109    name[Group1]= "Russian (typewriter)";
110    key	<TLDE> {	[	      bar,	      plus	] 	};
111    key	<AE01> {	[      numerosign,		 1 	]	};
112    key	<AE02> {	[           minus,		 2	]	};
113    key	<AE03> {	[	    slash,		 3	]	};
114    key	<AE04> {	[	 quotedbl,		 4	]	};
115    key	<AE05> {	[	    colon,		 5	]	};
116    key	<AE06> {	[	    comma,		 6	]	};
117    key	<AE07> {	[	   period,		 7	]	};
118    key	<AE08> {	[      underscore,		 8	]	};
119    key	<AE09> {	[	 question,		 9	]	};
120    key	<AE10> {	[	  percent,		 0	]	};
121    key	<AE11> {	[	   exclam,	     equal	]	};
122    key	<AE12> {	[       semicolon,	 backslash	]	};
123
124    key	<BKSL> {	[	parenright,	 parenleft	]	};
125
126    key	<AD12> {	[Cyrillic_hardsign,Cyrillic_HARDSIGN	]	};
127    key	<AB10> {	[     Cyrillic_io,     Cyrillic_IO	]	};
128};
129
130partial alphanumeric_keys
131xkb_symbols "typewriter-legacy" {
132    include "ru(common)"
133    name[Group1]= "Russian (typewriter, legacy)";
134    key	<TLDE> {	[      apostrophe,	  quotedbl	] 	};
135    key	<AE01> {	[	   exclam,		 1 	]	};
136    key	<AE02> {	[      numerosign,		 2	]	};
137    key	<AE03> {	[	    slash,		 3	]	};
138    key	<AE04> {	[	semicolon,		 4	]	};
139    key	<AE05> {	[	    colon,		 5	]	};
140    key	<AE06> {	[	    comma,		 6	]	};
141    key	<AE07> {	[	   period,		 7	]	};
142    key	<AE08> {	[      underscore,		 8	]	};
143    key	<AE09> {	[	 question,		 9	]	};
144    key	<AE10> {	[	  percent,		 0	]	};
145    key	<BKSL> {	[	parenleft,	parenright	]	};
146
147    key	<AD12> {	[Cyrillic_hardsign,Cyrillic_HARDSIGN	]	};
148    key	<AB10> {	[     Cyrillic_io,     Cyrillic_IO	]	};
149};
150
151partial alphanumeric_keys
152xkb_symbols "phonetic" {
153
154    name[Group1]= "Russian (phonetic)";
155
156    key	<AE01> {	[		1,	    exclam 	]	};
157    key	<AE02> {	[		2,        	at	]	};
158    key	<AE03> {	[		3,     Cyrillic_io 	]	};
159    key	<AE04> {	[		4,     Cyrillic_IO	]	};
160    key	<AE05> {	[		5, Cyrillic_hardsign   	]	};
161    key	<AE06> {	[		6, Cyrillic_HARDSIGN	]	};
162    key	<AE07> {	[		7,	 ampersand	]	};
163    key	<AE08> {	[		8,        asterisk	]	};
164    key	<AE09> {	[		9,	 parenleft	]	};
165    key	<AE10> {	[		0,	parenright	]	};
166    key <AE11> {	[	    minus,	underscore	]	};
167
168    key	<AB09> {	[	   period,	   greater	]	};
169    key	<AB10> {	[	    slash,	  question	]	};
170    key	<AB08> {	[	    comma,	      less	]	};
171    key	<AC10> {	[	semicolon,	     colon	]	};
172    key	<AC11> {	[      apostrophe,	  quotedbl	]	};
173    key	<LSGT> {	[	      bar,	 brokenbar	]	};
174
175    key	<TLDE> {	[     Cyrillic_yu,     Cyrillic_YU	]	};
176    key	<LatQ> {	[     Cyrillic_ya,     Cyrillic_YA	]	};
177    key	<LatZ> {	[     Cyrillic_ze,     Cyrillic_ZE	]	};
178    key	<LatS> {	[     Cyrillic_es,     Cyrillic_ES	]	};
179    key	<LatA> {	[      Cyrillic_a,	Cyrillic_A	]	};
180    key	<LatW> {	[     Cyrillic_ve,     Cyrillic_VE	]	};
181    key	<LatC> {	[    Cyrillic_tse,    Cyrillic_TSE	]	};
182    key	<LatX> {	[     Cyrillic_ha,     Cyrillic_HA	]	};
183    key	<LatD> {	[     Cyrillic_de,     Cyrillic_DE	]	};
184    key	<LatE> {	[     Cyrillic_ie,     Cyrillic_IE	]	};
185    key	<LatV> {	[    Cyrillic_zhe,    Cyrillic_ZHE	]	};
186    key	<LatF> {	[     Cyrillic_ef,     Cyrillic_EF	]	};
187    key	<LatT> {	[     Cyrillic_te,     Cyrillic_TE	]	};
188    key	<LatR> {	[     Cyrillic_er,     Cyrillic_ER	]	};
189    key	<LatN> {	[     Cyrillic_en,     Cyrillic_EN	]	};
190    key	<LatB> {	[     Cyrillic_be,     Cyrillic_BE	]	};
191    key	<LatH> {	[     Cyrillic_che,     Cyrillic_CHE	]	};
192    key	<LatG> {	[    Cyrillic_ghe,    Cyrillic_GHE	]	};
193    key	<LatY> {	[   Cyrillic_yeru,   Cyrillic_YERU	]	};
194    key	<LatM> {	[     Cyrillic_em,     Cyrillic_EM	]	};
195    key	<LatJ> {	[ Cyrillic_shorti, Cyrillic_SHORTI	]	};
196    key	<LatU> {	[      Cyrillic_u,	Cyrillic_U	]	};
197    key	<LatK> {	[     Cyrillic_ka,     Cyrillic_KA	]	};
198    key	<LatI> {	[      Cyrillic_i,	Cyrillic_I	]	};
199    key	<LatO> {	[      Cyrillic_o,	Cyrillic_O	]	};
200    key	<LatL> {	[     Cyrillic_el,     Cyrillic_EL	]	};
201    key	<LatP> {	[     Cyrillic_pe,     Cyrillic_PE	]	};
202
203    key	<AD11> {	[    Cyrillic_sha,    Cyrillic_SHA	]	};
204    key	<AE12> {	[ Cyrillic_softsign, Cyrillic_softsign  ]	};
205    key	<AD12> {	[  Cyrillic_shcha,  Cyrillic_SHCHA	]	};
206    key	<BKSL> {	[      Cyrillic_e,	Cyrillic_E	]	};
207};
208
209partial alphanumeric_keys
210xkb_symbols "phonetic_winkeys" {
211
212    include "ru(phonetic)"
213    name[Group1]= "Russian (phonetic WinKeys)";
214
215    key	<LatX> {	[     Cyrillic_ha,     Cyrillic_HA	]	};
216    key	<LatH> {	[     Cyrillic_che,     Cyrillic_CHE	]	};
217    key	<AE12> {	[ Cyrillic_softsign, Cyrillic_softsign  ]	};
218
219};
220
221partial alphanumeric_keys
222xkb_symbols "tt" {
223    include "ru(winkeys)"
224    name[Group1]= "Tatar";
225
226    key.type[group1]="FOUR_LEVEL";
227
228    key <TLDE> {       [      0x010004bb,      0x010004ba,
229                             Cyrillic_io,     Cyrillic_IO      ]       };
230    key        <AD02> {        [      0x010004e9,      0x010004e8,
231                            Cyrillic_tse,    Cyrillic_TSE      ]       };
232    key        <AD09> {        [      0x010004d9,      0x010004d8,
233                          Cyrillic_shcha,  Cyrillic_SHCHA      ]       };
234    key        <AD12> {        [      0x010004af,      0x010004ae,
235                       Cyrillic_hardsign,Cyrillic_HARDSIGN     ]       };
236    key        <AC10> {        [      0x010004a3,      0x010004a2,
237                            Cyrillic_zhe,    Cyrillic_ZHE      ]       };
238    key        <AB07> {        [      0x01000497,      0x01000496,
239                       Cyrillic_softsign,Cyrillic_SOFTSIGN     ]       };
240
241    include "level3(ralt_switch)"
242
243};
244
245partial alphanumeric_keys
246xkb_symbols "os_legacy" {
247    include "ru(common)"
248
249    name[Group1]= "Ossetian (legacy)";
250
251    key	<TLDE> {	[      Cyrillic_e,      Cyrillic_E	]	};
252    key	<AC07> {	[      Cyrillic_o,	Cyrillic_O, Cyrillic_io, Cyrillic_IO	]	};
253    key	<AC11> {	[      0x010004D5,      0x010004D4      ]	};
254};
255
256partial alphanumeric_keys
257xkb_symbols "os_winkeys" {
258    include "ru(winkeys)"
259
260    name[Group1]= "Ossetian (WinKeys)";
261
262    key	<TLDE> {	[      Cyrillic_e,      Cyrillic_E	]	};
263    key	<AC07> {	[      Cyrillic_o,	Cyrillic_O, Cyrillic_io, Cyrillic_IO	]	};
264    key	<AC11> {	[      0x010004D5,      0x010004D4      ]	};
265};
266
267partial alphanumeric_keys
268xkb_symbols "cv" {
269    include "ru(winkeys)"
270
271    name[Group1]= "Chuvash";
272
273    key.type[group1]="FOUR_LEVEL";
274
275    key        <AD03> {        [      Cyrillic_u,	Cyrillic_U,
276                          U04F3,    U04F2      ]       };
277    key        <AD05> {        [      Cyrillic_ie,     Cyrillic_IE,
278                          U04D7,    U04D6     ]       };
279    key        <AC04> {        [      Cyrillic_a,	Cyrillic_A,
280                          U04D1,    U04D0      ]       };
281    key        <AB03> {        [      Cyrillic_es,     Cyrillic_ES,
282                          U04AB,    U04AA      ]       };
283
284    include "level3(ralt_switch)"
285};
286
287partial alphanumeric_keys
288xkb_symbols "udm" {
289    include "ru(winkeys)"
290
291    name[Group1]= "Udmurt";
292
293    key.type[group1]="FOUR_LEVEL";
294
295    key	<AE01> {	[	 question,	    exclam,    1,       1 	]	};
296    key	<AE02> {	[	parenleft,        quotedbl,    2,       2	]	};
297    key	<AE03> {	[      parenright,      numerosign,    3,       3	]	};
298    key	<AE04> {	[	    colon,       semicolon,    4,       4	]	};
299    key	<AE05> {	[	 asterisk,	   percent,    5,       5	]	};
300    key	<AE06> {	[      0x010004dd,	0x010004dc,    6,       6	]	};
301    key	<AE07> {	[      0x010004e7,	0x010004e6,    7,       7	]	};
302    key	<AE08> {	[      0x010004f5,	0x010004f4,    8,       8	]	};
303    key	<AE09> {	[      0x010004e5,	0x010004e4,    9,       9	]	};
304    key	<AE10> {	[      0x010004df,	0x010004de,    0,       0	]	};
305
306    include "level3(ralt_switch)"
307};
308
309partial alphanumeric_keys
310xkb_symbols "cv_latin" {
311    include "us(alt-intl)"
312
313    name[Group1]= "Chuvash (Latin)";
314
315    key.type[group1]="FOUR_LEVEL";
316
317    key        <AD01> {	[	  q,	Q,    0x01000161,       0x01000160 ] };
318    key        <AD02> {	[	  w,	W,    udiaeresis,       Udiaeresis ] };
319    key        <AD03> { [         e,	E,    0x01000115,	0x01000114 ] };
320    key        <AD07> {	[	  u,	U,    udiaeresis,       Udiaeresis ] };
321    key        <AD08> {	[	  i,	I,    0x0100012d,       0x0100012c ] };
322    key        <AD09> {	[	  o,	O,    odiaeresis,       Odiaeresis ] };
323    key        <AC01> { [	  a,    A,        abreve,           Abreve ] };
324    key        <AC02> { [	  s,    S,      scedilla,         Scedilla ] };
325    key        <AC05> { [	  g,    G,        gbreve,           Gbreve ] };
326    key        <AC07> { [	  j,    J,    0x01000131,       0x01000130 ] };
327    key        <AB03> { [         c,    C,      ccedilla,         Ccedilla ] };
328
329    include "level3(ralt_switch)"
330
331};
332
333// Komi language layout
334// based on
335// russian standard keyboard
336// Vlad Shakhov <lumpen.intellectual@gmail.com>
337// Last Changes 2007/10/23 by Vlad Shakhov <lumpen.intellectual@gmail.com>
338
339partial alphanumeric_keys
340xkb_symbols "kom" {
341
342    include "ru(winkeys)"
343
344    name[Group1]= "Komi";
345
346    key.type[group1]="FOUR_LEVEL_ALPHABETIC";
347
348// cyrilllic o with diaeresis 
349    key	<AC07> { [ 	Cyrillic_o,		Cyrillic_O,		
350			U04E7,  		U04E6		] };
351
352// hard I as additional key for soft Cyrillic_I 
353    key <AB05> { [      Cyrillic_i,		Cyrillic_I,
354			Ukrainian_i,     	Ukrainian_I     ] };
355
356    include "level3(ralt_switch)"
357};
358
359// Yakut language layout
360// 2008/04/23 Yakov Aleksandrov <bertjickty@yandex.ru>
361// 2008/04/23 Anatoliy Zhozhikov <jav@sitc.ru>
362// 2008/04/23 Aleksandr Varlamov
363partial alphanumeric_keys
364xkb_symbols "sah" {
365
366    include "ru(winkeys)"
367
368    name[Group1]= "Yakut";
369
370    key.type[group1]="FOUR_LEVEL_ALPHABETIC";
371
372    key <TLDE> { [	Cyrillic_io,		Cyrillic_IO,
373    			U04EB,			U04EA			] };
374    key <AD01> { [	Cyrillic_shorti,	Cyrillic_SHORTI,
375			U048B,			U048A			] };
376    key <AD03> { [	Cyrillic_u,		Cyrillic_U,
377			Cyrillic_u_straight,	Cyrillic_U_straight	] };
378    key <AD04> { [	Cyrillic_ka,		Cyrillic_KA,
379    			U04C4,			U04C3			] };
380    key <AD06> { [	Cyrillic_en,		Cyrillic_EN,
381			U04A5,			U04A4			] };
382    key <AD07> { [	Cyrillic_ghe,		Cyrillic_GHE,
383			U0495,			U0494			] };
384    key <AD10> { [	Cyrillic_ze,		Cyrillic_ZE,
385    			U04E1,			U04E0			] };
386    key <AD11> { [	Cyrillic_ha,		Cyrillic_HA,
387			Cyrillic_shha,		Cyrillic_SHHA		] };
388    key <AC07> { [	Cyrillic_o,		Cyrillic_O,
389			Cyrillic_o_bar,		Cyrillic_O_bar		] };
390    key <AC10> { [	Cyrillic_zhe,		Cyrillic_ZHE,
391    			U0461,			U0460			] };
392    key <AB02> { [	Cyrillic_che,		Cyrillic_CHE,
393    			Cyrillic_u_macron,	Cyrillic_U_macron	] };
394    key <AB04> { [	Cyrillic_em,		Cyrillic_EM,
395    			U04C8,			U04C7			] };
396    key <AB05> { [	Cyrillic_i,		Cyrillic_I,
397			Cyrillic_i_macron,	Cyrillic_I_macron	] };
398
399    include "level3(ralt_switch)"
400};
401
402
403//Kalmyk language layout
404//based on the Kalmyk language layout: http://soft.oyrat.org/
405//Nikolay Korneev <halmg@oyrat.org>
406//Toli Miron <mirontoli@gmail.com>
407
408partial alphanumeric_keys
409xkb_symbols "xal" {
410    include "ru(winkeys)"
411
412    name[Group1]= "Kalmyk";
413
414    key.type[group1]="FOUR_LEVEL";
415
416    key <AE01> {        [                     question,                  exclam,               1      ]       };
417    key <AE02> {        [      	            numerosign,                quotedbl,               2      ]       };
418    key <AE03> {        [          Cyrillic_u_straight,     Cyrillic_U_straight,               3      ]       };
419    key <AE04> {        [               Cyrillic_schwa,          Cyrillic_SCHWA,               4      ]       };
420    key <AE05> {        [                     asterisk,                 percent,               5      ]       };
421    key <AE06> {        [        Cyrillic_en_descender,   Cyrillic_EN_descender,               6      ]       };
422    key <AE07> {        [               Cyrillic_o_bar,          Cyrillic_O_bar,               7      ]       };
423    key <AE08> {        [                Cyrillic_shha,           Cyrillic_SHHA,               8      ]       };
424    key <AE09> {        [       Cyrillic_zhe_descender,  Cyrillic_ZHE_descender,               9      ]       };
425    key <AE10> {        [                    semicolon,                   colon,               0      ]       };
426
427    key <TLDE> {        [                    parenleft,               parenright, Cyrillic_io, Cyrillic_IO    ]       };
428
429    key <AD02> {        [                 Cyrillic_tse,             Cyrillic_TSE,         dollar      ]       };
430    key <AD03> {        [                   Cyrillic_u,               Cyrillic_U,       EuroSign      ]       };
431    key <AD04> {        [                  Cyrillic_ka,              Cyrillic_KA,     registered      ]       };
432    key <AD05> {        [                  Cyrillic_ie,              Cyrillic_IE,      trademark      ]       };
433    key <AD11> {        [                  Cyrillic_ha,              Cyrillic_HA,    bracketleft      ]       };
434    key <AD12> {        [            Cyrillic_hardsign,        Cyrillic_HARDSIGN,   bracketright      ]       };
435    key <AC11> {        [                   Cyrillic_e,               Cyrillic_E,     apostrophe      ]       };
436    key <AB03> {        [                  Cyrillic_es,              Cyrillic_ES,      copyright      ]       };
437    key <AB08> {        [                  Cyrillic_be,              Cyrillic_BE,           less      ]       };
438    key <AB09> {        [                  Cyrillic_yu,              Cyrillic_YU,        greater      ]       };
439
440    include "level3(ralt_switch)"
441};
442
443partial alphanumeric_keys
444xkb_symbols "dos" {
445
446    include "ru(common)"
447
448    name[Group1]= "Russian (DOS)";
449
450    key        <TLDE> {        [   parenright,  parenleft   ] };
451    key        <AE04> {        [   4,           currency    ] };
452    key        <AE09> {        [   9,           question    ] };
453    key        <AE10> {        [   0,           percent     ] };
454
455    key        <AB10> {        [   Cyrillic_io, Cyrillic_IO ] };
456};
457
458partial alphanumeric_keys
459xkb_symbols "bak" {
460    include "ru(winkeys)"
461
462    name[Group1]= "Bashkirian";
463    key.type[group1]="FOUR_LEVEL";
464
465    key <TLDE> { [     0x010004d9,       0x010004d8,   Cyrillic_io,   Cyrillic_IO      ] };
466    key <AE01> { [     exclam,           quotedbl,      1,       1       ] };
467    key <AE02> { [     0x010004e9,       0x010004e8,    2,       2 ] };
468    key <AE03> { [     0x010004a1,       0x010004a0,    3,       3 ] };
469    key <AE04> { [     0x01000493,       0x01000492,    4,       4 ] };
470    key <AE05> { [     0x010004ab,       0x010004aa,    5,       5 ] };
471    key <AE06> { [     colon,            semicolon,     6,       6 ] };
472    key <AE07> { [     0x01000499,       0x01000498,    7,       7 ] };
473    key <AE08> { [     0x010004bb,       0x010004ba,    8,       8 ] };
474    key <AE09> { [     question,         parenleft,     9,       9 ] };
475    key <AE10> { [     numerosign,       parenright,    0,       0 ] };
476    key <AE11> { [     minus,            percent,       minus,    underscore     ]};
477    key <AE12> { [     0x010004af, 0x010004ae,    equal,  plus    ]};
478    key <BKSL> { [     0x010004a3, 0x010004a2,    backslash,        slash     ]};	
479
480    include "level3(ralt_switch)"
481};
482
483// Serbian charecters added as third level symbols to Russian keyboard layout.
484
485partial alphanumeric_keys
486xkb_symbols "srp" {
487    include "ru(common)"
488    include "level3(ralt_switch)"
489
490    name[Group1]= "Serbian (Russia)";
491
492    key <AE03> { [ 3, numerosign ] };
493    key <AE04> { [ 4, semicolon ] };
494    key <AE05> { [ 5, percent ] };
495    key <AE06> { [ 6, colon ] };
496    key <AE07> { [ 7, question ] };
497    key <AE08> { [ 8, asterisk ] };
498    key <AB10> { [ period, comma ] };
499    key <BKSL> { [ backslash, slash ] };
500    key	<AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, U458, U408 ] };
501    key	<AD06> { [ Cyrillic_en, Cyrillic_EN, U45A, U40A ] };
502    key	<AC08> { [ Cyrillic_el, Cyrillic_EL, U459, U409 ] };
503    key	<AC09> { [ Cyrillic_de, Cyrillic_DE, U45F, U40F ] };
504    key	<AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, U452, U402 ] };
505    key	<AB02> { [ Cyrillic_che, Cyrillic_CHE, U45B, U40B ] };
506};
507
508// Mari language layout
509// based on Russian standard keyboard
510// http://www.marlamuter.ru/
511partial alphanumeric_keys
512xkb_symbols "chm" {
513    include "ru(common)"
514
515    name[Group1]= "Mari";
516
517    key.type[group1]="FOUR_LEVEL_ALPHABETIC";
518    key <AC04> { [      Cyrillic_a,     Cyrillic_A,    U04D3,       U04D2     ] };
519    key <AD03> { [      Cyrillic_u, Cyrillic_U,    U04F1,       U04F0     ] };
520    key <AC02> { [      Cyrillic_ui,    Cyrillic_UI,   U04F9,       U04F8     ] };
521    key <AD06> { [      Cyrillic_n, Cyrillic_N,    U04A5,       U04A4     ] };
522    key <AC11> { [      Cyrillic_e, Cyrillic_E,    U04E9,       U04E8     ] };
523    key <AC10> { [      Cyrillic_zh,    Cyrillic_ZH,   U04EB,       U04EA     ] };
524    key <AC01> { [      Cyrillic_f, Cyrillic_F,     UF537,      UF536     ] };
525
526    include "level3(ralt_switch)"
527};
528
529// EXTRAS:
530
531// Church Slavonic language layout
532// based on
533// russian standard keyboard
534// Aleksandr Andreev and Yuri Shardt 
535// Last Changes 2010/08/01. Contact <aleksandr.andreev@gmail.com>
536
537partial alphanumeric_keys
538xkb_symbols "chu"
539{
540	    name[Group1]= "Church Slavonic";
541	    key <TLDE> { [ U0457, U0407, U0482, U20DD ] }; // ї Ї ҂ e.g: а⃝ where the last is a combining ten thousands sign
542	    key <AE01> { [ U0461, U0460, U047D, U047C] }; // ѡ Ѡ ѽ Ѽ
543	    key <AE02> { [ U0454, U0404, U0465, U0464] }; // є Є ѥ Ѥ
544	    key <AE03> { [ U046F, U046E, U0469, U0468] }; // ѯ Ѯ ѩ Ѩ
545	    key <AE04> { [ U0471, U0470, U046D, U046C] }; // ѱ Ѱ ѭ Ѭ
546	    key <AE05> { [ U0473, U0472, UA657, UA656] }; // ѳ Ѳ iotified A
547	    key <AE06> { [ U0475, U0474, U0477, U0476] }; // ѵ Ѵ ѷ Ѷ
548	    key <AE07> { [ U047B, U047A, UA64D, UA64C] }; // ѻ Ѻ ꙍ Ꙍ
549	    key <AE08> { [ U047F, U047E, U046B, U046A] }; // ѿ Ѿ ѫ Ѫ
550	    key <AE09> { [ U0455, U0405, parenleft, U002A ] }; // ѕ Ѕ ( *
551	    key <AE10> { [ Cyrillic_u,	Cyrillic_U, parenright, U0488 ] }; // у У ) NB: for diagraph Ouk, use Cyrillic_o + Cyrillic_u
552	    key <AE11> { [ U0483, U0486, U0487, U005F] }; // а҃ а҆ а҇, _ (titlo, psili, pokrytie, underscore)
553	    key <AE12> { [ U0301, U0300, U0484, UA67E] }; //  а̀ а́ а҄ ꙾ (oxia, varia, kamora, kavyka)
554	    key	<AD01> {	[ Cyrillic_shorti, Cyrillic_SHORTI, U0456	]	};
555	    key	<AD02> {	[    Cyrillic_tse,    Cyrillic_TSE, U2DF0	]	};
556	    key	<AD03> {	[   UA64B,  UA64A, U2DF9  	]	}; // Cyrillic monograph Uk (not U)!
557	    key	<AD04> {	[     Cyrillic_ka,     Cyrillic_KA, U2DE6	]	};
558	    key	<AD05> {	[     Cyrillic_ie,     Cyrillic_IE, U2DF7	]	};
559	    key	<AD06> {	[     Cyrillic_en,     Cyrillic_EN, U2DE9	]	};
560	    key	<AD07> {	[    Cyrillic_ghe,    Cyrillic_GHE, U2DE2	]	};
561	    key	<AD08> {	[    Cyrillic_sha,    Cyrillic_SHA, U2DF2	]	};
562	    key	<AD09> {	[  Cyrillic_shcha,  Cyrillic_SHCHA, U2DF3	]	};
563	    key	<AD10> {	[     Cyrillic_ze,     Cyrillic_ZE, U2DE5	]	};
564	    key	<AD11> {	[     Cyrillic_ha,     Cyrillic_HA, U2DEF	]	};
565	    key	<AD12> {	[Cyrillic_hardsign,Cyrillic_HARDSIGN, UA67D	]	}; // Payerok
566	    key <BKSL> { [backslash, slash, colon, question] }; // \ / : ? (note, for Slavonic question use semicolon
567	    key	<AC01> {	[     Cyrillic_ef,     Cyrillic_EF	]	};
568	    key	<AC02> {	[   Cyrillic_yeru,   Cyrillic_YERU	]	};
569	    key	<AC03> {	[     Cyrillic_ve,     Cyrillic_VE, U2DE1	]	};
570	    key	<AC04> {	[      Cyrillic_a,	Cyrillic_A, U2DF6	]	};
571	    key	<AC05> {	[     Cyrillic_pe,     Cyrillic_PE, U2DEB	]	};
572	    key	<AC06> {	[     Cyrillic_er,     Cyrillic_ER, U2DEC	]	};
573	    key	<AC07> {	[      Cyrillic_o,	Cyrillic_O, U2DEA	]	};
574	    key	<AC08> {	[     Cyrillic_el,     Cyrillic_EL, U2DE7	]	};
575	    key	<AC09> {	[     Cyrillic_de,     Cyrillic_DE, U2DE3	]	};
576	    key	<AC10> {	[    Cyrillic_zhe,    Cyrillic_ZHE, U2DE4	]	};
577	    key	<AC11> {	[     U0463,	U0462, U2DFA	]	}; // Yat
578	    key	<AB01> {	[    U0467, U0466, U2DFD 	]	}; // Small Yus
579	    key	<AB02> {	[    Cyrillic_che,    Cyrillic_CHE, U2DF1	]	};
580	    key	<AB03> {	[     Cyrillic_es,     Cyrillic_ES, U2DED	]	};
581	    key	<AB04> {	[     Cyrillic_em,     Cyrillic_EM, U2DE8	]	};
582	    key	<AB05> {	[      Cyrillic_i,	Cyrillic_I	]	};
583	    key	<AB06> {	[     Cyrillic_te,     Cyrillic_TE, U2DEE	]	};
584	    key	<AB07> {	[Cyrillic_softsign,Cyrillic_SOFTSIGN	]	};
585	    key	<AB08> {	[     Cyrillic_be,     Cyrillic_BE, U2DE0	]	};
586	    key	<AB09> {	[     Cyrillic_yu,     Cyrillic_YU, U2DFB	]	};
587	    key <AB10> {        [          period,    comma, semicolon, exclam      ]       };
588};
589
590
591// RUU (Russian-Ukrainian United keyboard layout).
592// Modified Russian standart keyboard with third level contains Ukrainian
593// and Belorusian alphabetic letters and commonly used Unicode symbols.
594// Description http://wiki.opennet.ru/RUU [russian]
595// Vasyĺ V. Vercynśkyj <fuckel@ukr.net>
596// Last Changes 2011/05/11
597//
598// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
599// │ ' ~ │ ! ≈ │ " ∞ │ № ₴ │ ; € │ % ‰ │ : ≤ │ ? ≥ │ * × │ ( { │ ) } │ _ – │ + ± ┃ ⌫       ┃
600// │ ’  ́ │ 1 ÷ │ 2 ¤ │ 3 § │ 4 $ │ 5 ° │ 6 < │ 7 > │ 8 • │ 9 [ │ 0 ] │ - — │ = ≠ ┃Backspace┃
601// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
602// ┃       ┃ Й   │ Ц   │ У Ў │ К   │ Е Ё │ Н   │ Г Ґ │ Ш   │ Щ   │ З   │ Х   │ Ъ Ї ┃ Enter ┃
603// ┃ Tab ↹ ┃ й   │ ц   │ у ў │ к ® │ е ё │ н   │ г ґ │ ш   │ щ   │ з   │ х   │ ъ ї ┃   ⏎   ┃
604// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓      ┃
605// ┃ Caps   ┃ Ф   │ Ы І │ В   │ А   │ П   │ Р   │ О   │ Л   │ Д   │ Ж   │ Э Є │ | ¦ ┃      ┃
606// ┃ Lock ⇬ ┃ ф   │ ы і │ в   │ а   │ п   │ р   │ о   │ л   │ д   │ ж   │ э є │ / \ ┃      ┃
607// ┣━━━━━━━━┻━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┲━━━┷━━━━━┻━━━━━━┫
608// ┃          ┃ Я   │ Ч   │ С   │ М   │ И   │ Т   │ Ь   │ Б „ │ Ю “ │ , … ┃                ┃
609// ┃  Shift ⇧ ┃ я   │ ч   │ с © │ м   │ и   │ т ™ │ ь µ │ б « │ ю » │ . / ┃     Shift ⇧    ┃
610// ┣━━━━━━━┳━━┻━━━━┳┷━━━━━┷┱────┴─────┴─────┴─────┴─────┴─────┴┲━━━━┷━━┳━━┻━━━━┳━━━━━━━┳━━━┛
611// ┃       ┃       ┃       ┃                                   ┃       ┃       ┃       ┃
612// ┃ Ctrl  ┃ Meta  ┃  Alt  ┃                Space              ┃AltGr ⇮┃ Menu  ┃ Ctrl  ┃
613// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
614
615
616
617partial alphanumeric_keys
618xkb_symbols "ruu" {
619    include "ru(common)"
620
621    name[Group1]= "Russian (with Ukrainian-Belorussian layout)";
622
623    key <TLDE> {    [	U2019,		apostrophe,	U0301,		asciitilde	]	};	// Apostrophe and Stress symbol
624    key <AE01> {    [	1,		exclam,		U00F7,		U2248		]	};	// Division Sign and Almost Equal To
625    key <AE02> {    [	2,		quotedbl,	currency,	infinity	]	};
626    key <AE03> {    [	3,		numerosign,	U00A7,		U20B4		]	};	// Paragraph and Hryvnia sign
627    key <AE04> {    [	4,		semicolon,	dollar,		EuroSign	]	};
628    key <AE05> {    [	5,		percent,	degree,		U2030		]	};	// Per Mille Sign
629    key <AE06> {    [	6,		colon,		less,		U2264		]	};	// Less-Than Or Equal To
630    key <AE07> {    [	7,		question,	greater,	U2265		]	};	// Greater-Than Or Equal To
631    key <AE08> {    [	8,		asterisk,	enfilledcircbullet, U00D7	]	};	// Multiplication Sign
632    key <AE09> {    [	9,		parenleft,	bracketleft,	braceleft	]	};
633    key <AE10> {    [	0,		parenright,	bracketright,	braceright	]	};
634    key <AE11> {    [	minus,		underscore,	emdash,		endash		]	};
635    key <AE12> {    [	equal,		plus,		notequal,	plusminus	]	};
636    key <AD03> {    [	Cyrillic_u,	Cyrillic_U, Byelorussian_shortu, Byelorussian_SHORTU ]	};
637    key <AD04> {    [	Cyrillic_ka,	Cyrillic_KA,	registered			]	};	// Registered tm
638    key <AD05> {    [	Cyrillic_ie,	Cyrillic_IE,	Cyrillic_io,	Cyrillic_IO	]	};
639    key <AD07> {    [Cyrillic_ghe, Cyrillic_GHE, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
640    key <AD10> {    [	Cyrillic_ze,	Cyrillic_ZE,	U00B6				]	};	// Pilcrow Sign
641    key <AD12> {    [Cyrillic_hardsign,	Cyrillic_HARDSIGN, Ukrainian_yi, Ukrainian_YI	]	};
642    key <AC02> {    [	Cyrillic_yeru,	Cyrillic_YERU,	Ukrainian_i,  Ukrainian_I	]	};
643    key <AC11> {    [	Cyrillic_e,	Cyrillic_E,	Ukrainian_ie,Ukrainian_IE	]	};
644    key <BKSL> {    [	slash,		bar,		backslash,	U00A6		]	};	// Broken Bar
645    key <AB03> {    [	Cyrillic_es,	Cyrillic_ES,	copyright			]	};
646    key <AB06> {    [	Cyrillic_te,	Cyrillic_TE,	trademark			]	};
647    key <AB07> {    [	Cyrillic_softsign, Cyrillic_SOFTSIGN, U00B5			]	};	// Micro Sign
648    key <AB08> {    [	Cyrillic_be,	Cyrillic_BE,	guillemotleft,	doublelowquotemark ]	};
649    key <AB09> {    [	Cyrillic_yu,	Cyrillic_YU,	guillemotright,	leftdoublequotemark ]	};
650    key <AB10> {    [	period,		comma,		slash,		ellipsis	]	};
651
652    include "level3(ralt_switch)"
653};
654
655partial alphanumeric_keys
656	xkb_symbols "sun_type6" {
657	include "sun_vndr/ru(sun_type6)"
658};
659
660// Apple layout
661partial alphanumeric_keys
662xkb_symbols "mac" {
663include "ru(common)"
664
665    name[Group1]= "Russian (Macintosh)";
666
667    key <LSGT> {	[	     less,	   greater	]	};
668    key <AE02> {	[		2,	  quotedbl	]	};
669    key <AE03> {        [               3,      numerosign     	]       };
670    key <AE04> {        [               4,         percent     	]       };
671    key <AE05> {        [               5,	     colon     	]       };
672    key <AE06> {        [               6,           comma     	]       };
673    key <AE07> {        [               7,	    period	]       };
674    key <AE08> {        [               8,       semicolon     	]       };
675    key <TLDE> {	[    bracketright,     bracketleft	]	};
676    key <BKSL> {        [       Cyrillic_io,   Cyrillic_IO      ]       };
677};
678