kz revision 1.1.1.7 1 // Based on http://www.sci.kz/~sairan/keyboard/kzkbd.html
2 // Baurzhan Ismagulov <ibr (a] radix50.net>
3 //
4
5 // TODO:
6 // 1. AltGr with TLDE and LSGT.
7 // 2. Dead key for ruskaz and kazrus.
8 // 3. Ctrl + <key>.
9 // 4. Alt-Tab.
10
11 // RST KazSSR 903-90
12 // levels 3 and 4 are non-standard extensions
13 default partial alphanumeric_keys
14 xkb_symbols "basic" {
15
16 name[Group1] = "Kazakh";
17
18 key.type[group1] = "FOUR_LEVEL";
19
20 key <TLDE> { [ parenleft, parenright, Cyrillic_io, Cyrillic_IO ] };
21 key <AE01> { [ quotedbl, exclam ] };
22 key <AE06> { [ comma, semicolon ] };
23 key <AE07> { [ period, colon ] };
24 key <BKSL> { [ backslash, slash ] };
25 key <AB10> { [ numerosign, question ] };
26 key <LSGT> { [ less, greater, bar, brokenbar ] };
27
28 key.type[group1] = "ALPHABETIC";
29
30 key <AE02> { [ Cyrillic_schwa, Cyrillic_SCHWA ] };
31 key <AE03> { [ Ukrainian_i, Ukrainian_I ] };
32 key <AE04> { [ Cyrillic_en_descender, Cyrillic_EN_descender ] };
33 key <AE05> { [ Cyrillic_ghe_bar, Cyrillic_GHE_bar ] };
34 key <AE08> { [ Cyrillic_u_straight, Cyrillic_U_straight ] };
35 key <AE09> { [ Cyrillic_u_straight_bar, Cyrillic_U_straight_bar ] };
36 key <AE10> { [ Cyrillic_ka_descender, Cyrillic_KA_descender ] };
37 key <AE11> { [ Cyrillic_o_bar, Cyrillic_O_bar ] };
38 key <AE12> { [ Cyrillic_shha, Cyrillic_SHHA ] };
39
40 key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
41 key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] };
42 key <AD03> { [ Cyrillic_u, Cyrillic_U ] };
43 key <AD04> { [ Cyrillic_ka, Cyrillic_KA ] };
44 key <AD05> { [ Cyrillic_ie, Cyrillic_IE ] };
45 key <AD06> { [ Cyrillic_en, Cyrillic_EN ] };
46 key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] };
47 key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] };
48 key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
49 key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
50 key <AD11> { [ Cyrillic_ha, Cyrillic_HA ] };
51 key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
52 key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] };
53 key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU ] };
54 key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] };
55 key <AC04> { [ Cyrillic_a, Cyrillic_A ] };
56 key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] };
57 key <AC06> { [ Cyrillic_er, Cyrillic_ER ] };
58 key <AC07> { [ Cyrillic_o, Cyrillic_O ] };
59 key <AC08> { [ Cyrillic_el, Cyrillic_EL ] };
60 key <AC09> { [ Cyrillic_de, Cyrillic_DE ] };
61 key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
62 key <AC11> { [ Cyrillic_e, Cyrillic_E ] };
63 key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] };
64 key <AB02> { [ Cyrillic_che, Cyrillic_CHE ] };
65 key <AB03> { [ Cyrillic_es, Cyrillic_ES ] };
66 key <AB04> { [ Cyrillic_em, Cyrillic_EM ] };
67 key <AB06> { [ Cyrillic_te, Cyrillic_TE ] };
68 key <AB05> { [ Cyrillic_i, Cyrillic_I ] };
69 key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
70 key <AB08> { [ Cyrillic_be, Cyrillic_BE ] };
71 key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] };
72 };
73
74 // Kikkarin KZ1
75 partial alphanumeric_keys
76 xkb_symbols "ruskaz" {
77
78 name[Group1] = "Russian (Kazakhstan, with Kazakh)";
79
80 key.type[group1] = "FOUR_LEVEL";
81
82 key <AE01> { [ 1, exclam ] };
83 key <AE02> { [ 2, quotedbl, at ] };
84 key <AE03> { [ 3, numerosign, numbersign ] };
85 key <AE04> { [ 4, semicolon, dollar ] };
86 key <AE05> { [ 5, percent ] };
87 key <AE06> { [ 6, colon, asciicircum ] };
88 key <AE07> { [ 7, question, ampersand ] };
89 key <AE08> { [ 8, asterisk ] };
90 key <AE09> { [ 9, parenleft ] };
91 key <AE10> { [ 0, parenright ] };
92 key <AE11> { [ minus, underscore ] };
93 key <AE12> { [ equal, plus ] };
94 key <BKSL> { [ backslash, slash, bar ] };
95 key <AB10> { [ period, comma, slash, question ] };
96 key <LSGT> { [ less, greater, bar, brokenbar ] };
97
98 key.type[group1] = "FOUR_LEVEL_ALPHABETIC";
99
100 key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] };
101 key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, Cyrillic_u_straight_bar, Cyrillic_U_straight_bar ] };
102 key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] };
103 key <AD03> { [ Cyrillic_u, Cyrillic_U, Cyrillic_u_straight, Cyrillic_U_straight ] };
104 key <AD04> { [ Cyrillic_ka, Cyrillic_KA, Cyrillic_ka_descender, Cyrillic_KA_descender ] };
105 key <AD05> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] };
106 key <AD06> { [ Cyrillic_en, Cyrillic_EN, Cyrillic_en_descender, Cyrillic_EN_descender ] };
107 key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, Cyrillic_ghe_bar, Cyrillic_GHE_bar ] };
108 key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] };
109 key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
110 key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
111 key <AD11> { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_shha, Cyrillic_SHHA ] };
112 key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
113 key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] };
114 key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU ] };
115 key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] };
116 key <AC04> { [ Cyrillic_a, Cyrillic_A, Cyrillic_schwa, Cyrillic_SCHWA ] };
117 key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] };
118 key <AC06> { [ Cyrillic_er, Cyrillic_ER ] };
119 key <AC07> { [ Cyrillic_o, Cyrillic_O, Cyrillic_o_bar, Cyrillic_O_bar ] };
120 key <AC08> { [ Cyrillic_el, Cyrillic_EL ] };
121 key <AC09> { [ Cyrillic_de, Cyrillic_DE ] };
122 key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
123 key <AC11> { [ Cyrillic_e, Cyrillic_E ] };
124 key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] };
125 key <AB02> { [ Cyrillic_che, Cyrillic_CHE ] };
126 key <AB03> { [ Cyrillic_es, Cyrillic_ES ] };
127 key <AB04> { [ Cyrillic_em, Cyrillic_EM ] };
128 key <AB06> { [ Cyrillic_te, Cyrillic_TE ] };
129 key <AB05> { [ Cyrillic_i, Cyrillic_I, Ukrainian_i, Ukrainian_I ] };
130 key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
131 key <AB08> { [ Cyrillic_be, Cyrillic_BE ] };
132 key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] };
133 };
134
135 // Kikkarin KZ2
136 partial alphanumeric_keys
137 xkb_symbols "kazrus" {
138
139 name[Group1] = "Kazakh (with Russian)";
140
141 key.type[group1] = "FOUR_LEVEL";
142
143 key <AE01> { [ 1, exclam ] };
144 key <AE02> { [ 2, quotedbl, at ] };
145 key <AE03> { [ 3, numerosign, numbersign ] };
146 key <AE04> { [ 4, semicolon, dollar ] };
147 key <AE05> { [ 5, percent ] };
148 key <AE06> { [ 6, colon, asciicircum ] };
149 key <AE07> { [ 7, question, ampersand ] };
150 key <AE08> { [ 8, asterisk ] };
151 key <AE09> { [ 9, parenleft ] };
152 key <AE10> { [ 0, parenright ] };
153 key <AE11> { [ minus, underscore ] };
154 key <AE12> { [ equal, plus ] };
155 key <BKSL> { [ backslash, slash, bar ] };
156 key <AB10> { [ period, comma, slash, question ] };
157 key <LSGT> { [ less, greater, bar, brokenbar ] };
158
159 key.type[group1] = "FOUR_LEVEL_ALPHABETIC";
160
161 key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] };
162 key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
163 key <AD02> { [ Cyrillic_en_descender, Cyrillic_EN_descender, Cyrillic_tse, Cyrillic_TSE ] };
164 key <AD03> { [ Cyrillic_u, Cyrillic_U ] };
165 key <AD04> { [ Cyrillic_ka, Cyrillic_KA, Cyrillic_ka_descender, Cyrillic_KA_descender ] };
166 key <AD05> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] };
167 key <AD06> { [ Cyrillic_en, Cyrillic_EN ] };
168 key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] };
169 key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] };
170 key <AD09> { [ Cyrillic_ghe_bar, Cyrillic_GHE_bar, Cyrillic_shcha, Cyrillic_SHCHA ] };
171 key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
172 key <AD11> { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_shha, Cyrillic_SHHA ] };
173 key <AD12> { [ Cyrillic_u_straight_bar, Cyrillic_U_straight_bar, Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
174 key <AC01> { [ Cyrillic_o_bar, Cyrillic_O_bar, Cyrillic_ef, Cyrillic_EF ] };
175 key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU ] };
176 key <AC03> { [ Cyrillic_ka_descender, Cyrillic_KA_descender, Cyrillic_ve, Cyrillic_VE ] };
177 key <AC04> { [ Cyrillic_a, Cyrillic_A ] };
178 key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] };
179 key <AC06> { [ Cyrillic_er, Cyrillic_ER ] };
180 key <AC07> { [ Cyrillic_o, Cyrillic_O ] };
181 key <AC08> { [ Cyrillic_el, Cyrillic_EL ] };
182 key <AC09> { [ Cyrillic_de, Cyrillic_DE ] };
183 key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
184 key <AC11> { [ Cyrillic_schwa, Cyrillic_SCHWA, Cyrillic_e, Cyrillic_E ] };
185 key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] };
186 key <AB02> { [ Ukrainian_i, Ukrainian_I, Cyrillic_che, Cyrillic_CHE ] };
187 key <AB03> { [ Cyrillic_es, Cyrillic_ES ] };
188 key <AB04> { [ Cyrillic_em, Cyrillic_EM ] };
189 key <AB06> { [ Cyrillic_te, Cyrillic_TE ] };
190 key <AB05> { [ Cyrillic_i, Cyrillic_I ] };
191 key <AB07> { [ Cyrillic_u_straight, Cyrillic_U_straight, Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
192 key <AB08> { [ Cyrillic_be, Cyrillic_BE ] };
193 key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] };
194 };
195
196 partial alphanumeric_keys
197 xkb_symbols "olpc" {
198
199 // Contact: Walter Bender <walter (a] laptop.org>
200
201 // We moved the Cyrillic IO off of the Tilde Key as an Alt-GR character
202 // and moved it onto the Backslash key, making Backslash and Bar available
203 // through the Latin side of the keyboard.
204
205 include "kz(basic)"
206
207 key <TLDE> { [ parenleft, parenright ] };
208 key <BKSL> { [ Cyrillic_io, Cyrillic_IO ] };
209
210 include "group(olpc)"
211 };
212
213 partial alphanumeric_keys
214 xkb_symbols "ext" {
215
216 // Levels 3 and 4 represent main keyboard's numeric part of US layout,
217 // parens are duplicated for consistency.
218
219 include "kz(basic)"
220 name[Group1] = "Kazakh (extended)";
221
222 key.type[group1] = "FOUR_LEVEL_ALPHABETIC";
223
224 key <AE01> { [ quotedbl, exclam, 1, exclam ] };
225 key <AE02> { [ Cyrillic_schwa, Cyrillic_SCHWA, 2, at ] };
226 key <AE03> { [ Ukrainian_i, Ukrainian_I, 3, numbersign ] };
227 key <AE04> { [ Cyrillic_en_descender, Cyrillic_EN_descender, 4, dollar ] };
228 key <AE05> { [ Cyrillic_ghe_bar, Cyrillic_GHE_bar, 5, percent ] };
229 key <AE06> { [ comma, semicolon, 6, asciicircum ] };
230 key <AE07> { [ period, colon, 7, ampersand ] };
231 key <AE08> { [ Cyrillic_u_straight, Cyrillic_U_straight, 8, asterisk ] };
232 key <AE09> { [ Cyrillic_u_straight_bar, Cyrillic_U_straight_bar, 9, parenleft ] };
233 key <AE10> { [ Cyrillic_ka_descender, Cyrillic_KA_descender, 0, parenright ] };
234 key <AE11> { [ Cyrillic_o_bar, Cyrillic_O_bar, minus, underscore ] };
235 key <AE12> { [ Cyrillic_shha, Cyrillic_SHHA, equal, plus ] };
236 };
237