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