Форк
0
305 строк · 16.0 Кб
1
// Keyboard layouts for Kazachstan.
2

3
// Based on http://www.sci.kz/~sairan/keyboard/kzkbd.html
4
// Baurzhan Ismagulov <ibr@radix50.net>
5

6
// TODO:
7
// 1. AltGr with TLDE and LSGT.
8
// 2. Dead key for ruskaz and kazrus.
9
// 3. Ctrl + <key>.
10
// 4. Alt-Tab.
11

12
// RST KazSSR 903-90
13
// levels 3 and 4 are non-standard extensions
14
default partial alphanumeric_keys
15
xkb_symbols "basic" {
16

17
    name[Group1] = "Kazakh";
18

19
key.type[group1] = "FOUR_LEVEL";
20

21
    key <TLDE> { [ parenleft,               parenright,              Cyrillic_io, Cyrillic_IO ] };
22
    key <AE01> { [ quotedbl,      exclam ] };
23
    key <AE06> { [ comma,                   semicolon ] };
24
    key <AE07> { [ period,                  colon ] };
25
    key <BKSL> { [ backslash,               slash ] };
26
    key <AB10> { [ numerosign,              question ] };
27
    key <LSGT> { [ less,                    greater,                 bar,         brokenbar ] };
28

29
key.type[group1] = "ALPHABETIC";
30

31
    key <AE02> { [ Cyrillic_schwa,          Cyrillic_SCHWA ] };
32
    key <AE03> { [ Ukrainian_i,             Ukrainian_I ] };
33
    key <AE04> { [ Cyrillic_en_descender,   Cyrillic_EN_descender ] };
34
    key <AE05> { [ Cyrillic_ghe_bar,        Cyrillic_GHE_bar ] };
35
    key <AE08> { [ Cyrillic_u_straight,     Cyrillic_U_straight ] };
36
    key <AE09> { [ Cyrillic_u_straight_bar, Cyrillic_U_straight_bar ] };
37
    key <AE10> { [ Cyrillic_ka_descender,   Cyrillic_KA_descender ] };
38
    key <AE11> { [ Cyrillic_o_bar,          Cyrillic_O_bar ] };
39
    key <AE12> { [ Cyrillic_shha,           Cyrillic_SHHA ] };
40

41
    key <AD01> { [ Cyrillic_shorti,         Cyrillic_SHORTI ] };
42
    key <AD02> { [ Cyrillic_tse,            Cyrillic_TSE ] };
43
    key <AD03> { [ Cyrillic_u,              Cyrillic_U ] };
44
    key <AD04> { [ Cyrillic_ka,             Cyrillic_KA ] };
45
    key <AD05> { [ Cyrillic_ie,             Cyrillic_IE ] };
46
    key <AD06> { [ Cyrillic_en,             Cyrillic_EN ] };
47
    key <AD07> { [ Cyrillic_ghe,            Cyrillic_GHE ] };
48
    key <AD08> { [ Cyrillic_sha,            Cyrillic_SHA ] };
49
    key <AD09> { [ Cyrillic_shcha,          Cyrillic_SHCHA ] };
50
    key <AD10> { [ Cyrillic_ze,             Cyrillic_ZE ] };
51
    key <AD11> { [ Cyrillic_ha,             Cyrillic_HA ] };
52
    key <AD12> { [ Cyrillic_hardsign,       Cyrillic_HARDSIGN ] };
53
    key <AC01> { [ Cyrillic_ef,             Cyrillic_EF ] };
54
    key <AC02> { [ Cyrillic_yeru,           Cyrillic_YERU ] };
55
    key <AC03> { [ Cyrillic_ve,             Cyrillic_VE ] };
56
    key <AC04> { [ Cyrillic_a,              Cyrillic_A ] };
57
    key <AC05> { [ Cyrillic_pe,             Cyrillic_PE ] };
58
    key <AC06> { [ Cyrillic_er,             Cyrillic_ER ] };
59
    key <AC07> { [ Cyrillic_o,              Cyrillic_O ] };
60
    key <AC08> { [ Cyrillic_el,             Cyrillic_EL ] };
61
    key <AC09> { [ Cyrillic_de,             Cyrillic_DE ] };
62
    key <AC10> { [ Cyrillic_zhe,            Cyrillic_ZHE ] };
63
    key <AC11> { [ Cyrillic_e,              Cyrillic_E ] };
64
    key <AB01> { [ Cyrillic_ya,             Cyrillic_YA ] };
65
    key <AB02> { [ Cyrillic_che,            Cyrillic_CHE ] };
66
    key <AB03> { [ Cyrillic_es,             Cyrillic_ES ] };
67
    key <AB04> { [ Cyrillic_em,             Cyrillic_EM ] };
68
    key <AB06> { [ Cyrillic_te,             Cyrillic_TE ] };
69
    key <AB05> { [ Cyrillic_i,              Cyrillic_I ] };
70
    key <AB07> { [ Cyrillic_softsign,       Cyrillic_SOFTSIGN ] };
71
    key <AB08> { [ Cyrillic_be,             Cyrillic_BE ] };
72
    key <AB09> { [ Cyrillic_yu,             Cyrillic_YU ] };
73
};
74

