ru revision 1.1.1.22 1 // Keyboard layouts for Russia.
2 // AEN <aen (a] logic.ru>
3 // 2001/12/23 by Leon Kanter <leon (a] blackcatlinux.com>
4 // 2005/12/09 Valery Inozemtsev <shrek (a] altlinux.ru>
5 // 2018/07/15 @a13 (a.k.a. @dbvvmpg) and Stepanenko Andrey <ftvkyo2011 (a] yandex.ru>
6
7 // Windows layout
8 default partial alphanumeric_keys
9 xkb_symbols "winkeys" {
10
11 include "ru(common)"
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, U20BD ] };
20
21 key <AB10> { [ period, comma ] };
22 key <BKSL> { [ backslash, slash ] };
23 };
24
25 hidden partial alphanumeric_keys
26 xkb_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
42 key <AB10> { [ slash, question ] };
43 key <LSGT> { [ slash, bar ] };
44
45 key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] };
46 key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
47 key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] };
48 key <AD03> { [ Cyrillic_u, Cyrillic_U ] };
49 key <AD04> { [ Cyrillic_ka, Cyrillic_KA ] };
50 key <AD05> { [ Cyrillic_ie, Cyrillic_IE ] };
51 key <AD06> { [ Cyrillic_en, Cyrillic_EN ] };
52 key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] };
53 key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] };
54 key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
55 key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
56 key <AD11> { [ Cyrillic_ha, Cyrillic_HA ] };
57 key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
58
59 key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] };
60 key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU ] };
61 key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] };
62 key <AC04> { [ Cyrillic_a, Cyrillic_A ] };
63 key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] };
64 key <AC06> { [ Cyrillic_er, Cyrillic_ER ] };
65 key <AC07> { [ Cyrillic_o, Cyrillic_O ] };
66 key <AC08> { [ Cyrillic_el, Cyrillic_EL ] };
67 key <AC09> { [ Cyrillic_de, Cyrillic_DE ] };
68 key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
69 key <AC11> { [ Cyrillic_e, Cyrillic_E ] };
70
71 key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] };
72 key <AB02> { [ Cyrillic_che, Cyrillic_CHE ] };
73 key <AB03> { [ Cyrillic_es, Cyrillic_ES ] };
74 key <AB04> { [ Cyrillic_em, Cyrillic_EM ] };
75 key <AB05> { [ Cyrillic_i, Cyrillic_I ] };
76 key <AB06> { [ Cyrillic_te, Cyrillic_TE ] };
77 key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
78 key <AB08> { [ Cyrillic_be, Cyrillic_BE ] };
79 key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] };
80
81 include "kpdl(comma)"
82 };
83
84 partial alphanumeric_keys
85 xkb_symbols "legacy" {
86
87 include "ru(common)"
88 name[Group1]= "Russian (legacy)";
89 };
90
91 partial alphanumeric_keys
92 xkb_symbols "olpc" {
93
94 include "ru(common)"
95
96 key <TLDE> { [ 0x01000451, 0x01000401, grave ] }; // ,
97 key <AE03> { [ 3, numbersign, 0x01002116 ] }; //
98 key <AE04> { [ 4, dollar, semicolon ] };
99 key <AE06> { [ 6, asciicircum, colon ] };
100 key <AE07> { [ 7, ampersand ] };
101 key <AE09> { [ 9, parenleft, acute ] };
102 key <AC12> { [ backslash, bar, slash ] };
103
104 include "group(olpc)"
105 };
106
107 partial alphanumeric_keys
108 xkb_symbols "typewriter" {
109
110 include "ru(common)"
111 name[Group1]= "Russian (typewriter)";
112
113 key <TLDE> { [ bar, plus ] };
114 key <AE01> { [ numerosign, 1 ] };
115 key <AE02> { [ minus, 2 ] };
116 key <AE03> { [ slash, 3 ] };
117 key <AE04> { [ quotedbl, 4 ] };
118 key <AE05> { [ colon, 5 ] };
119 key <AE06> { [ comma, 6 ] };
120 key <AE07> { [ period, 7 ] };
121 key <AE08> { [ underscore, 8 ] };
122 key <AE09> { [ question, 9 ] };
123 key <AE10> { [ percent, 0 ] };
124 key <AE11> { [ exclam, equal ] };
125 key <AE12> { [ semicolon, backslash ] };
126
127 key <BKSL> { [ parenright, parenleft ] };
128
129 key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
130 key <AB10> { [ Cyrillic_io, Cyrillic_IO ] };
131 };
132
133 partial alphanumeric_keys
134 xkb_symbols "typewriter-legacy" {
135
136 include "ru(common)"
137 name[Group1]= "Russian (typewriter, legacy)";
138
139 key <TLDE> { [ apostrophe, quotedbl ] };
140 key <AE01> { [ exclam, 1 ] };
141 key <AE02> { [ numerosign, 2 ] };
142 key <AE03> { [ slash, 3 ] };
143 key <AE04> { [ semicolon, 4 ] };
144 key <AE05> { [ colon, 5 ] };
145 key <AE06> { [ comma, 6 ] };
146 key <AE07> { [ period, 7 ] };
147 key <AE08> { [ underscore, 8 ] };
148 key <AE09> { [ question, 9 ] };
149 key <AE10> { [ percent, 0 ] };
150
151 key <BKSL> { [ parenleft, parenright ] };
152
153 key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
154 key <AB10> { [ Cyrillic_io, Cyrillic_IO ] };
155 };
156
157 partial alphanumeric_keys
158 xkb_symbols "gost-6431-75-48" {
159
160 include "ru(typewriter)"
161 name[Group1]= "Russian (GOST 6431-75)";
162
163 key <TLDE> { [ section, asciitilde ] };
164 key <AE01> { [ parenleft, 1 ] };
165 key <AE02> { [ parenright, 2 ] };
166 key <AE03> { [ minus, 3 ] };
167 key <AE04> { [ slash, 4 ] };
168 key <AE05> { [ quotedbl, 5 ] };
169 key <AE06> { [ colon, 6 ] };
170 key <AE07> { [ comma, 7 ] };
171 key <AE08> { [ period, 8 ] };
172 key <AE09> { [ underscore, 9 ] };
173 key <AE10> { [ question, 0 ] };
174 key <AE11> { [ percent, plus ] };
175 key <AE12> { [ exclam, equal ] };
176
177 key <BKSL> { [ semicolon, numerosign ] };
178
179 key <LSGT> { [ emdash, endash ] };
180 };
181
182 partial alphanumeric_keys
183 xkb_symbols "gost-14289-88" {
184
185 include "ru(typewriter)"
186 name[Group1]= "Russian (GOST 14289-88)";
187
188 key <TLDE> { [ backslash, asterisk, asciitilde, section ] };
189 key <AE01> { [ parenleft, 1, less, guillemotleft ] };
190 key <AE02> { [ parenright, 2, at, guillemotright ] };
191 key <AE03> { [ minus, 3, numbersign, numerosign ] };
192 key <AE04> { [ slash, 4, U20BD, dollar ] }; // ruble
193 key <AE05> { [ quotedbl, 5, greater ] };
194 key <AE06> { [ colon, 6, asciicircum ] };
195 key <AE07> { [ comma, 7, ampersand ] };
196 key <AE08> { [ period, 8, apostrophe, dead_acute ] };
197 key <AE09> { [ underscore, 9, braceleft, U201E ] };
198 key <AE10> { [ question, 0, braceright, U201F ] };
199 key <AE11> { [ percent, plus, bracketleft, plusminus ] };
200 key <AE12> { [ exclam, equal, bracketright ] };
201
202 key <BKSL> { [ semicolon, bar, grave ] };
203
204 key <LSGT> { [ emdash, endash ] };
205 };
206
207 partial alphanumeric_keys
208 xkb_symbols "phonetic" {
209
210 name[Group1]= "Russian (phonetic)";
211
212 key <AE01> { [ 1, exclam ] };
213 key <AE02> { [ 2, at ] };
214 key <AE03> { [ 3, Cyrillic_io ] };
215 key <AE04> { [ 4, Cyrillic_IO ] };
216 key <AE05> { [ 5, Cyrillic_hardsign ] };
217 key <AE06> { [ 6, Cyrillic_HARDSIGN ] };
218 key <AE07> { [ 7, ampersand ] };
219 key <AE08> { [ 8, asterisk ] };
220 key <AE09> { [ 9, parenleft ] };
221 key <AE10> { [ 0, parenright ] };
222 key <AE11> { [ minus, underscore ] };
223
224 key <AB09> { [ period, greater ] };
225 key <AB10> { [ slash, question ] };
226 key <AB08> { [ comma, less ] };
227 key <AC10> { [ semicolon, colon ] };
228 key <AC11> { [ apostrophe, quotedbl ] };
229 key <LSGT> { [ bar, brokenbar ] };
230
231 key <TLDE> { [ Cyrillic_yu, Cyrillic_YU ] };
232 key <LatQ> { [ Cyrillic_ya, Cyrillic_YA ] };
233 key <LatZ> { [ Cyrillic_ze, Cyrillic_ZE ] };
234 key <LatS> { [ Cyrillic_es, Cyrillic_ES ] };
235 key <LatA> { [ Cyrillic_a, Cyrillic_A ] };
236 key <LatW> { [ Cyrillic_ve, Cyrillic_VE ] };
237 key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] };
238 key <LatX> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
239 key <LatD> { [ Cyrillic_de, Cyrillic_DE ] };
240 key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] };
241 key <LatV> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
242 key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] };
243 key <LatT> { [ Cyrillic_te, Cyrillic_TE ] };
244 key <LatR> { [ Cyrillic_er, Cyrillic_ER ] };
245 key <LatN> { [ Cyrillic_en, Cyrillic_EN ] };
246 key <LatB> { [ Cyrillic_be, Cyrillic_BE ] };
247 key <LatH> { [ Cyrillic_ha, Cyrillic_HA ] };
248 key <LatG> { [ Cyrillic_ghe, Cyrillic_GHE ] };
249 key <LatY> { [ Cyrillic_yeru, Cyrillic_YERU ] };
250 key <LatM> { [ Cyrillic_em, Cyrillic_EM ] };
251 key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
252 key <LatU> { [ Cyrillic_u, Cyrillic_U ] };
253 key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] };
254 key <LatI> { [ Cyrillic_i, Cyrillic_I ] };
255 key <LatO> { [ Cyrillic_o, Cyrillic_O ] };
256 key <LatL> { [ Cyrillic_el, Cyrillic_EL ] };
257 key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] };
258
259 key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] };
260 key <AE12> { [ Cyrillic_che, Cyrillic_CHE ] };
261 key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
262 key <BKSL> { [ Cyrillic_e, Cyrillic_E ] };
263 };
264
265 partial alphanumeric_keys
266 xkb_symbols "phonetic_winkeys" {
267
268 include "ru(phonetic)"
269 name[Group1]= "Russian (phonetic, Windows)";
270
271 key <LatX> { [ Cyrillic_ha, Cyrillic_HA ] };
272 key <LatH> { [ Cyrillic_che, Cyrillic_CHE ] };
273 key <AE12> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
274 };
275
276 partial alphanumeric_keys
277 xkb_symbols "phonetic_YAZHERTY" {
278 include "ru(phonetic_winkeys)"
279 name[Group1]= "Russian (phonetic, YAZHERTY)";
280 key <LatW> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
281 key <LatV> { [ Cyrillic_ve, Cyrillic_VE ] };
282 };
283
284
285 partial alphanumeric_keys
286 xkb_symbols "tt" {
287
288 include "ru(winkeys)"
289 name[Group1]= "Tatar";
290
291 key <TLDE> { [ Cyrillic_shha, Cyrillic_SHHA, Cyrillic_io, Cyrillic_IO ] };
292 key <AD02> { [ Cyrillic_o_bar, Cyrillic_O_bar, Cyrillic_tse, Cyrillic_TSE ] };
293 key <AD09> { [ Cyrillic_schwa, Cyrillic_SCHWA, Cyrillic_shcha, Cyrillic_SHCHA ] };
294 key <AD12> { [ Cyrillic_u_straight, Cyrillic_U_straight, Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
295 key <AC10> { [ Cyrillic_en_descender, Cyrillic_EN_descender, Cyrillic_zhe, Cyrillic_ZHE ] };
296 key <AB07> { [ Cyrillic_zhe_descender, Cyrillic_ZHE_descender, Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
297
298 include "level3(ralt_switch)"
299 };
300
301 partial alphanumeric_keys
302 xkb_symbols "os_legacy" {
303
304 include "ru(common)"
305 name[Group1]= "Ossetian (legacy)";
306
307 key <TLDE> { [ Cyrillic_e, Cyrillic_E ] };
308 key <AC07> { [ Cyrillic_o, Cyrillic_O, Cyrillic_io, Cyrillic_IO ] };
309 key <AC11> { [ 0x010004D5, 0x010004D4 ] };
310 };
311
312 partial alphanumeric_keys
313 xkb_symbols "os_winkeys" {
314
315 include "ru(winkeys)"
316 name[Group1]= "Ossetian (Windows)";
317
318 key <TLDE> { [ Cyrillic_e, Cyrillic_E ] };
319 key <AC07> { [ Cyrillic_o, Cyrillic_O, Cyrillic_io, Cyrillic_IO ] };
320 key <AC11> { [ 0x010004D5, 0x010004D4 ] };
321 };
322
323 partial alphanumeric_keys
324 xkb_symbols "cv" {
325
326 include "ru(winkeys)"
327 name[Group1]= "Chuvash";
328
329 key <AD03> { [ Cyrillic_u, Cyrillic_U, 0x010004f3, 0x010004f2 ] };
330 key <AD05> { [ Cyrillic_ie, Cyrillic_IE, 0x010004d7, 0x010004d6 ] };
331 key <AC04> { [ Cyrillic_a, Cyrillic_A, 0x010004d1, 0x010004d0 ] };
332 key <AB03> { [ Cyrillic_es, Cyrillic_ES, 0x010004ab, 0x010004aa ] };
333
334 include "level3(ralt_switch)"
335 };
336
337 partial alphanumeric_keys
338 xkb_symbols "udm" {
339
340 include "ru(winkeys)"
341 name[Group1]= "Udmurt";
342
343 key <AE01> { [ question, exclam, 1, 1 ] };
344 key <AE02> { [ parenleft, quotedbl, 2, 2 ] };
345 key <AE03> { [ parenright, numerosign, 3, 3 ] };
346 key <AE04> { [ colon, semicolon, 4, 4 ] };
347 key <AE05> { [ asterisk, percent, 5, 5 ] };
348 key <AE06> { [ 0x010004dd, 0x010004dc, 6, 6 ] };
349 key <AE07> { [ 0x010004e7, 0x010004e6, 7, 7 ] };
350 key <AE08> { [ 0x010004f5, 0x010004f4, 8, 8 ] };
351 key <AE09> { [ 0x010004e5, 0x010004e4, 9, 9 ] };
352 key <AE10> { [ 0x010004df, 0x010004de, 0, 0 ] };
353
354 include "level3(ralt_switch)"
355 };
356
357 partial alphanumeric_keys
358 xkb_symbols "cv_latin" {
359
360 include "us(alt-intl)"
361 name[Group1]= "Chuvash (Latin)";
362
363 key <AD01> { [ q, Q, 0x01000161, 0x01000160 ] };
364 key <AD02> { [ w, W, udiaeresis, Udiaeresis ] };
365 key <AD03> { [ e, E, 0x01000115, 0x01000114 ] };
366 key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
367 key <AD08> { [ i, I, 0x0100012d, 0x0100012c ] };
368 key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
369 key <AC01> { [ a, A, abreve, Abreve ] };
370 key <AC02> { [ s, S, scedilla, Scedilla ] };
371 key <AC05> { [ g, G, gbreve, Gbreve ] };
372 key <AC07> { [ j, J, 0x01000131, 0x01000130 ] };
373 key <AB03> { [ c, C, ccedilla, Ccedilla ] };
374
375 include "level3(ralt_switch)"
376 };
377
378 // Komi language layout
379 // Vlad Shakhov <lumpen.intellectual (a] gmail.com>
380 // last changes 2007/10/23
381 partial alphanumeric_keys
382 xkb_symbols "kom" {
383
384 include "ru(winkeys)"
385 name[Group1]= "Komi";
386
387 // cyrilllic o with diaeresis
388 key <AC07> { [ Cyrillic_o, Cyrillic_O, U04E7, U04E6 ] };
389
390 // hard I as additional key for soft Cyrillic_I
391 key <AB05> { [ Cyrillic_i, Cyrillic_I, Ukrainian_i, Ukrainian_I ] };
392
393 include "level3(ralt_switch)"
394 };
395
396 // Yakut language layout
397 // 2008/04/23 Yakov Aleksandrov <bertjickty (a] yandex.ru>
398 // 2008/04/23 Anatoliy Zhozhikov <jav (a] sitc.ru>
399 // 2008/04/23 Aleksandr Varlamov
400 partial alphanumeric_keys
401 xkb_symbols "sah" {
402
403 include "ru(winkeys)"
404 name[Group1]= "Yakut";
405
406 key <TLDE> { [ Cyrillic_io, Cyrillic_IO, U04EB, U04EA ] };
407 key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, U048B, U048A ] };
408 key <AD03> { [ Cyrillic_u, Cyrillic_U, Cyrillic_u_straight, Cyrillic_U_straight ] };
409 key <AD04> { [ Cyrillic_ka, Cyrillic_KA, U04C4, U04C3 ] };
410 key <AD06> { [ Cyrillic_en, Cyrillic_EN, U04A5, U04A4 ] };
411 key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, U0495, U0494 ] };
412 key <AD10> { [ Cyrillic_ze, Cyrillic_ZE, U04E1, U04E0 ] };
413 key <AD11> { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_shha, Cyrillic_SHHA ] };
414 key <AC07> { [ Cyrillic_o, Cyrillic_O, Cyrillic_o_bar, Cyrillic_O_bar ] };
415 key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, U0461, U0460 ] };
416 key <AB02> { [ Cyrillic_che, Cyrillic_CHE, Cyrillic_u_macron, Cyrillic_U_macron ] };
417 key <AB04> { [ Cyrillic_em, Cyrillic_EM, U04C8, U04C7 ] };
418 key <AB05> { [ Cyrillic_i, Cyrillic_I, Cyrillic_i_macron, Cyrillic_I_macron ] };
419
420 include "level3(ralt_switch)"
421 };
422
423
424 //Kalmyk language layout
425 //based on the Kalmyk language layout: http://soft.oyrat.org/
426 //Nikolay Korneev <halmg (a] oyrat.org>
427 //Toli Miron <mirontoli (a] gmail.com>
428 partial alphanumeric_keys
429 xkb_symbols "xal" {
430
431 include "ru(winkeys)"
432 name[Group1]= "Kalmyk";
433
434 key.type[group1]="FOUR_LEVEL";
435
436 key <AE01> { [ question, exclam, 1 ] };
437 key <AE02> { [ numerosign, quotedbl, 2 ] };
438 key <AE03> { [ Cyrillic_u_straight, Cyrillic_U_straight, 3 ] };
439 key <AE04> { [ Cyrillic_schwa, Cyrillic_SCHWA, 4 ] };
440 key <AE05> { [ asterisk, percent, 5 ] };
441 key <AE06> { [ Cyrillic_en_descender, Cyrillic_EN_descender, 6 ] };
442 key <AE07> { [ Cyrillic_o_bar, Cyrillic_O_bar, 7 ] };
443 key <AE08> { [ Cyrillic_shha, Cyrillic_SHHA, 8 ] };
444 key <AE09> { [ Cyrillic_zhe_descender, Cyrillic_ZHE_descender, 9 ] };
445 key <AE10> { [ semicolon, colon, 0 ] };
446
447 key <TLDE> { [ parenleft, parenright, Cyrillic_io, Cyrillic_IO ] };
448
449 key <AD02> { [ Cyrillic_tse, Cyrillic_TSE, dollar ] };
450 key <AD03> { [ Cyrillic_u, Cyrillic_U, EuroSign ] };
451 key <AD04> { [ Cyrillic_ka, Cyrillic_KA, registered ] };
452 key <AD05> { [ Cyrillic_ie, Cyrillic_IE, trademark ] };
453 key <AD11> { [ Cyrillic_ha, Cyrillic_HA, bracketleft ] };
454 key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, bracketright ] };
455 key <AC11> { [ Cyrillic_e, Cyrillic_E, apostrophe ] };
456 key <AB03> { [ Cyrillic_es, Cyrillic_ES, copyright ] };
457 key <AB08> { [ Cyrillic_be, Cyrillic_BE, less ] };
458 key <AB09> { [ Cyrillic_yu, Cyrillic_YU, greater ] };
459
460 include "level3(ralt_switch)"
461 };
462
463 partial alphanumeric_keys
464 xkb_symbols "dos" {
465
466 include "ru(common)"
467 name[Group1]= "Russian (DOS)";
468
469 key <TLDE> { [ parenright, parenleft ] };
470 key <AE04> { [ 4, currency ] };
471 key <AE09> { [ 9, question ] };
472 key <AE10> { [ 0, percent ] };
473
474 key <AB10> { [ Cyrillic_io, Cyrillic_IO ] };
475 };
476
477 partial alphanumeric_keys
478 xkb_symbols "bak" {
479
480 include "ru(winkeys)"
481 name[Group1]= "Bashkirian";
482
483 key.type[group1]="FOUR_LEVEL";
484
485 key <TLDE> { [ Cyrillic_schwa, Cyrillic_SCHWA, Cyrillic_io, Cyrillic_IO ] };
486 key <AE01> { [ exclam, quotedbl, 1, 1 ] };
487 key <AE02> { [ Cyrillic_o_bar, Cyrillic_O_bar, 2, 2 ] };
488 key <AE03> { [ 0x010004a1, 0x010004a0, 3, 3 ] };
489 key <AE04> { [ Cyrillic_ghe_bar, Cyrillic_GHE_bar, 4, 4 ] };
490 key <AE05> { [ 0x010004ab, 0x010004aa, 5, 5 ] };
491 key <AE06> { [ colon, semicolon, 6, 6 ] };
492 key <AE07> { [ 0x01000499, 0x01000498, 7, 7 ] };
493 key <AE08> { [ Cyrillic_shha, Cyrillic_SHHA, 8, 8 ] };
494 key <AE09> { [ question, parenleft, 9, 9 ] };
495 key <AE10> { [ numerosign, parenright, 0, 0 ] };
496 key <AE11> { [ minus, percent, minus, underscore ] };
497 key <AE12> { [ Cyrillic_u_straight, Cyrillic_U_straight, equal, plus ] };
498 key <BKSL> { [ Cyrillic_en_descender, Cyrillic_EN_descender, backslash, slash ] };
499
500 include "level3(ralt_switch)"
501 };
502
503 // Serbian characters are added as third-level symbols to Russian keyboard layout.
504 partial alphanumeric_keys
505 xkb_symbols "srp" {
506
507 include "ru(common)"
508 name[Group1]= "Serbian (Russia)";
509
510 key <AE03> { [ 3, numerosign ] };
511 key <AE04> { [ 4, semicolon ] };
512 key <AE05> { [ 5, percent ] };
513 key <AE06> { [ 6, colon ] };
514 key <AE07> { [ 7, question ] };
515 key <AE08> { [ 8, asterisk ] };
516 key <AB10> { [ period, comma ] };
517 key <BKSL> { [ backslash, slash ] };
518 key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, U458, U408 ] };
519 key <AD06> { [ Cyrillic_en, Cyrillic_EN, U45A, U40A ] };
520 key <AC08> { [ Cyrillic_el, Cyrillic_EL, U459, U409 ] };
521 key <AC09> { [ Cyrillic_de, Cyrillic_DE, U45F, U40F ] };
522 key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, U452, U402 ] };
523 key <AB02> { [ Cyrillic_che, Cyrillic_CHE, U45B, U40B ] };
524
525 include "level3(ralt_switch)"
526 };
527
528 // Mari language layout
529 // http://www.marlamuter.com/
530 // Last edit by Viatcheslav Kileev (slavakileev (a] yandex.ru)
531 partial alphanumeric_keys
532 xkb_symbols "chm" {
533
534 include "ru(winkeys)"
535 name[Group1]= "Mari";
536
537 key <AC04> { [ Cyrillic_a, Cyrillic_A, U04D3, U04D2 ] };
538 key <AD03> { [ Cyrillic_u, Cyrillic_U, U04F1, U04F0 ] };
539 key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU, U04F9, U04F8 ] };
540 key <AD06> { [ Cyrillic_en, Cyrillic_EN, U04A5, U04A4 ] };
541 key <AC07> { [ Cyrillic_o, Cyrillic_O, U04E7, U04E6 ] };
542
543 include "level3(ralt_switch)"
544 };
545
546 partial alphanumeric_keys
547 xkb_symbols "phonetic_azerty" {
548
549 include "level3(ralt_switch)"
550
551 name[Group1]= "Russian (phonetic, AZERTY)";
552
553 key <AE01> { [ ampersand, 1, onesuperior, exclamdown ] };
554 key <AE02> { [ eacute, 2, asciitilde, oneeighth ] };
555 key <AE03> { [ quotedbl, 3, numbersign, sterling ] };
556 key <AE04> { [apostrophe, 4, braceleft, dollar ] };
557 key <AE05> { [ parenleft, 5, bracketleft, threeeighths ] };
558 key <AE06> { [ minus, 6, bar, fiveeighths ] };
559 key <AE07> { [ egrave, 7, grave, seveneighths ] };
560 key <AE08> { [underscore, 8, backslash, trademark ] };
561 key <AE09> { [ ccedilla, 9, asciicircum, plusminus ] };
562 key <AE10> { [ agrave, 0, at, degree ] };
563 key <AE11> { [parenright, degree, bracketright, questiondown ] };
564 key <AE12> { [ equal, plus, braceright, dead_ogonek ] };
565
566 key <AB07> { [ comma, question, acute, doubleacute ] };
567 key <AB08> { [ semicolon, period, U2022, multiply ] }; // bullet
568 key <AB09> { [ colon, slash, periodcentered, division ] };
569 key <AB10> { [ exclam, section, dead_belowdot, dead_abovedot ] };
570
571 key <AC11> { [ ugrave, percent, asciicircum, caron ] };
572 key <LSGT> { [ bar, brokenbar ] };
573
574 key <TLDE> { [ Cyrillic_yu, Cyrillic_YU ] };
575 key <AC01> { [ Cyrillic_ya, Cyrillic_YA ] }; // Q
576 key <AD02> { [ Cyrillic_ze, Cyrillic_ZE ] }; // Z
577 key <LatS> { [ Cyrillic_es, Cyrillic_ES ] };
578 key <AD01> { [ Cyrillic_a, Cyrillic_A ] };
579 key <AB01> { [ Cyrillic_ve, Cyrillic_VE ] }; // W
580 key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] };
581 key <LatX> { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
582 key <LatD> { [ Cyrillic_de, Cyrillic_DE ] };
583 key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] };
584 key <LatV> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
585 key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] };
586 key <LatT> { [ Cyrillic_te, Cyrillic_TE ] };
587 key <LatR> { [ Cyrillic_er, Cyrillic_ER ] };
588 key <LatN> { [ Cyrillic_en, Cyrillic_EN ] };
589 key <LatB> { [ Cyrillic_be, Cyrillic_BE ] };
590 key <LatH> { [ Cyrillic_ha, Cyrillic_HA ] };
591 key <LatG> { [ Cyrillic_ghe, Cyrillic_GHE ] };
592 key <LatY> { [ Cyrillic_yeru, Cyrillic_YERU ] };
593 key <AC10> { [ Cyrillic_em, Cyrillic_EM ] }; // M
594 key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
595 key <LatU> { [ Cyrillic_u, Cyrillic_U ] };
596 key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] };
597 key <LatI> { [ Cyrillic_i, Cyrillic_I ] };
598 key <LatO> { [ Cyrillic_o, Cyrillic_O ] };
599 key <LatL> { [ Cyrillic_el, Cyrillic_EL ] };
600 key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] };
601
602 key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] };
603 key <AE12> { [ Cyrillic_che, Cyrillic_CHE ] };
604 key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
605 key <BKSL> { [ Cyrillic_e, Cyrillic_E ] };
606 };
607
608 // Russian dvorak phonetic layout
609 // Oleg Zalizniak <ramaloke at gmail.com>
610 partial alphanumeric_keys
611 xkb_symbols "phonetic_dvorak" {
612 include "level3(ralt_switch)"
613
614 name[Group1]= "Russian (phonetic, Dvorak)";
615
616 key <TLDE> { [ Cyrillic_yu, Cyrillic_YU ] };
617
618 key <AE01> { [ 1, exclam ] };
619 key <AE02> { [ 2, at ] };
620 key <AE03> { [ 3, Cyrillic_io ] };
621 key <AE04> { [ 4, Cyrillic_IO ] };
622 key <AE05> { [ 5, Cyrillic_hardsign ] };
623 key <AE06> { [ 6, Cyrillic_HARDSIGN ] };
624 key <AE07> { [ 7, ampersand ] };
625 key <AE08> { [ 8, asterisk ] };
626 key <AE09> { [ 9, parenleft ] };
627 key <AE10> { [ 0, parenright ] };
628 key <AE11> { [ Cyrillic_sha, Cyrillic_SHA ] };
629 key <AE12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
630 key <BKSL> { [ Cyrillic_e, Cyrillic_E ] };
631
632 key <AD01> { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] };
633 key <AD02> { [ comma, less, dead_cedilla, dead_caron ] };
634 key <AD03> { [ period, greater, dead_abovedot, periodcentered ] };
635 key <AD04> { [ Cyrillic_pe, Cyrillic_PE ] };
636 key <AD05> { [ Cyrillic_yeru, Cyrillic_YERU ] };
637 key <AD06> { [ Cyrillic_ef, Cyrillic_EF ] };
638 key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] };
639 key <AD08> { [ Cyrillic_tse, Cyrillic_TSE ] };
640 key <AD09> { [ Cyrillic_er, Cyrillic_ER ] };
641 key <AD10> { [ Cyrillic_el, Cyrillic_EL ] };
642 key <AD11> { [ slash, question ] };
643 key <AD12> { [ Cyrillic_che, Cyrillic_CHE ] };
644
645 key <AC01> { [ Cyrillic_a, Cyrillic_A ] };
646 key <AC02> { [ Cyrillic_o, Cyrillic_O ] };
647 key <AC03> { [ Cyrillic_ie, Cyrillic_IE ] };
648 key <AC04> { [ Cyrillic_u, Cyrillic_U ] };
649 key <AC05> { [ Cyrillic_i, Cyrillic_I ] };
650 key <AC06> { [ Cyrillic_de, Cyrillic_DE ] };
651 key <AC07> { [ Cyrillic_ha, Cyrillic_HA ] };
652 key <AC08> { [ Cyrillic_te, Cyrillic_TE ] };
653 key <AC09> { [ Cyrillic_en, Cyrillic_EN ] };
654 key <AC10> { [ Cyrillic_es, Cyrillic_ES ] };
655 key <AC11> { [ minus, underscore ] };
656
657 key <AB01> { [ semicolon, colon, dead_ogonek, dead_doubleacute ] };
658 key <AB02> { [ Cyrillic_ya, Cyrillic_YA ] };
659 key <AB03> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
660 key <AB04> { [ Cyrillic_ka, Cyrillic_KA ] };
661 key <AB05> { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
662 key <AB06> { [ Cyrillic_be, Cyrillic_BE ] };
663 key <AB07> { [ Cyrillic_em, Cyrillic_EM ] };
664 key <AB08> { [ Cyrillic_ve, Cyrillic_VE ] };
665 key <AB09> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
666 key <AB10> { [ Cyrillic_ze, Cyrillic_ZE ] };
667 };
668
669 partial alphanumeric_keys
670 xkb_symbols "phonetic_fr" {
671
672 include "fr"
673 include "ru(phonetic_azerty)"
674
675 name[Group1]= "Russian (phonetic, French)";
676 };
677
678 // Keyboard layout for Abkhazian.
679 // 2022/04/13 by Nart Tlisha <daniel.abzakh (a] gmail.com>
680 partial alphanumeric_keys
681 xkb_symbols "ab" {
682
683 include "ru(common)"
684 name[Group1]= "Abkhazian (Russia)";
685
686 key <TLDE> { [ U0301, asciitilde, U201C, U201D ] }; // double quotation marks
687 key <AE01> { [ 1, exclam, U00AB, U00BB ] }; // guillemets
688 key <AE02> { [ 2, at, quotedbl, U201E ] }; // low double quotation mark
689 key <AE03> { [ 3, numbersign, numerosign ] };
690 key <AE04> { [ 4, dollar, semicolon ] };
691 key <AE05> { [ 5, percent ] };
692 key <AE06> { [ 6, asciicircum, colon ] };
693 key <AE07> { [ 7, ampersand, question ] };
694 key <AE08> { [ 8, asterisk ] };
695 key <AE09> { [ 9, parenleft, bracketleft, braceleft ] };
696 key <AE10> { [ 0, parenright, bracketright, braceright ] };
697 key <AE11> { [ minus, underscore, U2013, U2014 ] }; // endash, emdash
698
699 key <AD01> { [ U049f, U049e ] };
700 key <AD02> { [ Cyrillic_tse, Cyrillic_TSE, U04b5, U04b4 ] };
701 key <AD04> { [ Cyrillic_ka, Cyrillic_KA, U049b, U049a ] };
702 key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, U04f7, U04f6 ] };
703 key <AD09> { [ U04d9, U04d8 ] };
704 key <AD10> { [ Cyrillic_ze, Cyrillic_ZE, U04e1, U04e0 ] };
705 key <AD11> { [ Cyrillic_ha, Cyrillic_HA, U04b3, U04b2 ] };
706 key <AD12> { [ U04bf, U04be ] };
707
708 key <AC05> { [ Cyrillic_pe, Cyrillic_PE, U0525, U0524 ] };
709 key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, semicolon, colon ] };
710 key <AC11> { [ U04bd, U04bc, apostrophe, quotedbl ] };
711 key <BKSL> { [ backslash, bar, slash ] };
712
713 key <AB01> { [ U045f, U040f ] };
714 key <AB02> { [ Cyrillic_che, Cyrillic_CHE, U04b7, U04b6 ] };
715 key <AB06> { [ Cyrillic_te, Cyrillic_TE, U04ad, U04ac ] };
716 key <AB08> { [ Cyrillic_be, Cyrillic_BE, comma, less ] };
717 key <AB09> { [ U04a9, U04a8, period, greater ] };
718 key <AB10> { [ slash, question, comma, period ] };
719
720 include "level3(ralt_switch)"
721 };
722
723 // EXTRAS:
724
725 // Rulemak, Colemak based Russian phonetic layout
726 // contact: Geert Hendrickx <geert (a] hendrickx.be>
727 // http://forum.colemak.com/viewtopic.php?id=519
728 //
729 //
730 // `` ! @ $ % ^ & * ( ) _ +
731 // ` 1 2 3 # 4 5 6 7 8 9 [ 0 ] - = Backspace
732 //
733 // : { } Enter
734 // Tab ;
735 //
736 // Back " |
737 // space ' \
738 //
739 // ; : ?
740 // Shift , < . > / Shift
741 //
742 //
743 // Ctrl Meta Alt Space AltGr Menu Ctrl
744 //
745
746 partial alphanumeric_keys
747 xkb_symbols "rulemak" {
748
749 name[Group1]= "Russian (Rulemak, phonetic Colemak)";
750
751 key <TLDE> { [ Cyrillic_io, Cyrillic_IO, U0300, U030F ] }; // Combining grave, double grave
752 key <AE01> { [ 1, exclam, U0301, U030B ] }; // Combining acute, double acute
753 key <AE02> { [ 2, at, U0308 ] }; // Combining diaeresis
754 key <AE03> { [ 3, numerosign, numbersign ] };
755 key <AE04> { [ 4, dollar, cent ] };
756 key <AE05> { [ 5, percent, EuroSign ] };
757 key <AE06> { [ 6, asciicircum, U0306, U0304 ] }; // Combining breve, macron
758 key <AE07> { [ 7, ampersand ] };
759 key <AE08> { [ 8, asterisk, U20BD, U20B4 ] }; // ruble, hryvnia
760 key <AE09> { [ 9, parenleft, bracketleft ] };
761 key <AE10> { [ 0, parenright, bracketright ] };
762 key <AE11> { [ minus, underscore, endash, emdash ] };
763 key <AE12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, equal, plus ] };
764
765 key <AD01> { [ Cyrillic_ya, Cyrillic_YA, U0463, U0462 ] }; // yat
766 key <AD02> { [ Cyrillic_zhe, Cyrillic_ZHE, U0475, U0474 ] }; // izhitsa
767 key <AD03> { [ Cyrillic_ef, Cyrillic_EF, U0473, U0472 ] }; // fita
768 key <AD04> { [ Cyrillic_pe, Cyrillic_PE ] };
769 key <AD05> { [ Cyrillic_ghe, Cyrillic_GHE, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
770 key <AD06> { [ Cyrillic_shorti, Cyrillic_SHORTI, Cyrillic_je, Cyrillic_JE ] };
771 key <AD07> { [ Cyrillic_el, Cyrillic_EL, Cyrillic_lje, Cyrillic_LJE ] };
772 key <AD08> { [ Cyrillic_u, Cyrillic_U, Byelorussian_shortu, Byelorussian_SHORTU ] };
773 key <AD09> { [ Cyrillic_yeru, Cyrillic_YERU, Ukrainian_yi, Ukrainian_YI ] };
774 key <AD10> { [ Cyrillic_yu, Cyrillic_YU, semicolon, colon ] };
775 key <AD11> { [ Cyrillic_sha, Cyrillic_SHA, guillemotleft, braceleft ] };
776 key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA, guillemotright, braceright ] };
777 key <BKSL> { [ Cyrillic_e, Cyrillic_E, backslash, bar ] };
778
779 key <AC01> { [ Cyrillic_a, Cyrillic_A ] };
780 key <AC02> { [ Cyrillic_er, Cyrillic_ER ] };
781 key <AC03> { [ Cyrillic_es, Cyrillic_ES ] };
782 key <AC04> { [ Cyrillic_te, Cyrillic_TE, Serbian_tshe, Serbian_TSHE ] };
783 key <AC05> { [ Cyrillic_de, Cyrillic_DE, Serbian_dje, Serbian_DJE ] };
784 key <AC06> { [ Cyrillic_che, Cyrillic_CHE, Cyrillic_dzhe, Cyrillic_DZHE ] };
785 key <AC07> { [ Cyrillic_en, Cyrillic_EN, Cyrillic_nje, Cyrillic_NJE ] };
786 key <AC08> { [ Cyrillic_ie, Cyrillic_IE, Ukrainian_ie, Ukrainian_IE ] };
787 key <AC09> { [ Cyrillic_i, Cyrillic_I, Ukrainian_i, Ukrainian_I ] };
788 key <AC10> { [ Cyrillic_o, Cyrillic_O ] };
789 key <AC11> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, apostrophe, quotedbl ] };
790
791 key <AB01> { [ Cyrillic_ze, Cyrillic_ZE, Macedonia_dse, Macedonia_DSE ] };
792 key <AB02> { [ Cyrillic_ha, Cyrillic_HA ] };
793 key <AB03> { [ Cyrillic_tse, Cyrillic_TSE ] };
794 key <AB04> { [ Cyrillic_ve, Cyrillic_VE ] };
795 key <AB05> { [ Cyrillic_be, Cyrillic_BE, Macedonia_gje, Macedonia_GJE ] };
796 key <AB06> { [ Cyrillic_ka, Cyrillic_KA, Macedonia_kje, Macedonia_KJE ] };
797 key <AB07> { [ Cyrillic_em, Cyrillic_EM ] };
798 key <AB08> { [ comma, semicolon, less ] };
799 key <AB09> { [ period, colon, greater ] };
800 key <AB10> { [ slash, question, U04CF, U04C0 ] }; // palochka
801
802 key <LSGT> { [ equal, plus, multiply, division ] };
803
804 include "level3(ralt_switch)"
805 include "capslock(backspace)"
806 include "nbsp(level4)"
807 };
808
809 // Church Slavonic language layout
810 // based on the Russian standard keyboard
811 // by Aleksandr Andreev and Yuri Shardt
812 // last changes 2010/08/01; contact <aleksandr.andreev (a] gmail.com>
813 partial alphanumeric_keys
814 xkb_symbols "chu" {
815
816 name[Group1]= "Church Slavonic";
817
818 key <TLDE> { [ Ukrainian_yi, Ukrainian_YI, U0482, U20DD ] }; // e.g: where the last is a combining ten thousands sign
819 key <AE01> { [ U0461, U0460, U047D, U047C ] }; //
820 key <AE02> { [ Ukrainian_ie, Ukrainian_IE, U0465, U0464 ] }; //
821 key <AE03> { [ U046F, U046E, U0469, U0468 ] }; //
822 key <AE04> { [ U0471, U0470, U046D, U046C ] }; //
823 key <AE05> { [ U0473, U0472, UA657, UA656 ] }; // iotified A
824 key <AE06> { [ U0475, U0474, U0477, U0476 ] }; //
825 key <AE07> { [ U047B, U047A, UA64D, UA64C ] }; //
826 key <AE08> { [ U047F, U047E, U046B, U046A ] }; //
827 key <AE09> { [ Macedonia_dse, Macedonia_DSE, parenleft, asterisk ] }; // ( *
828 key <AE10> { [ Cyrillic_u, Cyrillic_U, parenright, U0488]}; // ) NB: for digraph Ouk, use Cyrillic_o + Cyrillic_u
829 key <AE11> { [ U0483, U0486, U0487, U005F ] }; // , _ (titlo, psili, pokrytie, underscore)
830 key <AE12> { [ U0301, U0300, U0484, UA67E ] }; // (oxia, varia, kamora, kavyka)
831
832 key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, Ukrainian_i ] };
833 key <AD02> { [ Cyrillic_tse, Cyrillic_TSE, U2DF0 ] };
834 key <AD03> { [ UA64B, UA64A, U2DF9 ] }; // Cyrillic monograph Uk (not U)!
835 key <AD04> { [ Cyrillic_ka, Cyrillic_KA, U2DE6 ] };
836 key <AD05> { [ Cyrillic_ie, Cyrillic_IE, U2DF7 ] };
837 key <AD06> { [ Cyrillic_en, Cyrillic_EN, U2DE9 ] };
838 key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, U2DE2 ] };
839 key <AD08> { [ Cyrillic_sha, Cyrillic_SHA, U2DF2 ] };
840 key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA, U2DF3 ] };
841 key <AD10> { [ Cyrillic_ze, Cyrillic_ZE, U2DE5 ] };
842 key <AD11> { [ Cyrillic_ha, Cyrillic_HA, U2DEF ] };
843 key <AD12> { [Cyrillic_hardsign,Cyrillic_HARDSIGN, UA67D ] }; // Payerok
844 key <BKSL> { [ backslash, slash, colon, question ] }; // \ / : ? NB: for Slavonic question, use semicolon
845
846 key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] };
847 key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU ] };
848 key <AC03> { [ Cyrillic_ve, Cyrillic_VE, U2DE1 ] };
849 key <AC04> { [ Cyrillic_a, Cyrillic_A, U2DF6 ] };
850 key <AC05> { [ Cyrillic_pe, Cyrillic_PE, U2DEB ] };
851 key <AC06> { [ Cyrillic_er, Cyrillic_ER, U2DEC ] };
852 key <AC07> { [ Cyrillic_o, Cyrillic_O, U2DEA ] };
853 key <AC08> { [ Cyrillic_el, Cyrillic_EL, U2DE7 ] };
854 key <AC09> { [ Cyrillic_de, Cyrillic_DE, U2DE3 ] };
855 key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, U2DE4 ] };
856 key <AC11> { [ U0463, U0462, U2DFA ] }; // Yat
857
858 key <AB01> { [ U0467, U0466, U2DFD ] }; // Small Yus
859 key <AB02> { [ Cyrillic_che, Cyrillic_CHE, U2DF1 ] };
860 key <AB03> { [ Cyrillic_es, Cyrillic_ES, U2DED ] };
861 key <AB04> { [ Cyrillic_em, Cyrillic_EM, U2DE8 ] };
862 key <AB05> { [ Cyrillic_i, Cyrillic_I ] };
863 key <AB06> { [ Cyrillic_te, Cyrillic_TE, U2DEE ] };
864 key <AB07> { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
865 key <AB08> { [ Cyrillic_be, Cyrillic_BE, U2DE0 ] };
866 key <AB09> { [ Cyrillic_yu, Cyrillic_YU, U2DFB ] };
867 key <AB10> { [ period, comma, semicolon, exclam ] };
868 };
869
870
871 // RUU (Russian-Ukrainian United keyboard layout).
872 // This is a modified Russian standard keyboard, with the third level containing
873 // Ukrainian and Belorusian alphabetic letters and commonly used Unicode symbols.
874 // For a description see http://wiki.opennet.ru/RUU [in Russian].
875 // Vasyl V. Vercynskyj <fuckel (a] ukr.net>
876 // last changes 2011/05/11
877 //
878 //
879 // ' ~ ! " ; % : ? * ( { ) } _ +
880 // 1 2 3 4 $ 5 6 < 7 > 8 9 [ 0 ] - = Backspace
881 //
882 // Enter
883 // Tab
884 //
885 // Caps |
886 // Lock / \
887 //
888 // ,
889 // Shift . / Shift
890 //
891 //
892 // Ctrl Meta Alt Space AltGr Menu Ctrl
893 //
894 partial alphanumeric_keys
895 xkb_symbols "ruu" {
896
897 include "ru(common)"
898 name[Group1]= "Russian (with Ukrainian-Belorussian layout)";
899
900 key <TLDE> { [ U2019, apostrophe, U0301, asciitilde ] }; // Apostrophe and Stress symbol
901 key <AE01> { [ 1, exclam, division, U2248 ] }; // Division Sign and Almost Equal To
902 key <AE02> { [ 2, quotedbl, currency, infinity ] };
903 key <AE03> { [ 3, numerosign, section, U20B4 ] }; // Paragraph and Hryvnia sign
904 key <AE04> { [ 4, semicolon, dollar, EuroSign ] };
905 key <AE05> { [ 5, percent, degree, permille ] };
906 key <AE06> { [ 6, colon, less, lessthanequal ] };
907 key <AE07> { [ 7, question, greater, greaterthanequal ] };
908 key <AE08> { [ 8, asterisk,enfilledcircbullet,multiply ] };
909 key <AE09> { [ 9, parenleft, bracketleft, braceleft ] };
910 key <AE10> { [ 0, parenright, bracketright, braceright ] };
911 key <AE11> { [ minus, underscore, emdash, endash ] };
912 key <AE12> { [ equal, plus, notequal, plusminus ] };
913
914 key <AD03> { [ Cyrillic_u, Cyrillic_U, Byelorussian_shortu, Byelorussian_SHORTU ] };
915 key <AD04> { [ Cyrillic_ka, Cyrillic_KA, registered ] };
916 key <AD05> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] };
917 key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
918 key <AD10> { [ Cyrillic_ze, Cyrillic_ZE, paragraph ] };
919 key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, Ukrainian_yi, Ukrainian_YI ] };
920
921 key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU, Ukrainian_i, Ukrainian_I ] };
922 key <AC11> { [ Cyrillic_e, Cyrillic_E, Ukrainian_ie, Ukrainian_IE ] };
923 key <BKSL> { [ slash, bar, backslash, brokenbar ] };
924
925 key <AB03> { [ Cyrillic_es, Cyrillic_ES, copyright ] };
926 key <AB06> { [ Cyrillic_te, Cyrillic_TE, trademark ] };
927 key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, mu ] };
928 key <AB08> { [ Cyrillic_be, Cyrillic_BE, guillemotleft, doublelowquotemark ] };
929 key <AB09> { [ Cyrillic_yu, Cyrillic_YU, guillemotright, leftdoublequotemark ] };
930 key <AB10> { [ period, comma, slash, ellipsis ] };
931
932 include "level3(ralt_switch)"
933 };
934
935 partial alphanumeric_keys
936 xkb_symbols "sun_type6" {
937 include "sun_vndr/ru(sun_type6)"
938 };
939
940 // Apple layout
941 partial alphanumeric_keys
942 xkb_symbols "mac" {
943
944 include "ru(common)"
945 name[Group1]= "Russian (Macintosh)";
946
947 key <LSGT> { [ less, greater ] };
948 key <AE02> { [ 2, quotedbl ] };
949 key <AE03> { [ 3, numerosign ] };
950 key <AE04> { [ 4, percent ] };
951 key <AE05> { [ 5, colon ] };
952 key <AE06> { [ 6, comma ] };
953 key <AE07> { [ 7, period ] };
954 key <AE08> { [ 8, semicolon ] };
955 key <TLDE> { [ bracketright, bracketleft ] };
956 key <BKSL> { [ Cyrillic_io, Cyrillic_IO ] };
957
958 key <AC06> { [ Cyrillic_er, Cyrillic_ER, U20BD ] };
959
960 include "level3(ralt_switch)"
961 };
962
963 // eng: Russian-based polyglot and reactionary keyboard layout
964 // This keyboard layout covers Russian in Petrine 1708 and Bolshevik 1918 variant spelling, Ukrainian, Belorussian, Serbian in its modern and Slavenoserbian variants, and Bulgarian and Slavomacedonian in pre-1945 and post-1945 spelling,
965 // in short all in any dominion prevailing Cyrillic orthographies of modern secular Slavic literary languages, even with dictionary accentuation marks,
966 // but also the most-widespread Church Slavonic spellings, that is all Church-Slavonic in so far as variants can be replaced without loss of meaning not to speak of Interslavic.
967 // Furthermore, it suffices Romanian Cyrillic, Moldovan Cyrillic, Abkhazian excluding the more clumsy obsoleted forms unlikely to find devotees, Tajik, all Turkic and Mongolic Cyrillic alphabets
968 // and virtually all overlooked languages in Cyrillic reigns at least by combining characters, taking advantage of eight key levels.
969 // This is withal a pan-Cyrillic keyboard layout, or a comprehensive Cyrillic keyboard layout, an universal Cyrillic keyboard layout, a generic Cyrillic keyboard layout.
970 //
971 // rus:
972 // 1708- 1918-, , , 1945- ,
973 // - , , .
974 // , , , , , , ,
975 // , .
976 // , , .
977 //
978 // srp:
979 // 1708- 1918- , , , , 1945- ,
980 // , , .
981 // , , , , , , ,
982 // , .
983 // , , .
984 partial alphanumeric_keys
985 xkb_symbols "prxn" {
986
987 name[Group1]= "Russian (Polyglot and Reactionary)";
988
989 key.type[Group1]="EIGHT_LEVEL";
990 key <TLDE> { [ U2019, apostrophe, U0301, U0300, U2053, U2015, U02BC, asciitilde ] }; // Typographic Apostrophe, Apostrophe, Combining Acute, Combining Grave, Swung Dash, Quotation Dash, Modifier Letter Apostrophe, Tilde
991 key <AE01> { [ 1, exclam, U0304, U0306, U0308, U0311, U0307, U0313 ] }; // 1, !, Combining Macron, Combining Breve, Combining Diaresis, Combining Inverted Breve, Combining Dot Above, Combining Comma Above
992 key <AE02> { [ 2,quotedbl,numerosign, U20BF, U20B8, U20AE, U00A3, U20B9 ] }; // 2 "
993 key <AE03> { [ 3, section, U20B4, currency, U20BD, U20AA, U20BC, U20BE ] }; // 3
994 key <AE04> { [ 4, semicolon, dollar, EuroSign, U0482, U20DD, U0488, U0489 ] }; // 4 ; $ Thousands Sign, Combining Enclosing Circle, Combining Hundred Thousands, Combining Millions
995 key <AE05> { [ 5, percent, degree, permille, UA670, UA671, UA672, UA66F ] }; // 5, %, , , Combinining Ten Millions, Combining Hundred Millions, Combining Thousand Millions, Combining Vzmet
996 key <AE06> { [ 6, colon, U0335, U0336, U0483, U0487, UFE2E, UFE2F ] }; // 6, :, Combining Short Stroke Overlay, Combining Long Stroke Overlay, Combining Titlo, Combining Pokrytie, Combining Titlo Left Half, Combining Titlo Right Half
997 key <AE07> { [ 7, question, U030B, U030F, U030C, U0303, U032C, U0360 ] }; // 7, ?, Combining Double Acute, Combining Double Grave, Combining Caron/Hek, Combining Tilde, Combining Caron/Hek Below, Combining Double Tilde
998 key <AE08> { [ 8, asterisk, U0331, U0332, U0333, U032F, U032D, U032E ] }; // 8, *, Combining Macron Below, Combining Low Line, Combining Double Low Line, Combining Inverted Breve Below, Combining Circumflex Accent, Combining Breve Below
999 key <AE09> { [ 9,parenleft, bracketleft, braceleft, U035F, U035D, U035E, U035C ] }; // 9 ( [ { Combining Double Macron Below, Combining Double Breve, Combining Double Macron, Combining Double Breve Below
1000 key <AE10> { [ 0,parenright,bracketright, braceright, U27E8, U27E9, U04A7, U04A6 ] }; // 0 ) ] }
1001 key <AE11> { [ minus, underscore, emdash, endash, U2011,hyphen, U2010, U2212 ] }; // Hyphen-Minus, Underscore, Em Dash, En Dash, Non-Breaking-Hyphen, Soft Hyphen, Hyphen, Minus Sign
1002 key <AE12> { [ equal, plus,notequal, U2248, U04FF, U04FE, U050D, U050C ] }; // = +
1003
1004 key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, Cyrillic_je, Cyrillic_JE, U04CF, U04C0, U030A, U0325 ] }; // , Combining Ring Above and Below
1005 key <AD02> { [ Cyrillic_tse, Cyrillic_TSE, U04B5, U04B4, Cyrillic_u_straight, Cyrillic_U_straight, U051B, U051A ] }; //
1006 key <AD03> { [ Cyrillic_u, Cyrillic_U, Byelorussian_shortu, Byelorussian_SHORTU, Cyrillic_u_straight_bar,Cyrillic_U_straight_bar, Byelorussian_shortu, Byelorussian_SHORTU ] }; //
1007 key <AD04> { [ Cyrillic_ka, Cyrillic_KA, Cyrillic_ka_descender, Cyrillic_KA_descender, U049F, U049E, U046F, U046E ] }; //
1008 key <AD05> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO, U0463, U0462, UA653, UA652 ] }; //
1009 key <AD06> { [ Cyrillic_en, Cyrillic_EN, Cyrillic_nje, Cyrillic_NJE, Cyrillic_en_descender, Cyrillic_EN_descender, U04C8, U04C7 ] }; //
1010 key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, Ukrainian_ghe_with_upturn,Ukrainian_GHE_WITH_UPTURN, Cyrillic_ghe_bar, Cyrillic_GHE_bar, U04F7, U04F6 ] }; //
1011 key <AD08> { [ Cyrillic_sha, Cyrillic_SHA, U04A1, U04A0, U04AB, U04AA, UA67D, UA67F ] }; // Combining Payerok Payerok
1012 key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA, U0505, U0504, UA68D, UA68C, U050F, U050E ] }; //
1013 key <AD10> { [ Cyrillic_ze, Cyrillic_ZE, U04E1, U04E0, U0499, U0498, U0507, U0506 ] }; //
1014 key <AD11> { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_shha, Cyrillic_SHHA, Cyrillic_ha_descender, Cyrillic_HA_descender, U04FD, U04FC ] }; //
1015 key <AD12> { [Cyrillic_hardsign,Cyrillic_HARDSIGN, Ukrainian_yi, Ukrainian_YI, Macedonia_dse, Macedonia_DSE, U033E, U2E2F ] }; // , Combining Yerok, Yerok
1016
1017 key <AC01> { [ Cyrillic_ef, Cyrillic_EF, U0473, U0472, U04C4, U04C3, U04FB, U04FA ] }; //
1018 key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU, Ukrainian_i, Ukrainian_I, U04D5, U04D4, U04A9, U04A8 ] }; //
1019 key <AC03> { [ Cyrillic_ve, Cyrillic_VE, U051D, U051C, U0529, U0528, U0527, U0526 ] }; //
1020 key <AC04> { [ Cyrillic_a, Cyrillic_A, Cyrillic_schwa, Cyrillic_SCHWA, UA657, UA656, UA655, UA654 ] }; //
1021 key <AC05> { [ Cyrillic_pe, Cyrillic_PE, U0525, U0524, U0471, U0470, UA65F, UA65E ] }; //
1022 key <AC06> { [ Cyrillic_er, Cyrillic_ER, U0481, U0480, U048F, U048E, U0521, U0520 ] }; //
1023 key <AC07> { [ Cyrillic_o, Cyrillic_O, Cyrillic_o_bar, Cyrillic_O_bar, U047B, U047A, U0461, U0460 ] }; //
1024 key <AC08> { [ Cyrillic_el, Cyrillic_EL, Cyrillic_lje, Cyrillic_LJE, U04C6, U04C5, U052F, U052E ] }; //
1025 key <AC09> { [ Cyrillic_de, Cyrillic_DE, Cyrillic_dzhe, Cyrillic_DZHE, U04BD, U04BC, U04BF, U04BE ] }; //
1026 key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, Serbian_dje, Serbian_DJE, Cyrillic_zhe_descender, Cyrillic_ZHE_descender, U04C2, U04C1 ] }; //
1027 key <AC11> { [ Cyrillic_e, Cyrillic_E, Ukrainian_ie, Ukrainian_IE, U0465, U0464, U04CA, U04C9 ] }; //
1028 key <BKSL> { [ slash, bar, backslash, U260E, UA65B, UA65A, U0513, U0512 ] }; // / | \
1029
1030 key <LSGT> { [ U0495, U0494, U0501, U0500, U0503, U0502, U0509, U0508 ] }; //
1031 key <AB01> { [ Cyrillic_ya, Cyrillic_YA, U0469, U0468, U0467, U0466, UA657, UA656 ] }; //
1032 key <AB02> { [ Cyrillic_che, Cyrillic_CHE, Serbian_tshe, Serbian_TSHE, Cyrillic_che_descender, Cyrillic_CHE_descender, U2016,brokenbar ] }; //
1033 key <AB03> { [ Cyrillic_es, Cyrillic_ES, U046D, U046C, U046B, U046A, U04F7, U04F6 ] }; //
1034 key <AB04> { [ Cyrillic_em, Cyrillic_EM, multiply, division, U22C5, U2219, U04CE, U04CD ] }; //
1035 key <AB05> { [ Cyrillic_i, Cyrillic_I, U0475, U0474, U048B, U048A, periodcentered, U261B ] }; //
1036 key <AB06> { [ Cyrillic_te, Cyrillic_TE, U04AD, U04AC, U051F, U051E, Cyrillic_che_vertstroke, Cyrillic_CHE_vertstroke ] }; //
1037 key <AB07> { [Cyrillic_softsign,Cyrillic_SOFTSIGN, U04A5, U04A4, UA64F, UA64E, U048D, U048C ] }; //
1038 key <AB08> { [ Cyrillic_be, Cyrillic_BE, guillemotleft, doublelowquotemark, singlelowquotemark, U2039, U0523, U0522 ] }; //
1039 key <AB09> { [ Cyrillic_yu, Cyrillic_YU, guillemotright, leftdoublequotemark, leftsinglequotemark, U203A, rightdoublequotemark, rightsinglequotemark]}; //
1040 key <AB10> { [ period, comma, ellipsis, enfilledcircbullet, U04CC, U04CB, UA649, UA648 ] }; // . ,
1041
1042 // eng: Maps Right Alt for reaching the third level
1043 // rus: Alt
1044 // srp: Alt
1045 include "level3(ralt_switch)"
1046
1047 // eng: Maps <CAPS> for reaching the fifth level
1048 // rus: <CAPS>
1049 // srp: <CAPS>
1050 include "level5(caps_switch)"
1051
1052 // eng: Allows pressing both Shift keys for enabling ShiftLock; one Shift releases it
1053 // rus: Shift
1054 // srp: Shift
1055 include "shift(both_shiftlock)"
1056
1057 // eng: Makes <KPDL> return comma instead of dot, as the comma is decimal separator in Cyrillic written languages
1058 // rus: <KPDL> ,
1059 // srp: <KPDL> ,
1060 include "kpdl(comma)"
1061 };
1062
1063
1064 partial alphanumeric_keys
1065 xkb_symbols "unipunct" {
1066
1067 // ,
1068 // , ,
1069 // US (+ , US , RU).
1070
1071 // ru(unipunct):
1072 // `~ 1! 2@ 3#3 4$ 5% 6^ 7& 8* 9( 0) -_ =+
1073 // [{ ]} \|
1074 // ;: '" //"
1075 // ,< .> /?
1076
1077 include "us(basic)"
1078 name[Group1]= "Russian (with US punctuation)";
1079
1080 // , US -
1081 key <AE03> { [ 3, numbersign, 3, numerosign ] };
1082
1083 key <LatQ> { [ Cyrillic_ha, Cyrillic_HA ] };
1084 key <LatW> { [ Cyrillic_be, Cyrillic_BE ] };
1085 key <LatE> { [ Cyrillic_u, Cyrillic_U, Cyrillic_yu, Cyrillic_YU ] };
1086 key <LatR> { [ Cyrillic_ka, Cyrillic_KA ] };
1087 key <LatT> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_e, Cyrillic_E ] };
1088 key <LatY> { [ Cyrillic_en, Cyrillic_EN ] };
1089 key <LatU> { [ Cyrillic_ghe, Cyrillic_GHE ] };
1090 key <LatI> { [ Cyrillic_sha, Cyrillic_SHA, Cyrillic_shcha, Cyrillic_SHCHA ] };
1091 key <LatO> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
1092 key <LatP> { [ Cyrillic_ze, Cyrillic_ZE ] };
1093
1094 key <LatA> { [ Cyrillic_ef, Cyrillic_EF ] };
1095 key <LatS> { [ Cyrillic_yeru, Cyrillic_YERU ] };
1096 key <LatD> { [ Cyrillic_ve, Cyrillic_VE ] };
1097 key <LatF> { [ Cyrillic_a, Cyrillic_A ] };
1098 key <LatG> { [ Cyrillic_pe, Cyrillic_PE ] };
1099 key <LatH> { [ Cyrillic_er, Cyrillic_ER ] };
1100 key <LatJ> { [ Cyrillic_o, Cyrillic_O, Cyrillic_io, Cyrillic_IO ] };
1101 key <LatK> { [ Cyrillic_el, Cyrillic_EL ] };
1102 key <LatL> { [ Cyrillic_de, Cyrillic_DE ] };
1103
1104 key <LatZ> { [ Cyrillic_ya, Cyrillic_YA ] };
1105 key <LatX> { [ Cyrillic_che, Cyrillic_CHE, Cyrillic_tse, Cyrillic_TSE ] };
1106 key <LatC> { [ Cyrillic_es, Cyrillic_ES ] };
1107 key <LatV> { [ Cyrillic_em, Cyrillic_EM ] };
1108 key <LatB> { [ Cyrillic_i, Cyrillic_I, Cyrillic_shorti, Cyrillic_SHORTI ] };
1109 key <LatN> { [ Cyrillic_te, Cyrillic_TE ] };
1110 key <LatM> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
1111 };
1112
1113 partial alphanumeric_keys
1114 xkb_symbols "phonetic_mac" {
1115
1116 include "ru(phonetic_winkeys)"
1117 name[Group1]= "Russian (phonetic Macintosh)";
1118
1119 key <LatE> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] };
1120 key <LatW> { [ Cyrillic_sha, Cyrillic_SHA ] };
1121 key <LatV> { [ Cyrillic_ve, Cyrillic_VE ] };
1122 key <TLDE> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
1123 key <AD11> { [ Cyrillic_yu, Cyrillic_YU ] };
1124 key <AD12> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
1125 key <AE03> { [ 3, numbersign, numerosign ] };
1126 key <AE04> { [ 4, dollar, U20BD ] }; // ruble
1127 key <AE05> { [ 5, percent ] };
1128 key <AE06> { [ 6, asciicircum ] };
1129 key <AE11> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, minus, underscore ] };
1130 key <AE12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, equal, plus ] };
1131
1132 include "level3(ralt_switch)"
1133 };
1134
1135 // Russian engineering keyboard layout ()
1136 // Based on the Russian standard keyboard layout
1137 // Baryshkin Andrey <baryshkin_aa (a] codeblast.ru>
1138 // Last changes 2022/08/07
1139 // Version 2.0
1140 partial alphanumeric_keys
1141 xkb_symbols "ruchey_ru" {
1142
1143 name[Group1]= "Russian (engineering, RU)";
1144
1145 include "ru(common)"
1146
1147 key <TLDE> { [ NoSymbol, NoSymbol, grave, U0301 ] };
1148
1149 key <AE01> { [ NoSymbol, exclam, U20BD, VoidSymbol ] };
1150 key <AE02> { [ NoSymbol, quotedbl, at, VoidSymbol ] };
1151 key <AE03> { [ NoSymbol, numerosign, numbersign, VoidSymbol ] };
1152 key <AE04> { [ NoSymbol, semicolon, dollar, VoidSymbol ] };
1153 key <AE05> { [ NoSymbol, percent, apostrophe, VoidSymbol ] };
1154 key <AE06> { [ NoSymbol, colon, asciicircum, VoidSymbol ] };
1155 key <AE07> { [ NoSymbol, question, ampersand, VoidSymbol ] };
1156 key <AE08> { [ NoSymbol, asterisk, asciitilde, VoidSymbol ] };
1157 key <AE09> { [ NoSymbol, parenleft, guillemotleft, VoidSymbol ] };
1158 key <AE10> { [ NoSymbol, parenright, guillemotright, VoidSymbol ] };
1159 key <AE11> { [ NoSymbol, underscore, VoidSymbol, VoidSymbol ] };
1160 key <AE12> { [ NoSymbol, plus, VoidSymbol, VoidSymbol ] };
1161
1162 key <AD04> { [ NoSymbol, NoSymbol, NoSymbol, registered ] };
1163 key <AD03> { [ NoSymbol, NoSymbol, EuroSign, VoidSymbol ] };
1164 key <AD06> { [ NoSymbol, NoSymbol, U00A5, VoidSymbol ] };
1165 key <AD11> { [ NoSymbol, NoSymbol, braceleft, VoidSymbol ] };
1166 key <AD12> { [ NoSymbol, NoSymbol, braceright, VoidSymbol ] };
1167
1168 key <AC02> { [ NoSymbol, NoSymbol, U00A7, VoidSymbol ] };
1169 key <AC10> { [ NoSymbol, NoSymbol, bracketleft, VoidSymbol ] };
1170 key <AC11> { [ NoSymbol, NoSymbol, bracketright, VoidSymbol ] };
1171
1172 key <AB03> { [ NoSymbol, NoSymbol, NoSymbol, copyright ] };
1173 key <AB08> { [ NoSymbol, NoSymbol, less, VoidSymbol ] };
1174 key <AB09> { [ NoSymbol, NoSymbol, greater, VoidSymbol ] };
1175 key <AB10> { [ period, comma, VoidSymbol, VoidSymbol ] };
1176
1177 key <BKSL> { [ slash, backslash, bar, VoidSymbol ] };
1178 key <LSGT> { [ slash, backslash, bar, VoidSymbol ] };
1179
1180 include "kpdl(dot)"
1181 };
1182
1183 // Russian engineering keyboard layout ()
1184 // Based on the English standard keyboard layout
1185 // Baryshkin Andrey <baryshkin_aa (a] codeblast.ru>
1186 // Last changes 2022/08/07
1187 // Version 2.0
1188 partial alphanumeric_keys
1189 xkb_symbols "ruchey_en" {
1190
1191 name[Group1]= "Russian (engineering, EN)";
1192
1193 include "us(basic)"
1194
1195 key <TLDE> { [ VoidSymbol, VoidSymbol, grave, U0301 ] };
1196
1197 key <AE01> { [ NoSymbol, exclam, U20BD, VoidSymbol ] };
1198 key <AE02> { [ NoSymbol, quotedbl, at, VoidSymbol ] };
1199 key <AE03> { [ NoSymbol, numerosign, numbersign, VoidSymbol ] };
1200 key <AE04> { [ NoSymbol, semicolon, dollar, VoidSymbol ] };
1201 key <AE05> { [ NoSymbol, percent, apostrophe, VoidSymbol ] };
1202 key <AE06> { [ NoSymbol, colon, asciicircum, VoidSymbol ] };
1203 key <AE07> { [ NoSymbol, question, ampersand, VoidSymbol ] };
1204 key <AE08> { [ NoSymbol, asterisk, asciitilde, VoidSymbol ] };
1205 key <AE09> { [ NoSymbol, parenleft, guillemotleft, VoidSymbol ] };
1206 key <AE10> { [ NoSymbol, parenright, guillemotright, VoidSymbol ] };
1207 key <AE11> { [ NoSymbol, underscore, VoidSymbol, VoidSymbol ] };
1208 key <AE12> { [ NoSymbol, plus, VoidSymbol, VoidSymbol ] };
1209
1210 key <AD04> { [ NoSymbol, NoSymbol, NoSymbol, registered ] };
1211 key <AD03> { [ NoSymbol, NoSymbol, EuroSign, VoidSymbol ] };
1212 key <AD06> { [ NoSymbol, NoSymbol, U00A5, VoidSymbol ] };
1213 key <AD11> { [ VoidSymbol, VoidSymbol, braceleft, VoidSymbol ] };
1214 key <AD12> { [ VoidSymbol, VoidSymbol, braceright, VoidSymbol ] };
1215
1216 key <AC02> { [ NoSymbol, NoSymbol, U00A7, VoidSymbol ] };
1217 key <AC10> { [ VoidSymbol, VoidSymbol, bracketleft, VoidSymbol ] };
1218 key <AC11> { [ VoidSymbol, VoidSymbol, bracketright, VoidSymbol ] };
1219
1220 key <AB03> { [ NoSymbol, NoSymbol, NoSymbol, copyright ] };
1221 key <AB08> { [ VoidSymbol, VoidSymbol, less, VoidSymbol ] };
1222 key <AB09> { [ VoidSymbol, VoidSymbol, greater, VoidSymbol ] };
1223 key <AB10> { [ period, comma, VoidSymbol, VoidSymbol ] };
1224
1225 key <BKSL> { [ slash, backslash, bar, VoidSymbol ] };
1226 key <LSGT> { [ slash, backslash, bar, VoidSymbol ] };
1227
1228 include "kpdl(dot)"
1229 };
1230
1231 // RU Winkeys-P layout based on RU Winkeys with top row digits switched
1232 // Vladimir Gorelov <virtual.lark (a] gmail.com>
1233 partial alphanumeric_keys
1234 xkb_symbols "winkeys-p" {
1235 include "ru(winkeys)"
1236 name[Group1]= "Russian (Programmer)";
1237
1238 key <AE01> { [ exclam, 1 ] };
1239 key <AE02> { [ at, 2 ] };
1240 key <AE03> { [ numbersign, 3 ] };
1241 key <AE04> { [ dollar, 4 ] };
1242 key <AE05> { [ percent, 5 ] };
1243 key <AE06> { [ asciicircum, 6 ] };
1244 key <AE07> { [ ampersand, 7 ] };
1245 key <AE08> { [ asterisk, 8 ] };
1246 key <AE09> { [ parenleft, 9 ] };
1247 key <AE10> { [ parenright, 0 ] };
1248 };
1249