Home | History | Annotate | Line # | Download | only in symbols
      1 // Keyboard layouts for Dari, Pashto, and Southern Uzbek.
      2 // Created by M. Emal Alekozai <memala (a] 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 
      9 default partial alphanumeric_keys
     10 xkb_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 
     69 partial alphanumeric_keys
     70 xkb_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 
    129 partial alphanumeric_keys
    130 xkb_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 
    189 partial alphanumeric_keys
    190 xkb_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 
    250 partial alphanumeric_keys
    251 xkb_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 
    311 partial alphanumeric_keys
    312 xkb_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