75
// Kikkarin KZ1
76
partial alphanumeric_keys
77
xkb_symbols "ruskaz" {
78

79
    name[Group1] = "Russian (Kazakhstan, with Kazakh)";
80

81
key.type[group1] = "FOUR_LEVEL";
82

83
    key	<AE01> { [ 1,                       exclam ] };
84
    key	<AE02> { [ 2,                       quotedbl,                at ] };
85
    key	<AE03> { [ 3,                       numerosign,              numbersign ] };
86
    key	<AE04> { [ 4,                       semicolon,               dollar ] };
87
    key	<AE05> { [ 5,                       percent ] };
88
    key	<AE06> { [ 6,                       colon,                   asciicircum ] };
89
    key	<AE07> { [ 7,                       question,                ampersand ] };
90
    key	<AE08> { [ 8,                       asterisk ] };
91
    key	<AE09> { [ 9,                       parenleft ] };
92
    key	<AE10> { [ 0,                       parenright ] };
93
    key	<AE11> { [ minus,                   underscore ] };
94
    key	<AE12> { [ equal,                   plus ] };
95
    key	<BKSL> { [ backslash,               slash,                   bar ] };
96
    key	<AB10> { [ period,                  comma,                   slash,                   question ] };
97
    key <LSGT> { [ less,                    greater,                 bar,                     brokenbar ] };
98

99
key.type[group1] = "FOUR_LEVEL_ALPHABETIC";
100

101
    key	<TLDE> { [ Cyrillic_io,             Cyrillic_IO ] };
102
    key	<AD01> { [ Cyrillic_shorti,         Cyrillic_SHORTI,         Cyrillic_u_straight_bar, Cyrillic_U_straight_bar ] };
103
    key	<AD02> { [ Cyrillic_tse,            Cyrillic_TSE ] };
104
    key	<AD03> { [ Cyrillic_u,              Cyrillic_U,              Cyrillic_u_straight,     Cyrillic_U_straight ] };
105
    key	<AD04> { [ Cyrillic_ka,             Cyrillic_KA,             Cyrillic_ka_descender,   Cyrillic_KA_descender ] };
106
    key	<AD05> { [ Cyrillic_ie,             Cyrillic_IE,             Cyrillic_io,             Cyrillic_IO ] };
107
    key	<AD06> { [ Cyrillic_en,             Cyrillic_EN,             Cyrillic_en_descender,   Cyrillic_EN_descender ] };
108
    key	<AD07> { [ Cyrillic_ghe,            Cyrillic_GHE,            Cyrillic_ghe_bar,        Cyrillic_GHE_bar ] };
109
    key	<AD08> { [ Cyrillic_sha,            Cyrillic_SHA ] };
110
    key	<AD09> { [ Cyrillic_shcha,          Cyrillic_SHCHA ] };
111
    key	<AD10> { [ Cyrillic_ze,             Cyrillic_ZE ] };
112
    key	<AD11> { [ Cyrillic_ha,             Cyrillic_HA,             Cyrillic_shha,           Cyrillic_SHHA ] };
113
    key	<AD12> { [ Cyrillic_hardsign,       Cyrillic_HARDSIGN ] };
114
    key	<AC01> { [ Cyrillic_ef,             Cyrillic_EF ] };
115
    key	<AC02> { [ Cyrillic_yeru,           Cyrillic_YERU ] };
116
    key	<AC03> { [ Cyrillic_ve,             Cyrillic_VE ] };
117
    key	<AC04> { [ Cyrillic_a,              Cyrillic_A,              Cyrillic_schwa,          Cyrillic_SCHWA ] };
118
    key	<AC05> { [ Cyrillic_pe,             Cyrillic_PE ] };
119
    key	<AC06> { [ Cyrillic_er,             Cyrillic_ER ] };
120
    key	<AC07> { [ Cyrillic_o,              Cyrillic_O,              Cyrillic_o_bar,          Cyrillic_O_bar ] };
121
    key	<AC08> { [ Cyrillic_el,             Cyrillic_EL ] };
122
    key	<AC09> { [ Cyrillic_de,             Cyrillic_DE ] };
123
    key	<AC10> { [ Cyrillic_zhe,            Cyrillic_ZHE ] };
124
    key	<AC11> { [ Cyrillic_e,              Cyrillic_E ] };
125
    key	<AB01> { [ Cyrillic_ya,             Cyrillic_YA ] };
126
    key	<AB02> { [ Cyrillic_che,            Cyrillic_CHE ] };
127
    key	<AB03> { [ Cyrillic_es,             Cyrillic_ES ] };
128
    key	<AB04> { [ Cyrillic_em,             Cyrillic_EM ] };
129
    key	<AB06> { [ Cyrillic_te,             Cyrillic_TE ] };
130
    key	<AB05> { [ Cyrillic_i,              Cyrillic_I,              Ukrainian_i,             Ukrainian_I ] };
131
    key	<AB07> { [ Cyrillic_softsign,       Cyrillic_SOFTSIGN ] };
132
    key	<AB08> { [ Cyrillic_be,             Cyrillic_BE ] };
133
    key	<AB09> { [ Cyrillic_yu,             Cyrillic_YU ] };
134
};
135

