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