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