136
// Kikkarin KZ2
137
partial alphanumeric_keys
138
xkb_symbols "kazrus" {
139

140
    name[Group1] = "Kazakh (with Russian)";
141

142
key.type[group1] = "FOUR_LEVEL";
143

144
    key	<AE01> { [ 1,                       exclam ] };
145
    key	<AE02> { [ 2,                       quotedbl,                at ] };
146
    key	<AE03> { [ 3,                       numerosign,              numbersign ] };
147
    key	<AE04> { [ 4,                       semicolon,               dollar ] };
148
    key	<AE05> { [ 5,                       percent ] };
149
    key	<AE06> { [ 6,                       colon,                   asciicircum ] };
150
    key	<AE07> { [ 7,                       question,                ampersand ] };
151
    key	<AE08> { [ 8,                       asterisk ] };
152
    key	<AE09> { [ 9,                       parenleft ] };
153
    key	<AE10> { [ 0,                       parenright ] };
154
    key	<AE11> { [ minus,                   underscore ] };
155
    key	<AE12> { [ equal,                   plus ] };
156
    key	<BKSL> { [ backslash,               slash,                   bar ] };
157
    key	<AB10> { [ period,                  comma,                   slash,                   question ] };
158
    key <LSGT> { [ less,                    greater,                 bar,                     brokenbar ] };
159

160
key.type[group1] = "FOUR_LEVEL_ALPHABETIC";
161

162
    key	<TLDE> { [ Cyrillic_io,             Cyrillic_IO ] };
163
    key	<AD01> { [ Cyrillic_shorti,         Cyrillic_SHORTI ] };
164
    key	<AD02> { [ Cyrillic_en_descender,   Cyrillic_EN_descender,   Cyrillic_tse,            Cyrillic_TSE ] };
165
    key	<AD03> { [ Cyrillic_u,              Cyrillic_U ] };
166
    key	<AD04> { [ Cyrillic_ka,             Cyrillic_KA,             Cyrillic_ka_descender,    Cyrillic_KA_descender ] };
167
    key	<AD05> { [ Cyrillic_ie,             Cyrillic_IE,             Cyrillic_io,             Cyrillic_IO ] };
168
    key	<AD06> { [ Cyrillic_en,             Cyrillic_EN ] };
169
    key	<AD07> { [ Cyrillic_ghe,            Cyrillic_GHE ] };
170
    key	<AD08> { [ Cyrillic_sha,            Cyrillic_SHA ] };
171
    key	<AD09> { [ Cyrillic_ghe_bar,        Cyrillic_GHE_bar,        Cyrillic_shcha,          Cyrillic_SHCHA ] };
172
    key	<AD10> { [ Cyrillic_ze,             Cyrillic_ZE ] };
173
    key	<AD11> { [ Cyrillic_ha,             Cyrillic_HA,             Cyrillic_shha,           Cyrillic_SHHA ] };
174
    key	<AD12> { [ Cyrillic_u_straight_bar, Cyrillic_U_straight_bar, Cyrillic_hardsign,       Cyrillic_HARDSIGN ] };
175
    key	<AC01> { [ Cyrillic_o_bar,          Cyrillic_O_bar,          Cyrillic_ef,             Cyrillic_EF ] };
176
    key	<AC02> { [ Cyrillic_yeru,           Cyrillic_YERU ] };
177
    key	<AC03> { [ Cyrillic_ka_descender,   Cyrillic_KA_descender,   Cyrillic_ve,             Cyrillic_VE ] };
178
    key	<AC04> { [ Cyrillic_a,              Cyrillic_A ] };
179
    key	<AC05> { [ Cyrillic_pe,             Cyrillic_PE ] };
180
    key	<AC06> { [ Cyrillic_er,             Cyrillic_ER ] };
181
    key	<AC07> { [ Cyrillic_o,              Cyrillic_O ] };
182
    key	<AC08> { [ Cyrillic_el,             Cyrillic_EL ] };
183
    key	<AC09> { [ Cyrillic_de,             Cyrillic_DE ] };
184
    key	<AC10> { [ Cyrillic_zhe,            Cyrillic_ZHE ] };
185
    key	<AC11> { [ Cyrillic_schwa,          Cyrillic_SCHWA,          Cyrillic_e,              Cyrillic_E ] };
186
    key	<AB01> { [ Cyrillic_ya,             Cyrillic_YA ] };
187
    key	<AB02> { [ Ukrainian_i,             Ukrainian_I,             Cyrillic_che,            Cyrillic_CHE ] };
188
    key	<AB03> { [ Cyrillic_es,             Cyrillic_ES ] };
189
    key	<AB04> { [ Cyrillic_em,             Cyrillic_EM ] };
190
    key	<AB06> { [ Cyrillic_te,             Cyrillic_TE ] };
191
    key	<AB05> { [ Cyrillic_i,              Cyrillic_I ] };
192
    key	<AB07> { [ Cyrillic_u_straight,     Cyrillic_U_straight,     Cyrillic_softsign,       Cyrillic_SOFTSIGN ] };
193
    key	<AB08> { [ Cyrillic_be,             Cyrillic_BE ] };
194
    key	<AB09> { [ Cyrillic_yu,             Cyrillic_YU ] };
195
};
196

