1// Keyboard layouts for Dari, Pashto, and Southern Uzbek.
2// Created by M. Emal Alekozai <memala@gmx.net> in February 2006.
3//
4// Based on the "Computer Locale Requirements for Afghanistan" [1]
5// from the "United Nations Development Programme for Afghanistan" and the
6// "Afghan Transitional Islamic Administration Ministry of Communications".
7// [1] https://www.evertype.com/standards/af/
8
9default partial alphanumeric_keys
10xkb_symbols "basic" {
11   name[Group1]= "Dari";
12
13   key <TLDE> { [ 0x100200d, 0x10000f7, dead_tilde ] };
14   key <AE01> { [ 0x10006f1, exclam, 0x1000060 ] };
15   key <AE02> { [ 0x10006f2, 0x100066c, 0x1000040 ] };
16   key <AE03> { [ 0x10006f3, 0x100066b, numbersign ] };
17   key <AE04> { [ 0x10006f4, 0x100e60b, 0x1000024] };
18   key <AE05> { [ 0x10006f5, 0x100066a, 0x1000025 ] };
19   key <AE06> { [ 0x10006f6, multiply, 0x100005e ] };
20   key <AE07> { [ 0x10006f7, Arabic_comma, 0x1000026 ] };
21   key <AE08> { [ 0x10006f8, asterisk, 0x1002022 ] };
22   key <AE09> { [ 0x10006f9, 0x1000029, 0x100200e ] };
23   key <AE10> { [ 0x10006f0, 0x1000028, 0x100200f ] };
24   key <AE11> { [ minus, Arabic_tatweel, 0x100005f ] };
25   key <AE12> { [ equal, plus ] };
26
27   key <AD01> { [ Arabic_dad, Arabic_sukun, 0x10000b0 ] };
28   key <AD02> { [ Arabic_sad, Arabic_dammatan ] };
29   key <AD03> { [ Arabic_theh, Arabic_kasratan, 0x10020ac ] };
30   key <AD04> { [ Arabic_qaf, Arabic_fathatan, 0x100fd3e ] };
31   key <AD05> { [ Arabic_feh, Arabic_damma, 0x100fd3f ] };
32   key <AD06> { [ Arabic_ghain, Arabic_kasra, 0x100e656] };
33   key <AD07> { [ Arabic_ain, Arabic_fatha, 0x100e659] };
34   key <AD08> { [ Arabic_heh, Arabic_shadda, 0x1000655] };
35   key <AD09> { [ Arabic_khah, bracketright, 0x1000027] };
36   key <AD10> { [ Arabic_hah, bracketleft, 0x1000022] };
37   key <AD11> { [ Arabic_jeem, braceright, 0x1000681 ] };
38   key <AD12> { [ 0x1000686, braceleft, 0x1000685 ] };
39
40   key <AC01> { [ Arabic_sheen, Arabic_hamzaonwaw, 0x100069a ] };
41   key <AC02> { [ Arabic_seen, Arabic_hamzaonyeh, 0x10006cd ] };
42   key <AC03> { [ 0x10006cc, Arabic_yeh, 0x1000649 ] };
43   key <AC04> { [ Arabic_beh, Arabic_hamzaunderalef, 0x10006d0 ] };
44   key <AC05> { [ Arabic_lam, Arabic_hamzaonalef, 0x10006b7 ] };
45   key <AC06> { [ Arabic_alef, Arabic_maddaonalef, 0x1000671 ] };
46   key <AC07> { [ Arabic_teh, Arabic_tehmarbuta, 0x100067c ] };
47   key <AC08> { [ Arabic_noon, 0x10000bb, 0x10006bc ] };
48   key <AC09> { [ Arabic_meem, 0x10000ab, 0x10006ba ] };
49   key <AC10> { [ 0x10006a9, colon, 0x100003b ] };
50   key <AC11> { [ 0x10006af, Arabic_semicolon, 0x10006ab ] };
51
52   key <BKSL> { [ backslash, bar, 0x100003f ] };
53
54   key <AB01> { [ Arabic_zah, Arabic_kaf, 0x10006d2] };
55   key <AB02> { [ Arabic_tah, 0x1000653 , 0x1000691 ] };
56   key <AB03> { [ Arabic_zain, 0x1000698, 0x1000696 ] };
57   key <AB04> { [ Arabic_ra, 0x1000670 , 0x1000693 ] };
58   key <AB05> { [ Arabic_thal, 0x100200c, 0x1000688  ] };
59   key <AB06> { [ Arabic_dal, 0x1000654, 0x1000689 ] };
60   key <AB07> { [ 0x100067e, Arabic_hamza, 0x1000679 ] };
61   key <AB08> { [ Arabic_waw, greater, 0x100002c ] };
62   key <AB09> { [ period, less, 0x10006c7 ] };
63   key <AB10> { [ slash, Arabic_question_mark, 0x10006c9 ] };
64
65   include "nbsp(zwnj2nb3)"
66   include "level3(ralt_switch)"
67};
68
69partial alphanumeric_keys
70xkb_symbols "ps" {
71   name[Group1]= "Pashto";
72
73   key <TLDE> { [ 0x100200d, 0x10000f7, dead_tilde ] };
74   key <AE01> { [ 0x10006f1, exclam, 0x1000060 ] };
75   key <AE02> { [ 0x10006f2, 0x100066c, 0x1000040 ] };
76   key <AE03> { [ 0x10006f3, 0x100066b, numbersign ] };
77   key <AE04> { [ 0x10006f4, 0x100e60b, 0x1000024] };
78   key <AE05> { [ 0x10006f5, 0x100066a, 0x1000025 ] };
79   key <AE06> { [ 0x10006f6, multiply, 0x100005e ] };
80   key <AE07> { [ 0x10006f7, 0x10000bb, 0x1000026 ] };
81   key <AE08> { [ 0x10006f8, 0x10000ab, 0x1002022 ] };
82   key <AE09> { [ 0x10006f9, 0x1000029, 0x100200e ] };
83   key <AE10> { [ 0x10006f0, 0x1000028, 0x100200f ] };
84   key <AE11> { [ minus, Arabic_tatweel, 0x100005f ] };
85   key <AE12> { [ equal, plus ] };
86
87   key <AD01> { [ Arabic_dad, Arabic_sukun, 0x10000b0 ] };
88   key <AD02> { [ Arabic_sad, Arabic_dammatan, 0x1000653 ] };
89   key <AD03> { [ Arabic_theh, Arabic_kasratan, 0x10020ac ] };
90   key <AD04> { [ Arabic_qaf, Arabic_fathatan, 0x100fd3e ] };
91   key <AD05> { [ Arabic_feh, Arabic_damma, 0x100fd3f ] };
92   key <AD06> { [ Arabic_ghain, Arabic_kasra, 0x100e656] };
93   key <AD07> { [ Arabic_ain, Arabic_fatha, 0x100e659] };
94   key <AD08> { [ Arabic_heh, Arabic_shadda, 0x1000670] };
95   key <AD09> { [ Arabic_khah, 0x1000681, 0x1000027] };
96   key <AD10> { [ Arabic_hah, 0x1000685, 0x1000022] };
97   key <AD11> { [ Arabic_jeem, 0x100005d, 0x100007d ] };
98   key <AD12> { [ 0x1000686, 0x100005b, 0x100007b ] };
99
100   key <AC01> { [ Arabic_sheen, 0x100069a ] };
101   key <AC02> { [ Arabic_seen, Arabic_hamzaonyeh, 0x10006d2 ] };
102   key <AC03> { [ 0x10006cc, Arabic_yeh, 0x1000649 ] };
103   key <AC04> { [ Arabic_beh, 0x100067e, 0x10006ba ] };
104   key <AC05> { [ Arabic_lam, Arabic_hamzaonalef, 0x10006b7 ] };
105   key <AC06> { [ Arabic_alef, Arabic_maddaonalef, 0x1000671 ] };
106   key <AC07> { [ Arabic_teh, 0x100067c, 0x1000679 ] };
107   key <AC08> { [ Arabic_noon, 0x10006bc, 0x100003e ] };
108   key <AC09> { [ Arabic_meem, 0x1000629, 0x100003c ] };
109   key <AC10> { [ 0x10006a9, colon, 0x1000643 ] };
110   key <AC11> { [ 0x10006ab, Arabic_semicolon, 0x10006af ] };
111
112   key <BKSL> { [ backslash, 0x100002a, 0x100007c ] };
113
114   key <AB01> { [ 0x10006cd, 0x1000638, 0x100003f] };
115   key <AB02> { [ 0x10006d0, 0x1000637, 0x100003b ] };
116   key <AB03> { [ Arabic_zain, 0x1000698, 0x1000655 ] };
117   key <AB04> { [ Arabic_ra, 0x1000621, 0x1000654 ] };
118   key <AB05> { [ Arabic_thal, 0x100200c, 0x1000625  ] };
119   key <AB06> { [ Arabic_dal, 0x1000689, 0x1000688 ] };
120   key <AB07> { [ 0x1000693, 0x1000624, 0x1000691 ] };
121   key <AB08> { [ Arabic_waw, 0x100060c, 0x100002c ] };
122   key <AB09> { [ 0x1000696, 0x100002e, 0x10006c7 ] };
123   key <AB10> { [ slash, Arabic_question_mark, 0x10006c9 ] };
124
125   include "nbsp(zwnj2nb3)"
126   include "level3(ralt_switch)"
127};
128
129partial alphanumeric_keys
130xkb_symbols "uz" {
131   name[Group1]= "Uzbek (Afghanistan)";
132
133   key <TLDE> { [ 0x100200d, 0x10000f7, dead_tilde ] };
134   key <AE01> { [ 0x10006f1, exclam, 0x1000060 ] };
135   key <AE02> { [ 0x10006f2, 0x100066c, 0x1000040 ] };
136   key <AE03> { [ 0x10006f3, 0x100066b, numbersign ] };
137   key <AE04> { [ 0x10006f4, 0x100e60b, 0x1000024] };
138   key <AE05> { [ 0x10006f5, 0x100066a, 0x1000025 ] };
139   key <AE06> { [ 0x10006f6, multiply, 0x100005e ] };
140   key <AE07> { [ 0x10006f7, Arabic_comma, 0x1000026 ] };
141   key <AE08> { [ 0x10006f8, asterisk, 0x1002022 ] };
142   key <AE09> { [ 0x10006f9, 0x1000029, 0x100200e ] };
143   key <AE10> { [ 0x10006f0, 0x1000028, 0x100200f ] };
144   key <AE11> { [ minus, Arabic_tatweel, 0x100005f ] };
145   key <AE12> { [ equal, plus ] };
146
147   key <AD01> { [ Arabic_dad, Arabic_sukun, 0x10000b0 ] };
148   key <AD02> { [ Arabic_sad, Arabic_dammatan, 0x1000653 ] };
149   key <AD03> { [ Arabic_theh, Arabic_kasratan, 0x10020ac ] };
150   key <AD04> { [ Arabic_qaf, Arabic_fathatan, 0x100fd3e ] };
151   key <AD05> { [ Arabic_feh, Arabic_damma, 0x100fd3f ] };
152   key <AD06> { [ Arabic_ghain, Arabic_kasra, 0x100e656] };
153   key <AD07> { [ Arabic_ain, Arabic_fatha, 0x100e659] };
154   key <AD08> { [ Arabic_heh, Arabic_shadda, 0x1000670] };
155   key <AD09> { [ Arabic_khah, bracketright, 0x1000027] };
156   key <AD10> { [ Arabic_hah, bracketleft, 0x1000022] };
157   key <AD11> { [ Arabic_jeem, braceright, 0x1000681 ] };
158   key <AD12> { [ 0x1000686, braceleft, 0x1000685 ] };
159
160   key <AC01> { [ Arabic_sheen, Arabic_hamzaonwaw, 0x100069a ] };
161   key <AC02> { [ Arabic_seen, Arabic_hamzaonyeh, 0x10006cd ] };
162   key <AC03> { [ 0x10006cc, Arabic_yeh, 0x1000649 ] };
163   key <AC04> { [ Arabic_beh, 0x10006d0, 0x1000643 ] };
164   key <AC05> { [ Arabic_lam, Arabic_hamzaonalef, 0x10006b7 ] };
165   key <AC06> { [ Arabic_alef, Arabic_maddaonalef, 0x1000671 ] };
166   key <AC07> { [ Arabic_teh, Arabic_tehmarbuta, 0x100067c ] };
167   key <AC08> { [ Arabic_noon, 0x10000bb, 0x10006bc ] };
168   key <AC09> { [ Arabic_meem, 0x10000ab, 0x10006ba ] };
169   key <AC10> { [ 0x10006a9, colon, 0x100003b ] };
170   key <AC11> { [ 0x10006af, Arabic_semicolon, 0x10006ab ] };
171
172   key <BKSL> { [ backslash, bar, 0x100003f ] };
173
174   key <AB01> { [ Arabic_zah, 0x10006c9, 0x10006d2] };
175   key <AB02> { [ Arabic_tah, 0x10006c7, 0x1000691 ] };
176   key <AB03> { [ Arabic_zain, 0x1000698, 0x1000696 ] };
177   key <AB04> { [ Arabic_ra, 0x1000625, 0x1000693 ] };
178   key <AB05> { [ Arabic_thal, 0x100200c, 0x1000688  ] };
179   key <AB06> { [ Arabic_dal, 0x1000654, 0x1000689 ] };
180   key <AB07> { [ 0x100067e, Arabic_hamza, 0x1000679 ] };
181   key <AB08> { [ Arabic_waw, greater, 0x100002c ] };
182   key <AB09> { [ period, less ] };
183   key <AB10> { [ slash, Arabic_question_mark, 0x1000655 ] };
184
185   include "nbsp(zwnj2nb3)"
186   include "level3(ralt_switch)"
187};
188
189partial alphanumeric_keys
190xkb_symbols "ps-olpc" {
191
192   name[Group1]= "Pashto (Afghanistan, OLPC)";
193
194   key <TLDE> { [ 0x100200D, 0x1000654, grave ] }; // zero width joiner, Arabic hamza above
195   key <AE01> { [ 0x10006F1, exclam, asciitilde ] }; // Arabic one
196   key <AE02> { [ 0x10006F2, 0x100066C, at ] }; // Arabic two, Arabic thousands separator
197   key <AE03> { [ 0x10006F3, 0x100066B, numbersign ] }; // Arabic three, Arabic decimal separator
198   key <AE04> { [ 0x10006F4, 0x100060B, dollar ] }; // Arabic four, Afghani sign
199   key <AE05> { [ 0x10006F5, 0x100066A, percent ] }; // Arabic five, Arabic percent sign
200   key <AE06> { [ 0x10006F6, multiply, asciicircum ] }; // Arabic six
201   key <AE07> { [ 0x10006F7, guillemotright, ampersand ] }; // Arabic seven
202   key <AE08> { [ 0x10006F8, guillemotleft, 0x100066D ] }; // Arabic eight, Arabic five-pointed star
203   key <AE09> { [ 0x10006F9, parenright, enfilledcircbullet ] }; // Arabic nine
204   key <AE10> { [ 0x10006F0, parenleft, degree ] }; // Arabic zero
205   key <AE11> { [ minus, 0x1000640, underscore ] }; // Arabic tatweel
206   key <AE12> { [ equal, plus, division ] };
207
208   key <AD01> { [ 0x1000636, 0x1000652, EuroSign ] }; // Arabic dad, Arabic sukun
209   key <AD02> { [ 0x1000635, 0x100064C, 0x1000671 ] }; // Arabic sad, Arabic dammatan, Arabic alef walsa
210   key <AD03> { [ 0x100062B, 0x100064D, 0x1000649 ] }; // Arabic theh, Arabic kasratan, Arabic alef maksura initial form
211   key <AD04> { [ 0x1000642, 0x100064B, 0x100200E ] }; // Arabic qaf, Arabic fathatan, left-to-right mark
212   key <AD05> { [ 0x1000641, 0x100064F, 0x100200F ] }; // Arabic feh, Arabic damma, right-to-left mark
213   key <AD06> { [ 0x100063A, 0x1000650, 0x100e653 ] }; // Arabic ghain, Arabic kasra, Arabic alef with madda above
214   key <AD07> { [ 0x1000639, 0x100064E, 0x100e659 ] }; // Arabic ain, Arabic fatha, Arabic zwarakay
215   key <AD08> { [ 0x1000647, 0x1000651, 0x1000670 ] }; // Arabic heh, Arabic shadda, Arabic superscript alef
216   key <AD09> { [ 0x100062E, 0x1000681, apostrophe ] }; // Arabic khah, Arabic hah with hamza above
217   key <AD10> { [ 0x100062D, 0x1000685, quotedbl ] }; // Arabic hah, Arabic hah with three dots above
218   key <AD11> { [ 0x100062C, bracketright, braceleft ] }; // Arabic jeem
219   key <AD12> { [ 0x1000686, bracketleft, braceright ] }; // Arabic tcheh
220
221   key <AC01> { [ 0x1000634, 0x100069A ] }; // Arabic sheen, Arabic seen with dot below and dot above
222   key <AC02> { [ 0x1000633, 0x10006CD ] }; // Arabic seen, Arabic yeh with tail
223   key <AC03> { [ 0x10006CC, 0x100064A, 0x10006D2 ] }; // Farsi yeh, Arabic yeh, Arabic yeh barree
224   key <AC04> { [ 0x1000628, 0x100067E, 0x10006BA ] }; // Arabic beh, Arabic peh, Arabic noon ghunna
225   key <AC05> { [ 0x1000644, 0x1000623, 0x10006B7 ] }; // Arabic lam, Arabic hamza on alef, Arabic alef with hamza above
226   key <AC06> { [ 0x1000627, 0x1000622, 0x1000625 ] }; // Arabic alef, Arabic madda on alef, Arabic alef with hamza below
227   key <AC07> { [ 0x100062A, 0x100067C, 0x1000679 ] }; // Arabic teh, Arabic teh with ring, Arabic tteh
228   key <AC08> { [ 0x1000646, 0x10006BC, greater ] }; // Arabic noon, Arabic noon with ring
229   key <AC09> { [ 0x1000645, 0x1000629, less ] }; // Arabic meem, Arabic teh marbuta
230   key <AC10> { [ 0x10006A9, colon, 0x1000643 ] }; // Arabic keheh, Arabic kaf
231   key <AC11> { [ 0x10006AB, 0x100061B, 0x10006AF ] }; // Arabic kaf with ring, Arabic semicolon, Arabic gaf
232
233   key <BKSL> { [ backslash, asterisk, bar ] };
234
235   key <AB01> { [ 0x1000638, 0x1000626, question] }; // Arabic zah, Arabic yeh with hamza above
236   key <AB02> { [ 0x10006D0, 0x1000637, semicolon ] }; // Arabic tah, Arabic E
237   key <AB03> { [ 0x1000632, 0x1000698 ] }; // Arabic zain, Arabic jeh
238   key <AB04> { [ 0x1000631, 0x1000621 ] }; // Arabic reh, Arabic hamza
239   key <AB05> { [ 0x1000630, 0x100200C ] }; // Arabic thal, zero width non-joiner
240   key <AB06> { [ 0x100062F, 0x1000689, 0x1000688 ] }; // Arabic dal, Arabic dal with ring, Arabic ddal
241   key <AB07> { [ 0x1000693, 0x1000624, 0x1000691 ] }; // Arabic reh with ring, Arabic waw with hamza above, Arabic rreh
242   key <AB08> { [ 0x1000648, period, comma ] }; // Arabic waw, Arabic comma
243   key <AB09> { [ 0x1000696, 0x100002E, 0x10006C7 ] }; // Arabic reh with dot below and dot above, full stop, Arabic letter U
244   key <AB10> { [ slash, 0x100061F, 0x10006C9 ] }; // Arabic question mark, Arabic kirghiz yu
245
246   include "nbsp(zwnj2nb3)"
247   include "group(olpc)"
248};
249
250partial alphanumeric_keys
251xkb_symbols "fa-olpc" {
252
253   name[Group1]= "Dari (Afghanistan, OLPC)";
254
255   key <TLDE> { [ 0x100200D, division, asciitilde ] }; // zero width joiner
256   key <AE01> { [ 0x10006F1, exclam, grave ] }; // Arabic one
257   key <AE02> { [ 0x10006F2, 0x100066C, at ] }; // Arabic two, Arabic thousands separator
258   key <AE03> { [ 0x10006F3, 0x100066B, numbersign ] }; // Arabic three, Arabic decimal separator
259   key <AE04> { [ 0x10006F4, 0x100060B, dollar ] }; // Arabic four, Afghani sign
260   key <AE05> { [ 0x10006F5, 0x100066A, percent ] }; // Arabic five, Arabic percent sign
261   key <AE06> { [ 0x10006F6, multiply, asciicircum ] }; // Arabic six
262   key <AE07> { [ 0x10006F7, 0x100060C, ampersand ] }; // Arabic seven, Arabic comma
263   key <AE08> { [ 0x10006F8, asterisk, enfilledcircbullet ] }; // Arabic eight
264   key <AE09> { [ 0x10006F9, parenright, 0x100200E ] }; // Arabic nine, left-to-right mark
265   key <AE10> { [ 0x10006F0, parenleft, 0x100200F ] }; // Arabic zero, right-to-left mark
266   key <AE11> { [ minus, 0x1000640, underscore ] }; // Arabic tatweel
267   key <AE12> { [ equal, plus ] };
268
269   key <AD01> { [ 0x1000636, 0x1000652, degree ] }; // Arabic dad, Arabic sukun
270   key <AD02> { [ 0x1000635, 0x100064C ] }; // Arabic sad, Arabic dammatan
271   key <AD03> { [ 0x100062B, 0x100064D, EuroSign ] }; // Arabic theh, Arabic kasratan
272   key <AD04> { [ 0x1000642, 0x100064B, 0x100FD3E ] }; // Arabic qaf, Arabic fathatan, ornate left paren
273   key <AD05> { [ 0x1000641, 0x100064F, 0x100FD3F ] }; // Arabic feh, Arabic damma, ornate right paren
274   key <AD06> { [ 0x100063A, 0x1000650, 0x1000656 ] }; // Arabic ghain, Arabic kasra, Arabic subscript alef
275   key <AD07> { [ 0x1000639, 0x100064E, 0x100e659 ] }; // Arabic ain, Arabic fatha, Arabic zwarakay
276   key <AD08> { [ 0x1000647, 0x1000651, 0x1000655 ] }; // Arabic heh, Arabic shadda, Arabic hamza below
277   key <AD09> { [ 0x100062E, bracketright, apostrophe ] }; // Arabic khah
278   key <AD10> { [ 0x100062D, bracketleft, quotedbl ] }; // Arabic hah
279   key <AD11> { [ 0x100062C, braceright, 0x1000681 ] }; // Arabic jeem, Arabic hah with hamza above
280   key <AD12> { [ 0x1000686, braceleft, 0x1000685 ] }; // Arabic tcheh, Arabic hah with three dots above
281
282   key <AC01> { [ 0x1000634, 0x1000624, 0x100069A ] }; // Arabic sheen, Arabic waw with hamza above, Arabic seen with dot below and dot above
283   key <AC02> { [ 0x1000633, 0x1000626, 0x10006CD ] }; // Arabic seen, Arabic yeh with hamza above, Arabic yeh with tail
284   key <AC03> { [ 0x10006CC, 0x100064A, 0x1000649 ] }; // Farsi yeh, Arabic yeh, Arabic alef maksura
285   key <AC04> { [ 0x1000628, 0x1000625, 0x10006D0 ] }; // Arabic beh, Arabic alef with hamza below, Arabic e
286   key <AC05> { [ 0x1000644, 0x1000623, 0x10006B7 ] }; // Arabic lam, Arabic hamza on alef, Arabic alef with hamza above
287   key <AC06> { [ 0x1000627, 0x1000622, 0x1000671 ] }; // Arabic alef, Arabic madda on alef, Arabic alef wasla
288   key <AC07> { [ 0x100062A, 0x1000629, 0x100067C ] }; // Arabic teh, Arabic teh marbuta, Arabic tteh
289   key <AC08> { [ 0x1000646, guillemotright, 0x10006BC ] }; // Arabic noon, Arabic noon with ring
290   key <AC09> { [ 0x1000645, guillemotleft, 0x10006BA ] }; // Arabic meem, Arabic noon ghunna
291   key <AC10> { [ 0x10006A9, colon, semicolon ] }; // Arabic keheh
292   key <AC11> { [ 0x10006AF, 0x100061B, 0x10006AB ] }; // Arabic gaf, Arabic semicolon, Arabic kaf with ring
293
294   key <BKSL> { [ backslash, bar, question ] };
295
296   key <AB01> { [ 0x1000638, 0x1000643, 0x10006D2 ] }; // Arabic zah, Arabic kaf, Arabic yeh barree
297   key <AB02> { [ 0x1000637, 0x1000653, 0x1000691 ] }; // Arabic tah, Arabic maddah above, Arabic rreh
298   key <AB03> { [ 0x1000632, 0x1000698, 0x1000696 ] }; // Arabic zain, Arabic jeh,  Arabic reh with dot below and dot above
299   key <AB04> { [ 0x1000631, 0x1000670, 0x1000693 ] }; // Arabic reh, Arabic superscript alef, Arabic reh with ring
300   key <AB05> { [ 0x1000630, 0x100200C, 0x1000688 ] }; // Arabic thal, zero width non-joiner, Arabic ddal
301   key <AB06> { [ 0x100062F, 0x1000654, 0x1000689 ] }; // Arabic dal, Arabic hamza above, Arabic dal with ring
302   key <AB07> { [ 0x100067E, 0x1000621, 0x1000679 ] }; // Arabic peh, Arabic hamza, Arabic tteh
303   key <AB08> { [ 0x1000648, greater, comma ] }; // Arabic waw
304   key <AB09> { [ period, less, 0x10006C7 ] }; // Arabic u
305   key <AB10> { [ slash, 0x100061F, 0x10006C9 ] }; // Arabic question mark, Arabic kirghiz yu
306
307   include "nbsp(zwnj2nb3)"
308   include "group(olpc)"
309};
310
311partial alphanumeric_keys
312xkb_symbols "uz-olpc" {
313
314   name[Group1]= "Uzbek (Afghanistan, OLPC)";
315
316   key <TLDE> { [ 0x100200D, division, asciitilde ] }; // zero width joiner
317   key <AE01> { [ 0x10006F1, exclam, grave ] }; // Arabic one
318   key <AE02> { [ 0x10006F2, 0x100066C, at ] }; // Arabic two, Arabic thousands separator
319   key <AE03> { [ 0x10006F3, 0x100066B, numbersign ] }; // Arabic three, Arabic decimal separator
320   key <AE04> { [ 0x10006F4, 0x100060B, dollar ] }; // Arabic four, Afghani sign
321   key <AE05> { [ 0x10006F5, 0x100066A, percent ] }; // Arabic five, Arabic percent sign
322   key <AE06> { [ 0x10006F6, multiply, asciicircum ] }; // Arabic six
323   key <AE07> { [ 0x10006F7, 0x100060C, ampersand ] }; // Arabic seven, Arabic comma
324   key <AE08> { [ 0x10006F8, asterisk, enfilledcircbullet ] }; // Arabic eight
325   key <AE09> { [ 0x10006F9, parenright, 0x100200E ] }; // Arabic nine, left-to-right mark
326   key <AE10> { [ 0x10006F0, parenleft, 0x100200F ] }; // Arabic zero, right-to-left mark
327   key <AE11> { [ minus, 0x1000640, underscore ] }; // Arabic tatweel
328   key <AE12> { [ equal, plus ] };
329
330   key <AD01> { [ 0x1000636, 0x1000652, degree ] }; // Arabic dad, Arabic sukun
331   key <AD02> { [ 0x1000635, 0x100064C, 0x1000653 ] }; // Arabic sad, Arabic dammatan, Arabic maddah above
332   key <AD03> { [ 0x100062B, 0x100064D, EuroSign ] }; // Arabic theh, Arabic kasratan
333   key <AD04> { [ 0x1000642, 0x100064B, 0x100FD3E ] }; // Arabic qaf, Arabic fathatan, ornate left paren
334   key <AD05> { [ 0x1000641, 0x100064F, 0x100FD3F ] }; // Arabic feh, Arabic damma, ornate right paren
335   key <AD06> { [ 0x100063A, 0x1000650, 0x1000656 ] }; // Arabic ghain, Arabic kasra, Arabic subscript alef
336   key <AD07> { [ 0x1000639, 0x100064E, 0x100e659 ] }; // Arabic ain, Arabic fatha, Arabic zwarakay
337   key <AD08> { [ 0x1000647, 0x1000651, 0x1000670 ] }; // Arabic heh, Arabic shadda, Arabic superscript alef
338   key <AD09> { [ 0x100062E, bracketright, apostrophe ] }; // Arabic khah
339   key <AD10> { [ 0x100062D, bracketleft, quotedbl ] }; // Arabic hah
340   key <AD11> { [ 0x100062C, braceright, 0x1000681 ] }; // Arabic jeem, Arabic hah with hamza above
341   key <AD12> { [ 0x1000686, braceleft, 0x1000685 ] }; // Arabic tcheh, Arabic hah with three dots above
342
343   key <AC01> { [ 0x1000634, 0x1000624, 0x100069A ] }; // Arabic sheen, Arabic waw with hamza above, Arabic seen with dot below and dot above
344   key <AC02> { [ 0x1000633, 0x1000626, 0x10006CD ] }; // Arabic seen, Arabic yeh with hamza above, Arabic yeh with tail
345   key <AC03> { [ 0x10006CC, 0x100064A, 0x1000649 ] }; // Farsi yeh, Arabic yeh, Arabic alef maksura
346   key <AC04> { [ 0x1000628, 0x10006D0, 0x1000643  ] }; // Arabic beh, Arabic e, Arabic kaf
347   key <AC05> { [ 0x1000644, 0x1000623, 0x10006B7 ] }; // Arabic lam, Arabic hamza on alef, Arabic alef with hamza above
348   key <AC06> { [ 0x1000627, 0x1000622, 0x1000671 ] }; // Arabic alef, Arabic madda on alef, Arabic alef wasla
349   key <AC07> { [ 0x100062A, 0x1000629, 0x100067C ] }; // Arabic teh, Arabic teh marbuta, Arabic tteh
350   key <AC08> { [ 0x1000646, guillemotright, 0x10006BC ] }; // Arabic noon, Arabic noon with ring
351   key <AC09> { [ 0x1000645, guillemotleft, 0x10006BA ] }; // Arabic meem, Arabic noon ghunna
352   key <AC10> { [ 0x10006A9, colon, semicolon ] }; // Arabic keheh
353   key <AC11> { [ 0x10006AF, 0x100061B, 0x10006AB ] }; // Arabic gaf, Arabic semicolon, Arabic kaf with ring
354
355   key <BKSL> { [ backslash, bar, question ] };
356
357   key <AB01> { [ 0x1000638, 0x10006C9, 0x10006D2 ] }; // Arabic zah, Arabic kirghiz yu, Arabic yeh barree
358   key <AB02> { [ 0x1000637, 0x10006C7, 0x1000691 ] }; // Arabic tah, Arabic u, Arabic rreh
359   key <AB03> { [ 0x1000632, 0x1000698, 0x1000696 ] }; // Arabic zain, Arabic jeh,  Arabic reh with dot below and dot above
360   key <AB04> { [ 0x1000631, 0x1000625, 0x1000693 ] }; // Arabic reh, Arabic alef with hamza below, Arabic reh with ring
361   key <AB05> { [ 0x1000630, 0x100200C, 0x1000688 ] }; // Arabic thal, zero width non-joiner, Arabic ddal
362   key <AB06> { [ 0x100062F, 0x1000654, 0x1000689 ] }; // Arabic dal, Arabic hamza above, Arabic dal with ring
363   key <AB07> { [ 0x100067E, 0x1000621, 0x1000679 ] }; // Arabic peh, Arabic hamza, Arabic tteh
364   key <AB08> { [ 0x1000648, greater, comma ] }; // Arabic waw
365   key <AB09> { [ period, less ] };
366   key <AB10> { [ slash, 0x100061F, 0x1000655 ] }; // Arabic question mark, Arabic hamza below
367
368   include "nbsp(zwnj2nb3)"
369   include "group(olpc)"
370};
371