Sync group names with layout names
[xorg/xkeyboard-config] / symbols / kz
1 // Based on http://www.sci.kz/~sairan/keyboard/kzkbd.html
2 // Baurzhan Ismagulov <ibr@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 partial default 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> { [ doublelowquotemark,      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 key.type[group1]="TWO_LEVEL";
74 };
75
76 // Kikkarin KZ1
77 partial alphanumeric_keys
78 xkb_symbols "ruskaz" {
79
80     name[Group1] = "Russian (Kazakhstan, with Kazakh)";
81
82 key.type[group1] = "FOUR_LEVEL";
83
84     key <AE01> { [ 1,                       exclam ] };
85     key <AE02> { [ 2,                       quotedbl,                at ] };
86     key <AE03> { [ 3,                       numerosign,              numbersign ] };
87     key <AE04> { [ 4,                       semicolon,               dollar ] };
88     key <AE05> { [ 5,                       percent ] };
89     key <AE06> { [ 6,                       colon,                   asciicircum ] };
90     key <AE07> { [ 7,                       question,                ampersand ] };
91     key <AE08> { [ 8,                       asterisk ] };
92     key <AE09> { [ 9,                       parenleft ] };
93     key <AE10> { [ 0,                       parenright ] };
94     key <AE11> { [ minus,                   underscore ] };
95     key <AE12> { [ equal,                   plus ] };
96     key <BKSL> { [ backslash,               slash,                   bar ] };
97     key <AB10> { [ period,                  comma,                   slash,                   question ] };
98     key <LSGT> { [ less,                    greater,                 bar,                     brokenbar ] };
99
100 key.type[group1] = "FOUR_LEVEL_ALPHABETIC";
101
102     key <TLDE> { [ Cyrillic_io,             Cyrillic_IO ] };
103     key <AD01> { [ Cyrillic_shorti,         Cyrillic_SHORTI,         Cyrillic_u_straight_bar, Cyrillic_U_straight_bar ] };
104     key <AD02> { [ Cyrillic_tse,            Cyrillic_TSE ] };
105     key <AD03> { [ Cyrillic_u,              Cyrillic_U,              Cyrillic_u_straight,     Cyrillic_U_straight ] };
106     key <AD04> { [ Cyrillic_ka,             Cyrillic_KA,             Cyrillic_ka_descender,   Cyrillic_KA_descender ] };
107     key <AD05> { [ Cyrillic_ie,             Cyrillic_IE,             Cyrillic_io,             Cyrillic_IO ] };
108     key <AD06> { [ Cyrillic_en,             Cyrillic_EN,             Cyrillic_en_descender,   Cyrillic_EN_descender ] };
109     key <AD07> { [ Cyrillic_ghe,            Cyrillic_GHE,            Cyrillic_ghe_bar,        Cyrillic_GHE_bar ] };
110     key <AD08> { [ Cyrillic_sha,            Cyrillic_SHA ] };
111     key <AD09> { [ Cyrillic_shcha,          Cyrillic_SHCHA ] };
112     key <AD10> { [ Cyrillic_ze,             Cyrillic_ZE ] };
113     key <AD11> { [ Cyrillic_ha,             Cyrillic_HA,             Cyrillic_shha,           Cyrillic_SHHA ] };
114     key <AD12> { [ Cyrillic_hardsign,       Cyrillic_HARDSIGN ] };
115     key <AC01> { [ Cyrillic_ef,             Cyrillic_EF ] };
116     key <AC02> { [ Cyrillic_yeru,           Cyrillic_YERU ] };
117     key <AC03> { [ Cyrillic_ve,             Cyrillic_VE ] };
118     key <AC04> { [ Cyrillic_a,              Cyrillic_A,              Cyrillic_schwa,          Cyrillic_SCHWA ] };
119     key <AC05> { [ Cyrillic_pe,             Cyrillic_PE ] };
120     key <AC06> { [ Cyrillic_er,             Cyrillic_ER ] };
121     key <AC07> { [ Cyrillic_o,              Cyrillic_O,              Cyrillic_o_bar,          Cyrillic_O_bar ] };
122     key <AC08> { [ Cyrillic_el,             Cyrillic_EL ] };
123     key <AC09> { [ Cyrillic_de,             Cyrillic_DE ] };
124     key <AC10> { [ Cyrillic_zhe,            Cyrillic_ZHE ] };
125     key <AC11> { [ Cyrillic_e,              Cyrillic_E ] };
126     key <AB01> { [ Cyrillic_ya,             Cyrillic_YA ] };
127     key <AB02> { [ Cyrillic_che,            Cyrillic_CHE ] };
128     key <AB03> { [ Cyrillic_es,             Cyrillic_ES ] };
129     key <AB04> { [ Cyrillic_em,             Cyrillic_EM ] };
130     key <AB06> { [ Cyrillic_te,             Cyrillic_TE ] };
131     key <AB05> { [ Cyrillic_i,              Cyrillic_I,              Ukrainian_i,             Ukrainian_I ] };
132     key <AB07> { [ Cyrillic_softsign,       Cyrillic_SOFTSIGN ] };
133     key <AB08> { [ Cyrillic_be,             Cyrillic_BE ] };
134     key <AB09> { [ Cyrillic_yu,             Cyrillic_YU ] };
135 };
136
137 // Kikkarin KZ2
138 partial alphanumeric_keys
139 xkb_symbols "kazrus" {
140
141     name[Group1] = "Kazakh (with Russian)";
142
143 key.type[group1] = "FOUR_LEVEL";
144
145     key <AE01> { [ 1,                       exclam ] };
146     key <AE02> { [ 2,                       quotedbl,                at ] };
147     key <AE03> { [ 3,                       numerosign,              numbersign ] };
148     key <AE04> { [ 4,                       semicolon,               dollar ] };
149     key <AE05> { [ 5,                       percent ] };
150     key <AE06> { [ 6,                       colon,                   asciicircum ] };
151     key <AE07> { [ 7,                       question,                ampersand ] };
152     key <AE08> { [ 8,                       asterisk ] };
153     key <AE09> { [ 9,                       parenleft ] };
154     key <AE10> { [ 0,                       parenright ] };
155     key <AE11> { [ minus,                   underscore ] };
156     key <AE12> { [ equal,                   plus ] };
157     key <BKSL> { [ backslash,               slash,                   bar ] };
158     key <AB10> { [ period,                  comma,                   slash,                   question ] };
159     key <LSGT> { [ less,                    greater,                 bar,                     brokenbar ] };
160
161 key.type[group1] = "FOUR_LEVEL_ALPHABETIC";
162
163     key <TLDE> { [ Cyrillic_io,             Cyrillic_IO ] };
164     key <AD01> { [ Cyrillic_shorti,         Cyrillic_SHORTI ] };
165     key <AD02> { [ Cyrillic_en_descender,   Cyrillic_EN_descender,   Cyrillic_tse,            Cyrillic_TSE ] };
166     key <AD03> { [ Cyrillic_u,              Cyrillic_U ] };
167     key <AD04> { [ Cyrillic_ka,             Cyrillic_KA,             Cyrillic_ka_descender,    Cyrillic_KA_descender ] };
168     key <AD05> { [ Cyrillic_ie,             Cyrillic_IE,             Cyrillic_io,             Cyrillic_IO ] };
169     key <AD06> { [ Cyrillic_en,             Cyrillic_EN ] };
170     key <AD07> { [ Cyrillic_ghe,            Cyrillic_GHE ] };
171     key <AD08> { [ Cyrillic_sha,            Cyrillic_SHA ] };
172     key <AD09> { [ Cyrillic_ghe_bar,        Cyrillic_GHE_bar,        Cyrillic_shcha,          Cyrillic_SHCHA ] };
173     key <AD10> { [ Cyrillic_ze,             Cyrillic_ZE ] };
174     key <AD11> { [ Cyrillic_ha,             Cyrillic_HA,             Cyrillic_shha,           Cyrillic_SHHA ] };
175     key <AD12> { [ Cyrillic_u_straight_bar, Cyrillic_U_straight_bar, Cyrillic_hardsign,       Cyrillic_HARDSIGN ] };
176     key <AC01> { [ Cyrillic_o_bar,          Cyrillic_O_bar,          Cyrillic_ef,             Cyrillic_EF ] };
177     key <AC02> { [ Cyrillic_yeru,           Cyrillic_YERU ] };
178     key <AC03> { [ Cyrillic_ka_descender,   Cyrillic_KA_descender,   Cyrillic_ve,             Cyrillic_VE ] };
179     key <AC04> { [ Cyrillic_a,              Cyrillic_A ] };
180     key <AC05> { [ Cyrillic_pe,             Cyrillic_PE ] };
181     key <AC06> { [ Cyrillic_er,             Cyrillic_ER ] };
182     key <AC07> { [ Cyrillic_o,              Cyrillic_O ] };
183     key <AC08> { [ Cyrillic_el,             Cyrillic_EL ] };
184     key <AC09> { [ Cyrillic_de,             Cyrillic_DE ] };
185     key <AC10> { [ Cyrillic_zhe,            Cyrillic_ZHE ] };
186     key <AC11> { [ Cyrillic_schwa,          Cyrillic_SCHWA,          Cyrillic_e,              Cyrillic_E ] };
187     key <AB01> { [ Cyrillic_ya,             Cyrillic_YA ] };
188     key <AB02> { [ Ukrainian_i,             Ukrainian_I,             Cyrillic_che,            Cyrillic_CHE ] };
189     key <AB03> { [ Cyrillic_es,             Cyrillic_ES ] };
190     key <AB04> { [ Cyrillic_em,             Cyrillic_EM ] };
191     key <AB06> { [ Cyrillic_te,             Cyrillic_TE ] };
192     key <AB05> { [ Cyrillic_i,              Cyrillic_I ] };
193     key <AB07> { [ Cyrillic_u_straight,     Cyrillic_U_straight,     Cyrillic_softsign,       Cyrillic_SOFTSIGN ] };
194     key <AB08> { [ Cyrillic_be,             Cyrillic_BE ] };
195     key <AB09> { [ Cyrillic_yu,             Cyrillic_YU ] };
196 };
197
198 partial alphanumeric_keys
199 xkb_symbols "olpc" {
200
201 // Contact: Walter Bender <walter@laptop.org>
202
203 // We moved the Cyrillic IO off of the Tilde Key as an Alt-GR character
204 // and moved it onto the Backslash key, making Backslash and Bar available
205 // through the Latin side of the keyboard.
206
207    include "kz(basic)"
208
209    name[Group1] = "Kazakh";
210
211    key <TLDE> { [ parenleft,               parenright ] };
212    key <BKSL> { [ Cyrillic_io,             Cyrillic_IO ] };
213
214    include "group(olpc)"
215 };