197
partial alphanumeric_keys
198
xkb_symbols "olpc" {
199

200
// Contact: Walter Bender <walter@laptop.org>
201

202
// We moved the Cyrillic IO off of the Tilde Key as an Alt-GR character
203
// and moved it onto the Backslash key, making Backslash and Bar available
204
// through the Latin side of the keyboard.
205

206
   include "kz(basic)"
207

208
   key <TLDE> { [ parenleft,               parenright ] };
209
   key <BKSL> { [ Cyrillic_io,             Cyrillic_IO ] };
210

211
   include "group(olpc)"
212
};
213

214
partial alphanumeric_keys
215
xkb_symbols "ext" {
216

217
// Levels 3 and 4 represent main keyboard's numeric part of US layout,
218
// parens are duplicated for consistency.
219

220
    include "kz(basic)"
221
    name[Group1] = "Kazakh (extended)";
222

223
key.type[group1] = "FOUR_LEVEL_ALPHABETIC";
224

225
    key <TLDE> { [ Cyrillic_io,             Cyrillic_IO,             grave,  asciitilde ] };
226
    key <AE01> { [ quotedbl,                exclam,                  1,      exclam ] };
227
    key <AE02> { [ Cyrillic_schwa,          Cyrillic_SCHWA,          2,      at ] };
228
    key <AE03> { [ Ukrainian_i,             Ukrainian_I,             3,      numbersign ] };
229
    key <AE04> { [ Cyrillic_en_descender,   Cyrillic_EN_descender,   4,      dollar ] };
230
    key <AE05> { [ Cyrillic_ghe_bar,        Cyrillic_GHE_bar,        5,      percent ] };
231
    key <AE06> { [ comma,                   semicolon,               6,      asciicircum ] };
232
    key <AE07> { [ period,                  colon,                   7,      ampersand ] };
233
    key <AE08> { [ Cyrillic_u_straight,     Cyrillic_U_straight,     8,      asterisk ] };
234
    key <AE09> { [ Cyrillic_u_straight_bar, Cyrillic_U_straight_bar, 9,      parenleft ] };
235
    key <AE10> { [ Cyrillic_ka_descender,   Cyrillic_KA_descender,   0,      parenright ] };
236
    key <AE11> { [ Cyrillic_o_bar,          Cyrillic_O_bar,          minus,  underscore  ] };
237
    key <AE12> { [ Cyrillic_shha,           Cyrillic_SHHA,           equal,  plus ] };
238
    key <BKSL> { [ backslash,               slash,                   bar,    brokenbar ] };
239
    key <AD11> { [ Cyrillic_ha,             Cyrillic_HA,             bracketleft,  braceleft ] };
240
    key <AD12> { [ Cyrillic_hardsign,       Cyrillic_HARDSIGN,       bracketright, braceright ] };
241
    key <AC11> { [ Cyrillic_e,              Cyrillic_E,              apostrophe ] };
242
    key <AB08> { [ Cyrillic_be,             Cyrillic_BE,             less    ] };
243
    key <AB09> { [ Cyrillic_yu,             Cyrillic_YU,             greater ] };
244

245
   include "level3(ralt_switch)"
246
};
247

