Some useful mappings enabled in evdev section
[xorg/xkeyboard-config] / symbols / ua
1 // $XKeyboardConfig$
2
3 // based on
4 // ukrainian standard keyboard 
5 // AEN <aen@logic.ru> & Leon Kanter <leon@geon.donetsk.ua>
6 // Last Changes 2007/10/03 by Andriy Rysin <arysin@yahoo.com>
7 //
8 // $XFree86: xc/programs/xkbcomp/symbols/ua,v 1.4 2003/05/15 11:29:47 pascal Exp $
9
10 // Unicode - 3d level added with some Unicode symbols (typographic quotes, m-dash, n-dash etc), 
11 // some often used cyrillics from other slavic languages and some ASCII symbols used often (slash, brackets...)
12 partial default alphanumeric_keys
13 xkb_symbols "unicode" {
14     include "ua(winkeys)"
15  
16     name[Group1]= "Ukraine";
17
18     key <TLDE> {    [           U2019,  apostrophe,    U0301,   asciitilde     ]       };       // Apostrophe and Stress symbol
19     key <AE02> {    [               1,      exclam,  onesuperior               ]       };
20     key <AE02> {    [               2,    quotedbl,  twosuperior               ]       };
21     key <AE03> {    [               3,  numerosign,        U00A7,    U20B4     ]       };       // Paragraph and Hryvnia sign
22     key <AE04> {    [               4,   semicolon,       dollar,    EuroSign  ]       };
23     key <AE05> {    [               5,     percent,       degree               ]       };
24     key <AE06> {    [               6,       colon,   less                             ]       };
25     key <AE07> {    [               7,    question,   greater                             ]       };
26     key <AE08> {    [               8,    asterisk, enfilledcircbullet         ]       };
27     key <AE09> {    [               9,   parenleft,  bracketleft,    braceleft ]       };
28     key <AE10> {    [               0,  parenright, bracketright,    braceright]       };
29     key <AE11> {    [           minus,  underscore,       emdash,    endash    ]       };
30     key <AE12> {    [           equal,        plus,     notequal,    plusminus ]       };
31
32     key <AD03> {    [      Cyrillic_u,  Cyrillic_U,  Byelorussian_shortu,  Byelorussian_SHORTU  ]};
33     key <AD04> {    [     Cyrillic_ka, Cyrillic_KA,     registered             ]       };                                               // Registered tm
34     key <AD05> {    [     Cyrillic_ie, Cyrillic_IE,     Cyrillic_io,     Cyrillic_IO    ]       };
35     key <AD12> {    [    Ukrainian_yi,Ukrainian_YI,     Cyrillic_hardsign,      Cyrillic_HARDSIGN       ]       };
36     key <AC02> {    [    Ukrainian_i,  Ukrainian_I, Cyrillic_yeru,   Cyrillic_YERU      ]       };
37     key <AC11> {    [    Ukrainian_ie,Ukrainian_IE,     Cyrillic_e,     Cyrillic_E      ]       };
38
39     key <BKSL> {    [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN, backslash,  bar     ]       };
40
41     key <AB03> {    [     Cyrillic_es,     Cyrillic_ES, copyright              ]        };
42     key <AB06> {    [     Cyrillic_te,     Cyrillic_TE, trademark              ]        };
43     key <AB08> {    [     Cyrillic_be,     Cyrillic_BE, guillemotleft,  doublelowquotemark      ]       };
44     key <AB09> {    [     Cyrillic_yu,     Cyrillic_YU, guillemotright, leftdoublequotemark ]   };
45     key <AB10> {    [          period,           comma, slash,          ellipsis        ]       };
46
47     include "level3(ralt_switch)"
48 };
49
50 partial alphanumeric_keys 
51 xkb_symbols "legacy" {
52
53     name[Group1]= "Ukraine - Legacy";
54
55     key <TLDE> {        [      apostrophe,      asciitilde      ]       };
56     key <AE01> {        [               1,          exclam      ]       };
57     key <AE02> {        [               2,        quotedbl      ]       };
58     key <AE03> {        [               3,      numbersign      ]       };
59     key <AE04> {        [               4,        asterisk      ]       };
60     key <AE05> {        [               5,           colon      ]       };
61     key <AE06> {        [               6,           comma      ]       };
62     key <AE07> {        [               7,          period      ]       };
63     key <AE08> {        [               8,       semicolon      ]       };
64     key <AE09> {        [               9,       parenleft      ]       };
65     key <AE10> {        [               0,      parenright      ]       };
66     key <AE11> {        [           minus,      underscore      ]       };
67     key <AE12> {        [           equal,            plus      ]       };
68
69     key <AD01> {        [ Cyrillic_shorti, Cyrillic_SHORTI      ]       };
70     key <AD02> {        [    Cyrillic_tse,    Cyrillic_TSE      ]       };
71     key <AD03> {        [      Cyrillic_u,      Cyrillic_U      ]       };
72     key <AD04> {        [     Cyrillic_ka,     Cyrillic_KA      ]       };
73     key <AD05> {        [     Cyrillic_ie,     Cyrillic_IE      ]       };
74     key <AD06> {        [     Cyrillic_en,     Cyrillic_EN      ]       };
75     key <AD07> {        [    Cyrillic_ghe,    Cyrillic_GHE      ]       };
76     key <AD08> {        [    Cyrillic_sha,    Cyrillic_SHA      ]       };
77     key <AD09> {        [  Cyrillic_shcha,  Cyrillic_SHCHA      ]       };
78     key <AD10> {        [     Cyrillic_ze,     Cyrillic_ZE      ]       };
79     key <AD11> {        [     Cyrillic_ha,     Cyrillic_HA      ]       };
80     key <AD12> {        [    Ukrainian_yi,    Ukrainian_YI      ]       };
81     key <BKSL> {        [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
82
83     key <AC01> {        [     Cyrillic_ef,     Cyrillic_EF      ]       };
84     key <AC02> {        [     Ukrainian_i,     Ukrainian_I      ]       };
85     key <AC03> {        [     Cyrillic_ve,     Cyrillic_VE      ]       };
86     key <AC04> {        [      Cyrillic_a,      Cyrillic_A      ]       };
87     key <AC05> {        [     Cyrillic_pe,     Cyrillic_PE      ]       };
88     key <AC06> {        [     Cyrillic_er,     Cyrillic_ER      ]       };
89     key <AC07> {        [      Cyrillic_o,      Cyrillic_O      ]       };
90     key <AC08> {        [     Cyrillic_el,     Cyrillic_EL      ]       };
91     key <AC09> {        [     Cyrillic_de,     Cyrillic_DE      ]       };
92     key <AC10> {        [    Cyrillic_zhe,    Cyrillic_ZHE      ]       };
93     key <AC11> {        [    Ukrainian_ie,    Ukrainian_IE      ]       };
94
95     key <AB01> {        [     Cyrillic_ya,     Cyrillic_YA      ]       };
96     key <AB02> {        [    Cyrillic_che,    Cyrillic_CHE      ]       };
97     key <AB03> {        [     Cyrillic_es,     Cyrillic_ES      ]       };
98     key <AB04> {        [     Cyrillic_em,     Cyrillic_EM      ]       };
99     key <AB06> {        [     Cyrillic_te,     Cyrillic_TE      ]       };
100     key <AB05> {        [      Cyrillic_i,      Cyrillic_I      ]       };
101     key <AB07> {        [Cyrillic_softsign,Cyrillic_SOFTSIGN    ]       };
102     key <AB08> {        [     Cyrillic_be,     Cyrillic_BE      ]       };
103     key <AB09> {        [     Cyrillic_yu,     Cyrillic_YU      ]       };
104     key <AB10> {        [           slash,        question      ]       };
105
106     key <LSGT> {        [           slash,             bar      ]       };
107     // End alphanumeric section
108 };
109
110 partial alphanumeric_keys
111 xkb_symbols "winkeys" {
112     include "ua(legacy)"
113  
114     name[Group1]= "Ukraine - Winkeys";
115
116     key <AE03> {        [               3,      numerosign      ]       };
117     key <AE04> {        [               4,       semicolon      ]       };
118     key <AE05> {        [               5,         percent      ]       };
119     key <AE06> {        [               6,           colon      ]       };
120     key <AE07> {        [               7,        question      ]       };
121     key <AE08> {        [               8,        asterisk      ]       };
122     key <AB10> {        [          period,           comma      ]       };
123 };
124
125 partial alphanumeric_keys
126 xkb_symbols "typewriter" {
127     include "ua(legacy)"
128
129     name[Group1]= "Ukraine - Typewriter";
130
131     key <TLDE> {        [      apostrophe,        quotedbl      ]       };
132     key <AE01> {        [          exclam,               1      ]       };
133     key <AE02> {        [      numerosign,               2      ]       };
134     key <AE03> {        [           slash,               3      ]       };
135     key <AE04> {        [       semicolon,               4      ]       };
136     key <AE05> {        [           colon,               5      ]       };
137     key <AE06> {        [           comma,               6      ]       };
138     key <AE07> {        [          period,               7      ]       };
139     key <AE08> {        [      underscore,               8      ]       };
140     key <AE09> {        [        question,               9      ]       };
141     key <AE10> {        [         percent,               0      ]       };
142
143     key <AD12> {        [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
144
145     key <AC02> {        [      Cyrillic_i,      Cyrillic_I      ]       };
146
147     key <AB05> {        [     Ukrainian_i,     Ukrainian_I      ]       };
148
149     key <AB10> {        [    Ukrainian_yi,    Ukrainian_YI      ]       };
150
151     key <BKSL> {        [       parenleft,      parenright      ]       };
152 };
153
154 partial alphanumeric_keys
155 xkb_symbols "phonetic" {
156   include "ua(legacy)"
157   
158   name[Group1]= "Ukraine - Phonetic";
159
160   key <LatQ> {   [ Cyrillic_ya,       Cyrillic_YA         ]    };
161   key <LatW> {   [ Cyrillic_ve,       Cyrillic_VE         ]    };
162   key <LatE> {   [ Cyrillic_ie,       Cyrillic_IE         ]    };
163   key <LatR> {   [ Cyrillic_er,       Cyrillic_ER         ]    };
164   key <LatT> {   [ Cyrillic_te,       Cyrillic_TE         ]    };
165   key <LatY> {   [ Cyrillic_i,        Cyrillic_I          ]    };
166   key <LatU> {   [ Cyrillic_u,        Cyrillic_U          ]    };
167   key <LatI> {   [ Ukrainian_i,       Ukrainian_I         ]    };
168   key <LatO> {   [ Cyrillic_o,        Cyrillic_O          ]    };
169   key <LatP> {   [ Cyrillic_pe,       Cyrillic_PE         ]    };
170   key <AD11> {   [ Cyrillic_sha,      Cyrillic_SHA        ]    };
171   key <AD12> {   [ Cyrillic_shcha,    Cyrillic_SHCHA      ]    };
172
173   key <LatA> {   [ Cyrillic_a,        Cyrillic_A          ]    };
174   key <LatS> {   [ Cyrillic_es,       Cyrillic_ES         ]    };
175   key <LatD> {   [ Cyrillic_de,       Cyrillic_DE         ]    };
176   key <LatF> {   [ Cyrillic_ef,       Cyrillic_EF         ]    };
177   key <LatG> {   [ Cyrillic_ghe,      Cyrillic_GHE        ]    };
178   key <LatH> {   [ Cyrillic_ha,       Cyrillic_HA         ]    };
179   key <LatJ> {   [ Cyrillic_shorti,   Cyrillic_SHORTI     ]    };
180   key <LatK> {   [ Cyrillic_ka,       Cyrillic_KA         ]    };
181   key <LatL> {   [ Cyrillic_el,       Cyrillic_EL         ]    };
182   key <AC10> {   [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
183   key <AC11> {   [ Cyrillic_che,      Cyrillic_CHE        ]    };
184   key <BKSL> {   [ Cyrillic_yu,       Cyrillic_YU         ]    };
185
186   key <LatZ> {   [ Cyrillic_ze,       Cyrillic_ZE         ]    };
187   key <LatX> {   [ Cyrillic_softsign, Cyrillic_SOFTSIGN   ]    };
188   key <LatC> {   [ Cyrillic_tse,      Cyrillic_TSE        ]    };
189   key <LatV> {   [ Cyrillic_zhe,      Cyrillic_ZHE        ]    };
190   key <LatB> {   [ Cyrillic_be,       Cyrillic_BE         ]    };
191   key <LatN> {   [ Cyrillic_en,       Cyrillic_EN         ]    };
192   key <LatM> {   [ Cyrillic_em,       Cyrillic_EM         ]    };
193   key <AB08> {   [ Ukrainian_yi,      Ukrainian_YI        ]    };
194   key <AB09> {   [ Ukrainian_ie,      Ukrainian_IE        ]    };
195   key <AB10> {   [ slash,             question            ]    };
196 };
197
198 // ukrainian keyboard layout RSTU 2019-91 (Respublikanskij STandart Ukrajiny)
199 // Andrew Porokhnyak <aop@porokhnyak.org>
200 partial alphanumeric_keys
201 xkb_symbols "rstu" {
202     include "ua(legacy)"
203
204     name[Group1]= "Ukraine - Standard RSTU";
205
206     key <TLDE> {        [      apostrophe,        question      ]       };
207     key <AE01> {        [          exclam,               1      ]       };
208     key <AE02> {        [        quotedbl,               2      ]       };
209     key <AE03> {        [      numbersign,               3      ]       };
210     key <AE04> {        [       semicolon,               4      ]       };
211     key <AE05> {        [           colon,               5      ]       };
212     key <AE06> {        [           comma,               6      ]       };
213     key <AE07> {        [          period,               7      ]       };
214     key <AE08> {        [        asterisk,               8      ]       };
215     key <AE09> {        [       parenleft,               9      ]       };
216     key <AE10> {        [      parenright,               0      ]       };
217
218     key <AD12> {        [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
219
220     key <AC02> {        [      Cyrillic_i,      Cyrillic_I      ]       };
221
222     key <AB05> {        [     Ukrainian_i,     Ukrainian_I      ]       };
223
224     key <AB10> {        [    Ukrainian_yi,    Ukrainian_YI      ]       };
225
226     key <BKSL> {        [           slash,         percent      ]       };
227 };
228
229 // russian keyboard layout RSTU 2019-91 (Respublikanskij STandart Ukrajiny)
230 // Andrew Porokhnyak <aop@porokhnyak.org>
231 partial alphanumeric_keys
232 xkb_symbols "rstu_ru" {
233     include "ru(common)"
234     name[Group1]= "Ukraine - Standard RSTU on Russian layout";
235
236     key <TLDE> {        [      apostrophe,        question      ]       };
237     key <AE01> {        [          exclam,               1      ]       };
238     key <AE02> {        [        quotedbl,               2      ]       };
239     key <AE03> {        [      numbersign,               3      ]       };
240     key <AE04> {        [       semicolon,               4      ]       };
241     key <AE05> {        [           colon,               5      ]       };
242     key <AE06> {        [           comma,               6      ]       };
243     key <AE07> {        [          period,               7      ]       };
244     key <AE08> {        [        asterisk,               8      ]       };
245     key <AE09> {        [       parenleft,               9      ]       };
246     key <AE10> {        [      parenright,               0      ]       };
247     key <BKSL> {        [           slash,         percent      ]       };
248
249 key.type[group1]="ALPHABETIC";
250
251     key <AB10> {        [     Cyrillic_io,     Cyrillic_IO      ]       };
252 };
253
254 //Homophonic keyboard layout (Tomas Marko Miljenović)
255 //Based on Ukrainian National Transliteration, commonly used phonetic layouts for Mac and Win.
256 //Existing layout "phonetic" used as template.
257 partial alphanumeric_keys
258 xkb_symbols "homophonic" {
259   include "ua(legacy)"
260   name[Group1]= "Ukraine - Homophonic";
261
262   key <TLDE> {   [          grave,      underscore      ]       };
263   key <AE01> {   [              1,          exclam      ]       };
264   key <AE02> {   [              2,              at      ]       };
265   key <AE03> {   [              3,       semicolon      ]       };
266   key <AE04> {   [              4,           colon      ]       };
267   key <AE05> {   [              5,         percent      ]       };
268   key <AE06> {   [              6,      apostrophe      ]       };
269   key <AE07> {   [              7,        quotedbl      ]       };
270   key <AE08> {   [              8,        asterisk      ]       };
271   key <AE09> {   [              9,       parenleft      ]       };
272   key <AE10> {   [              0,      parenright      ]       };
273   key <AE11> {   [ Ukrainian_ie,      Ukrainian_IE        ]    };
274   key <AE12> {   [ Ukrainian_yi,      Ukrainian_YI        ]    };
275
276   key <LatQ> {   [ Cyrillic_ya,       Cyrillic_YA         ]    };
277   key <LatW> {   [ Cyrillic_sha,      Cyrillic_SHA        ]    };
278   key <LatE> {   [ Cyrillic_ie,       Cyrillic_IE         ]    };
279   key <LatR> {   [ Cyrillic_er,       Cyrillic_ER         ]    };
280   key <LatT> {   [ Cyrillic_te,       Cyrillic_TE         ]    };
281   key <LatY> {   [ Cyrillic_i,        Cyrillic_I          ]    };
282   key <LatU> {   [ Cyrillic_u,        Cyrillic_U          ]    };
283   key <LatI> {   [ Ukrainian_i,       Ukrainian_I         ]    };
284   key <LatO> {   [ Cyrillic_o,        Cyrillic_O          ]    };
285   key <LatP> {   [ Cyrillic_pe,       Cyrillic_PE         ]    };
286   key <AD11> {   [ Cyrillic_yu,       Cyrillic_YU        ]    };
287   key <AD12> {   [ Cyrillic_shcha,    Cyrillic_SHCHA      ]    };
288
289   key <LatA> {   [ Cyrillic_a,        Cyrillic_A          ]    };
290   key <LatS> {   [ Cyrillic_es,       Cyrillic_ES         ]    };
291   key <LatD> {   [ Cyrillic_de,       Cyrillic_DE         ]    };
292   key <LatF> {   [ Cyrillic_ef,       Cyrillic_EF         ]    };
293   key <LatG> {   [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ]    };
294   key <LatH> {   [ Cyrillic_ghe,      Cyrillic_GHE        ]    };
295   key <LatJ> {   [ Cyrillic_shorti,   Cyrillic_SHORTI     ]    };
296   key <LatK> {   [ Cyrillic_ka,       Cyrillic_KA         ]    };
297   key <LatL> {   [ Cyrillic_el,       Cyrillic_EL         ]    };
298   key <AC10> {   [ Cyrillic_che,      Cyrillic_CHE        ]    };
299   key <AC11> {   [ Cyrillic_zhe,      Cyrillic_ZHE        ]    };
300   key <BKSL> {   [ Cyrillic_softsign, Cyrillic_SOFTSIGN   ]    };
301
302   key <LatZ> {   [ Cyrillic_ze,       Cyrillic_ZE         ]    };
303   key <LatX> {   [ Cyrillic_ha,       Cyrillic_HA         ]    };
304   key <LatC> {   [ Cyrillic_tse,      Cyrillic_TSE        ]    };
305   key <LatV> {   [ Cyrillic_ve,       Cyrillic_VE         ]    };
306   key <LatB> {   [ Cyrillic_be,       Cyrillic_BE         ]    };
307   key <LatN> {   [ Cyrillic_en,       Cyrillic_EN         ]    };
308   key <LatM> {   [ Cyrillic_em,       Cyrillic_EM         ]    };
309   key <AB08> {   [ comma,             less                ]    };
310   key <AB09> {   [ period,            greater             ]    };
311   key <AB10> {   [ slash,             question            ]    };
312 };
313
314 // Crimean Tatar (Crimean Turkish) layouts.
315 partial
316 xkb_symbols "crh" {
317     include "tr(crh)"
318
319     name[Group1]="Ukraine - Crimean Tatar (Turkish Q)";
320 };
321
322 partial
323 xkb_symbols "crh_f" {
324     include "tr(crh_f)"
325
326     name[Group1]="Ukraine - Crimean Tatar (Turkish F)";
327 };
328
329 partial
330 xkb_symbols "crh_alt" {
331     include "tr(crh_alt)"
332
333     name[Group1]="Ukraine - Crimean Tatar (Turkish Alt-Q)";
334 };