248
// Kazakh Latin (based on Kazakh alphabet version of 2018)
249
// levels 3 and 4 are non-standard extensions
250
partial alphanumeric_keys
251
xkb_symbols "latin" {
252

253
// Contact: Galym Kerimbekov <housegregory299@gmail.com>
254

255
    name[Group1] = "Kazakh (Latin)";
256

257
key.type[group1] = "FOUR_LEVEL";
258

259
    key <TLDE> { [ parenleft,               parenright ] };
260
    key <AE01> { [ quotedbl,                exclam ] };
261
    key <AE06> { [ comma,                   semicolon ] };
262
    key <AE07> { [ period,                  colon ] };
263
    key <BKSL> { [ backslash,               slash ] };
264
    key <AB10> { [ numerosign,              question ] };
265
    key <LSGT> { [ less,                    greater,                 bar,         brokenbar ] };
266

267
key.type[group1] = "ALPHABETIC";
268

269
    key <AE02> { [ aacute,                  Aacute ] };
270
    key <AE03> { [ iacute,                  Iacute ] };
271
    key <AE04> { [ nacute,                  Nacute ] };
272
    key <AE05> { [ U01F5,                   U01F4 ] }; // gG with acute
273
    key <AE08> { [ uacute,                  Uacute ] };
274
    key <AE09> { [ yacute,                  Yacute ] };
275
    key <AE10> { [ oacute,                  Oacute ] };
276
    key <AE11> { [ sacute,                  Sacute ] };
277
    key <AE12> { [ cacute,                  Cacute ] };
278

279
    key <AD01> { [ q,                       Q ] };
280
    key <AD02> { [ w,                       W ] };
281
    key <AD03> { [ e,                       E ] };
282
    key <AD04> { [ r,                       R ] };
283
    key <AD05> { [ t,                       T ] };
284
    key <AD06> { [ y,                       Y ] };
285
    key <AD07> { [ u,                       U ] };
286
    key <AD08> { [ i,                       I ] };
287
    key <AD09> { [ o,                       O ] };
288
    key <AD10> { [ p,                       P ] };
289
    key <AC01> { [ a,                       A ] };
290
    key <AC02> { [ s,                       S ] };
291
    key <AC03> { [ d,                       D ] };
292
    key <AC04> { [ f,                       F ] };
293
    key <AC05> { [ g,                       G ] };
294
    key <AC06> { [ h,                       H ] };
295
    key <AC07> { [ j,                       J ] };
296
    key <AC08> { [ k,                       K ] };
297
    key <AC09> { [ l,                       L ] };
298
    key <AB01> { [ z,                       Z ] };
299
    key <AB02> { [ x,                       X ] };
300
    key <AB03> { [ c,                       C ] };
301
    key <AB04> { [ v,                       M ] };
302
    key <AB05> { [ b,                       B ] };
303
    key <AB06> { [ n,                       N ] };
304
    key <AB07> { [ m,                       M ] };
305
};
306

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.