Home | History | Annotate | Line # | Download | only in symbols
      1  1.1.1.12  mrg default partial alphanumeric_keys
      2       1.1  mrg xkb_symbols "basic" {
      3  1.1.1.11  mrg 
      4       1.1  mrg     name[Group1]= "Arabic";
      5       1.1  mrg 
      6  1.1.1.11  mrg     key.type[Group1]="FOUR_LEVEL";
      7  1.1.1.11  mrg     
      8  1.1.1.11  mrg     key <TLDE> {  [     Arabic_thal,        Arabic_shadda,            Arabic_percent,               U0609 ]};  //        
      9  1.1.1.11  mrg     key <AE01> {  [               1,               exclam,                  Arabic_1,            NoSymbol ]};  // 1 !     
     10  1.1.1.11  mrg     key <AE02> {  [               2,                   at,                  Arabic_2,            NoSymbol ]};  // 2 @     
     11  1.1.1.11  mrg     key <AE03> {  [               3,           numbersign,                  Arabic_3,            NoSymbol ]};  // 3 #     
     12  1.1.1.11  mrg     key <AE04> {  [               4,               dollar,                  Arabic_4,            NoSymbol ]};  // 4 $     
     13  1.1.1.11  mrg     key <AE05> {  [               5,              percent,                  Arabic_5,               U2030 ]};  // 5 %      
     14  1.1.1.11  mrg     key <AE06> {  [               6,          asciicircum,                  Arabic_6,            NoSymbol ]};  // 6 ^     
     15  1.1.1.11  mrg     key <AE07> {  [               7,            ampersand,                  Arabic_7,            NoSymbol ]};  // 7 &     
     16  1.1.1.11  mrg     key <AE08> {  [               8,             asterisk,                  Arabic_8,            NoSymbol ]};  // 8 *     
     17  1.1.1.11  mrg     key <AE09> {  [               9,           parenright,                  Arabic_9,            NoSymbol ]};  // 9 )     
     18  1.1.1.11  mrg     key <AE10> {  [               0,            parenleft,                  Arabic_0,            NoSymbol ]};  // 0 (      
     19  1.1.1.11  mrg     key <AE11> {  [           minus,           underscore,                    endash,               U2011 ]};  // - _      Non-Breaking-Hyphen
     20  1.1.1.11  mrg     key <AE12> {  [           equal,                 plus,                  notequal,               U2248 ]};  // = +       
     21  1.1.1.11  mrg 
     22  1.1.1.11  mrg     key <AD01> {  [      Arabic_dad,         Arabic_fatha,                  NoSymbol,               U2066 ]};  //         LEFTTORIGHT ISOLATE
     23  1.1.1.11  mrg     key <AD02> {  [      Arabic_sad,      Arabic_fathatan,                  NoSymbol,               U2067 ]};  //         RIGHTTOLEFT ISOLATE
     24  1.1.1.11  mrg     key <AD03> {  [     Arabic_theh,         Arabic_damma,                  NoSymbol,               U2068 ]};  //         FIRST STRONG ISOLATE
     25  1.1.1.11  mrg     key <AD04> {  [      Arabic_qaf,      Arabic_dammatan,                  NoSymbol,               U2069 ]};  //         POP DIRECTIONAL ISOLATE
     26  1.1.1.11  mrg     key <AD05> {  [      Arabic_feh,                UFEF9,                Arabic_veh,            NoSymbol ]};  //       
     27  1.1.1.11  mrg     key <AD06> {  [    Arabic_ghain,Arabic_hamzaunderalef,                  NoSymbol,               U202A ]};  //         LEFT-TO-RIGHT-EMBEDDING
     28  1.1.1.11  mrg     key <AD07> {  [      Arabic_ain,                grave,                  NoSymbol,               U202B ]};  //  `       RIGHT-TO-LEFT EMBEDDING
     29  1.1.1.11  mrg     key <AD08> {  [       Arabic_ha,             division,                  NoSymbol,               U202C ]};  //         POP DIRECTIONAL FORMATTING
     30  1.1.1.11  mrg     key <AD09> {  [     Arabic_khah,             multiply,                  NoSymbol,            NoSymbol ]};  //  
     31  1.1.1.11  mrg     key <AD10> {  [      Arabic_hah,     Arabic_semicolon,                  NoSymbol,               U200E ]};  //         LEFT-TO-RIGHT MARK
     32  1.1.1.11  mrg     key <AD11> {  [     Arabic_jeem,                 less,              Arabic_tcheh,               U200F ]};  //  <      RIGHT-TO-LEFT MARK
     33  1.1.1.11  mrg     key <AD12> {  [      Arabic_dal,              greater,                  NoSymbol,               U061C ]};  //  >       ARABIC LETTER MARK
     34  1.1.1.11  mrg 
     35  1.1.1.11  mrg     key <AC01> {  [    Arabic_sheen,         Arabic_kasra,                  NoSymbol,            NoSymbol ]};  //  
     36  1.1.1.11  mrg     key <AC02> {  [     Arabic_seen,      Arabic_kasratan,                  NoSymbol,            NoSymbol ]};  //  
     37  1.1.1.11  mrg     key <AC03> {  [      Arabic_yeh,         bracketright,                  NoSymbol,            NoSymbol ]};  //  ]
     38  1.1.1.11  mrg     key <AC04> {  [      Arabic_beh,          bracketleft,                Arabic_peh,            NoSymbol ]};  //  [      
     39  1.1.1.11  mrg     key <AC05> {  [      Arabic_lam,               U0FEF7,                  NoSymbol,            NoSymbol ]};  //  
     40  1.1.1.11  mrg     key <AC06> {  [     Arabic_alef,   Arabic_hamzaonalef,                     U0671,            NoSymbol ]};  //        
     41  1.1.1.11  mrg     key <AC07> {  [      Arabic_teh,       Arabic_tatweel,                  NoSymbol,            NoSymbol ]};  //  
     42  1.1.1.11  mrg     key <AC08> {  [     Arabic_noon,         Arabic_comma,                     U066B,            NoSymbol ]};  //       
     43  1.1.1.11  mrg     key <AC09> {  [     Arabic_meem,                slash,                  NoSymbol,            NoSymbol ]};  //  /
     44  1.1.1.11  mrg     key <AC10> {  [      Arabic_kaf,                colon,                Arabic_gaf,            NoSymbol ]};  //  :     
     45  1.1.1.11  mrg     key <AC11> {  [      Arabic_tah,             quotedbl,                     U27E9,               U200D ]};  //  "      ZWJ
     46  1.1.1.15  mrg     key <BKSL> {  [       backslash,                  bar,                     U27E8,               U202F ]};  // \ |      NNBSP
     47  1.1.1.11  mrg 
     48  1.1.1.15  mrg     key <LSGT> {  [             bar,             ellipsis,                 brokenbar,            NoSymbol ]};  // |      
     49  1.1.1.11  mrg     key <AB01> { [Arabic_hamzaonyeh,           asciitilde,            guillemotright,               U203A ]};  //  ~      
     50  1.1.1.11  mrg     key <AB02> {  [    Arabic_hamza,         Arabic_sukun,             guillemotleft,               U2039 ]};  //        
     51  1.1.1.11  mrg     key <AB03> { [Arabic_hamzaonwaw,           braceright,                  NoSymbol,            NoSymbol ]};  //  }
     52  1.1.1.11  mrg     key <AB04> {  [       Arabic_ra,            braceleft,                  NoSymbol,            NoSymbol ]};  //  {
     53  1.1.1.11  mrg     key <AB05> {  [           UFEFB,                UFEF5,                  NoSymbol,            NoSymbol ]};  //  
     54  1.1.1.11  mrg     key <AB06> {[Arabic_alefmaksura,   Arabic_maddaonalef,   Arabic_superscript_alef,            NoSymbol ]};  //        
     55  1.1.1.11  mrg     key <AB07> { [Arabic_tehmarbuta,           apostrophe,                  NoSymbol,            NoSymbol ]};  //  '
     56  1.1.1.11  mrg     key <AB08> {  [      Arabic_waw,                comma,                     U066C,            NoSymbol ]};  //  ,     
     57  1.1.1.11  mrg     key <AB09> {  [     Arabic_zain,               period,                Arabic_jeh,            NoSymbol ]};  //  .     
     58  1.1.1.11  mrg     key <AB10> {  [      Arabic_zah, Arabic_question_mark,                     U066D,               U200C ]};  //        ZWNJ
     59  1.1.1.11  mrg     
     60  1.1.1.11  mrg     include       "level3(ralt_switch)"
     61       1.1  mrg };
     62       1.1  mrg 
     63  1.1.1.11  mrg // Synonym for the default
     64       1.1  mrg partial alphanumeric_keys
     65       1.1  mrg xkb_symbols "qwerty" {
     66       1.1  mrg     include "ara(basic)"
     67  1.1.1.10  mrg     name[Group1]= "Arabic (QWERTY)";
     68       1.1  mrg };
     69       1.1  mrg 
     70  1.1.1.11  mrg 
     71  1.1.1.11  mrg // Replaces the Western numeral signs with Arabic-script digits on the keypad, pushing the Western digits to the third level accessible by the right alt key.
     72  1.1.1.11  mrg // As this set of definitions is unlisted, it is not usable without parallel mapping on the numeric row in the ara(digits) layout which includes it.
     73  1.1.1.11  mrg partial hidden keypad_keys
     74  1.1.1.11  mrg xkb_symbols "digits_KP" {
     75  1.1.1.11  mrg     
     76  1.1.1.11  mrg     key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD";
     77  1.1.1.11  mrg 
     78  1.1.1.11  mrg     key <KP7>  { [ KP_Home,   Arabic_7, 7, NoSymbol ] };
     79  1.1.1.11  mrg     key <KP8>  { [ KP_Up,     Arabic_8, 8, NoSymbol ] };
     80  1.1.1.11  mrg     key <KP9>  { [ KP_Prior,  Arabic_9, 9, NoSymbol ] };
     81  1.1.1.11  mrg 
     82  1.1.1.11  mrg     key <KP4>  { [ KP_Left,   Arabic_4, 4, NoSymbol ] };
     83  1.1.1.11  mrg     key <KP5>  { [ KP_Begin,  Arabic_5, 5, NoSymbol ] };
     84  1.1.1.11  mrg     key <KP6>  { [ KP_Right,  Arabic_6, 6, NoSymbol ] };
     85  1.1.1.11  mrg 
     86  1.1.1.11  mrg     key <KP1>  { [ KP_End,    Arabic_1, 1, NoSymbol ] };
     87  1.1.1.11  mrg     key <KP2>  { [ KP_Down,   Arabic_2, 2, NoSymbol ] };
     88  1.1.1.11  mrg     key <KP3>  { [ KP_Next,   Arabic_3, 3, NoSymbol ] };
     89  1.1.1.11  mrg 
     90  1.1.1.11  mrg     key <KP0>  { [ KP_Insert, Arabic_0, 0, NoSymbol ] };
     91  1.1.1.11  mrg     
     92  1.1.1.11  mrg     include       "kpdl(momayyezoss)"
     93  1.1.1.11  mrg };
     94  1.1.1.11  mrg 
     95  1.1.1.11  mrg // Replaces the Western numeral signs with Arabic-script digits on the numeric row, pushing the Western digits to the third level accessible by the right alt key.
     96  1.1.1.11  mrg partial alphanumeric_keys
     97  1.1.1.11  mrg xkb_symbols "digits" {
     98  1.1.1.11  mrg 
     99  1.1.1.11  mrg     include       "ara(basic)"
    100  1.1.1.11  mrg     
    101  1.1.1.12  mrg     name[Group1]= "Arabic (Eastern Arabic numerals)";
    102  1.1.1.11  mrg 
    103  1.1.1.11  mrg     key <TLDE> { [Arabic_thal,Arabic_shadda, percent,U2030]};
    104  1.1.1.11  mrg     key <AE01> { [ Arabic_1,         exclam, 1, NoSymbol ] };
    105  1.1.1.11  mrg     key <AE02> { [ Arabic_2,             at, 2, NoSymbol ] };
    106  1.1.1.11  mrg     key <AE03> { [ Arabic_3,     numbersign, 3, NoSymbol ] };
    107  1.1.1.11  mrg     key <AE04> { [ Arabic_4,         dollar, 4, NoSymbol ] };
    108  1.1.1.11  mrg     key <AE05> { [ Arabic_5, Arabic_percent, 5, U0609    ] };
    109  1.1.1.11  mrg     key <AE06> { [ Arabic_6,    asciicircum, 6, NoSymbol ] };
    110  1.1.1.11  mrg     key <AE07> { [ Arabic_7,      ampersand, 7, NoSymbol ] };
    111  1.1.1.11  mrg     key <AE08> { [ Arabic_8,       asterisk, 8, NoSymbol ] };
    112  1.1.1.11  mrg     key <AE09> { [ Arabic_9,     parenright, 9, NoSymbol ] };
    113  1.1.1.11  mrg     key <AE10> { [ Arabic_0,      parenleft, 0, NoSymbol ] };
    114  1.1.1.11  mrg 
    115  1.1.1.11  mrg     include       "ara(digits_KP)"
    116  1.1.1.11  mrg };
    117  1.1.1.11  mrg 
    118  1.1.1.11  mrg // Synonym for the layout with the Latin-script and Arabic-script digits switched
    119  1.1.1.11  mrg partial alphanumeric_keys
    120  1.1.1.11  mrg xkb_symbols "qwerty_digits" {
    121  1.1.1.11  mrg     include "ara(digits)"
    122  1.1.1.12  mrg     name[Group1]= "Arabic (QWERTY, Eastern Arabic numerals)";
    123  1.1.1.11  mrg };
    124  1.1.1.11  mrg 
    125  1.1.1.11  mrg 
    126       1.1  mrg partial alphanumeric_keys
    127       1.1  mrg xkb_symbols "azerty" {
    128       1.1  mrg     include "ara(basic)"
    129  1.1.1.10  mrg     name[Group1]= "Arabic (AZERTY)";
    130       1.1  mrg 
    131   1.1.1.6  mrg 	// The North African Arabic keyboard differs from the Middle East one
    132   1.1.1.6  mrg 	// by the numeric row; it follows French keyboard style.
    133       1.1  mrg 	//
    134   1.1.1.6  mrg 	// PROBLEM: some characters are inaccessible: ! @ # $ % ^ *
    135   1.1.1.6  mrg 	// Should they go elsewhere?  Replacing " ' that are now doubled?
    136   1.1.1.6  mrg 	// Also, dead_circumflex and dead_diaeresis from French keyboard
    137       1.1  mrg 	// as well as ugrave are missing, which questions the utility of the
    138   1.1.1.6  mrg 	// other accentuated Latin letters. Maybe this is useful only with
    139   1.1.1.6  mrg 	// a French keyboard in Group1? Then, shouldn't Group1 be filled?
    140       1.1  mrg 
    141       1.1  mrg     key <AE01> {  [       ampersand,               1      ]       };
    142       1.1  mrg     key <AE02> {  [          eacute,               2      ]       };
    143       1.1  mrg     key <AE03> {  [        quotedbl,               3      ]       };
    144       1.1  mrg     key <AE04> {  [      apostrophe,               4      ]       };
    145       1.1  mrg     key <AE05> {  [       parenleft,               5      ]       };
    146       1.1  mrg     key <AE06> {  [           minus,               6      ]       };
    147       1.1  mrg     key <AE07> {  [          egrave,               7      ]       };
    148       1.1  mrg     key <AE08> {  [      underscore,               8      ]       };
    149       1.1  mrg     key <AE09> {  [        ccedilla,               9      ]       };
    150       1.1  mrg     key <AE10> {  [          agrave,               0      ]       };
    151       1.1  mrg     key <AE11> {  [      parenright,          degree      ]       };
    152       1.1  mrg };
    153       1.1  mrg 
    154       1.1  mrg partial alphanumeric_keys
    155       1.1  mrg xkb_symbols "azerty_digits" {
    156       1.1  mrg     include "ara(azerty)"
    157  1.1.1.12  mrg     name[Group1]= "Arabic (AZERTY, Eastern Arabic numerals)";
    158   1.1.1.6  mrg 
    159  1.1.1.11  mrg     key <AE01> { [      ampersand, Arabic_1, 1, NoSymbol ] };
    160  1.1.1.11  mrg     key <AE02> { [         eacute, Arabic_2, 2, NoSymbol ] };
    161  1.1.1.11  mrg     key <AE03> { [       quotedbl, Arabic_3, 3, NoSymbol ] };
    162  1.1.1.11  mrg     key <AE04> { [     apostrophe, Arabic_4, 4, NoSymbol ] };
    163  1.1.1.11  mrg     key <AE05> { [      parenleft, Arabic_5, 5, NoSymbol ] };
    164  1.1.1.11  mrg     key <AE06> { [          minus, Arabic_6, 6, NoSymbol ] };
    165  1.1.1.11  mrg     key <AE07> { [         egrave, Arabic_7, 7, NoSymbol ] };
    166  1.1.1.11  mrg     key <AE08> { [     underscore, Arabic_8, 8, NoSymbol ] };
    167  1.1.1.11  mrg     key <AE09> { [       ccedilla, Arabic_9, 9, NoSymbol ] };
    168  1.1.1.11  mrg     key <AE10> { [         agrave, Arabic_0, 0, NoSymbol ] };
    169       1.1  mrg };
    170       1.1  mrg 
    171  1.1.1.11  mrg 
    172       1.1  mrg // Arabic keyboard using Buckwalter transliteration
    173       1.1  mrg // http://www.qamus.org/transliteration.htm
    174       1.1  mrg // Martin Vidner
    175       1.1  mrg 
    176   1.1.1.6  mrg partial alphanumeric_keys
    177       1.1  mrg xkb_symbols "buckwalter" {
    178   1.1.1.4  mrg     name[Group1]= "Arabic (Buckwalter)";
    179       1.1  mrg 
    180       1.1  mrg     // ARABIC LETTER SUPERSCRIPT ALEF
    181       1.1  mrg     key <TLDE> {  [       0x1000670,  Arabic_shadda       ]       };
    182       1.1  mrg 
    183       1.1  mrg     // Arabic_0 .. Arabic_9 do not work in Kate,
    184       1.1  mrg     // Unicode never seems to work worse.
    185       1.1  mrg     key <AE01> {  [       0x1000661,   VoidSymbol         ]       };
    186       1.1  mrg     key <AE02> {  [       0x1000662,   VoidSymbol         ]       };
    187       1.1  mrg     key <AE03> {  [       0x1000663,   VoidSymbol         ]       };
    188       1.1  mrg     key <AE04> {  [       0x1000664,   Arabic_sheen       ]       };
    189       1.1  mrg     key <AE05> {  [       0x1000665,   Arabic_percent     ]       };
    190       1.1  mrg     key <AE06> {  [       0x1000666,   VoidSymbol         ]       };
    191       1.1  mrg     key <AE07> {  [       0x1000667,   Arabic_hamzaonwaw  ]       };
    192       1.1  mrg     key <AE08> {  [       0x1000668,   Arabic_thal        ]       };
    193       1.1  mrg     // ORNATE LEFT PARENTHESIS
    194       1.1  mrg     key <AE09> {  [       0x1000669,   0x100fd3e          ]       };
    195       1.1  mrg     // ORNATE RIGHT PARENTHESIS
    196       1.1  mrg     key <AE10> {  [       0x1000660,   0x100fd3f          ]       };
    197       1.1  mrg     key <AE11> {  [       minus,       Arabic_tatweel     ]       };
    198       1.1  mrg     key <AE12> {  [       equal,       plus               ]       };
    199   1.1.1.6  mrg 
    200       1.1  mrg     key <AD01> {  [      Arabic_qaf,   VoidSymbol         ]       };
    201       1.1  mrg     key <AD02> {  [      Arabic_waw,   Arabic_hamzaonwaw  ]       };
    202       1.1  mrg     key <AD03> {  [      VoidSymbol,   Arabic_ain         ]       };
    203       1.1  mrg     key <AD04> {  [      Arabic_ra,    VoidSymbol         ]       };
    204       1.1  mrg     key <AD05> {  [      Arabic_teh,   Arabic_tah         ]       };
    205       1.1  mrg     key <AD06> {  [      Arabic_yeh,   Arabic_alefmaksura ]       };
    206       1.1  mrg     key <AD07> {  [      Arabic_damma, VoidSymbol         ]       };
    207       1.1  mrg     key <AD08> {  [      Arabic_kasra, Arabic_hamzaunderalef ]    };
    208       1.1  mrg     key <AD09> {  [      Arabic_sukun, Arabic_hamzaonalef ]       };
    209       1.1  mrg     key <AD10> {  [      Arabic_tehmarbuta, VoidSymbol    ]       };
    210       1.1  mrg     // ARABIC LETTER ALEF WASLA
    211       1.1  mrg     key <AD11> {  [      VoidSymbol,   0x1000671          ]       };
    212       1.1  mrg     key <AD12> {  [      VoidSymbol,   Arabic_hamzaonyeh  ]       };
    213       1.1  mrg 
    214       1.1  mrg     key <AC01> {  [    Arabic_fatha,   Arabic_alef        ]       };
    215       1.1  mrg     key <AC02> {  [    Arabic_seen,    Arabic_sad         ]       };
    216       1.1  mrg     key <AC03> {  [    Arabic_dal,     Arabic_dad         ]       };
    217       1.1  mrg     key <AC04> {  [    Arabic_feh,     Arabic_fathatan    ]       };
    218       1.1  mrg     key <AC05> {  [    Arabic_ghain,   VoidSymbol         ]       };
    219       1.1  mrg     key <AC06> {  [    Arabic_ha,      Arabic_hah         ]       };
    220       1.1  mrg     key <AC07> {  [    Arabic_jeem,    VoidSymbol         ]       };
    221       1.1  mrg     key <AC08> {  [    Arabic_kaf,     Arabic_kasratan    ]       };
    222       1.1  mrg     key <AC09> {  [    Arabic_lam,     VoidSymbol         ]       };
    223       1.1  mrg     key <AC10> {  [    Arabic_semicolon, VoidSymbol       ]       };
    224       1.1  mrg     key <AC11> {  [    Arabic_hamza,   VoidSymbol         ]       };
    225       1.1  mrg 
    226   1.1.1.6  mrg     key <BKSL> {  [    VoidSymbol,     Arabic_maddaonalef ]       };
    227       1.1  mrg 
    228       1.1  mrg     key <AB01> {  [    Arabic_zain,    Arabic_zah         ]       };
    229       1.1  mrg     key <AB02> {  [    Arabic_khah,    VoidSymbol         ]       };
    230       1.1  mrg     key <AB03> {  [    VoidSymbol,     VoidSymbol         ]       };
    231       1.1  mrg     key <AB04> {  [    Arabic_theh,    VoidSymbol         ]       };
    232       1.1  mrg     key <AB05> {  [    Arabic_beh,     VoidSymbol         ]       };
    233       1.1  mrg     key <AB06> {  [    Arabic_noon,    Arabic_dammatan    ]       };
    234       1.1  mrg     key <AB07> {  [    Arabic_meem,    VoidSymbol         ]       };
    235       1.1  mrg     key <AB08> {  [    Arabic_comma,   Arabic_hamzaunderalef ]    };
    236       1.1  mrg     // ARABIC FULL STOP (Urdu)
    237       1.1  mrg     key <AB09> {  [    0x10006d4,      Arabic_hamzaonalef ]       };
    238       1.1  mrg     key <AB10> {  [    VoidSymbol,     Arabic_question_mark ]     };
    239       1.1  mrg };
    240       1.1  mrg 
    241       1.1  mrg partial alphanumeric_keys
    242       1.1  mrg xkb_symbols "olpc" {
    243       1.1  mrg 
    244       1.1  mrg     include "ara(basic)"
    245       1.1  mrg 
    246  1.1.1.12  mrg     name[Group1]= "Arabic (OLPC)";
    247  1.1.1.12  mrg 
    248  1.1.1.11  mrg     // This OLPC layout comprises the following changes in comparison to the default Arabic one:
    249  1.1.1.11  mrg     //   Arabic and European digits are swapped (which entails swapping of the percent and permille signs).
    250  1.1.1.11  mrg     //   Lm-alif is eliminated. People type as they pronounce, and lam-alef is just a visual formatting of the
    251  1.1.1.11  mrg     //    sequence and thus arguably not used on the keyboard. This frees four slots which are used for the following three changes.
    252  1.1.1.11  mrg     //   The <TLDE> characters move:
    253  1.1.1.11  mrg     //      Thal from <TLDE> to <AB05>
    254  1.1.1.11  mrg     //      Shadda from <TLDE> to <AD05>
    255  1.1.1.11  mrg     //    and  obtain the <AE06> and <AE07> keys, the ^ and & signs previously occupying them take seat at <AB05> and <AC05>.
    256  1.1.1.11  mrg     //   The <TLDE> key gets grave ` and asciitilde ~ as on English keyboards.
    257  1.1.1.11  mrg     //   In sum the grave and asciitilde are present twice, as their erstwhile places are not removed.
    258  1.1.1.11  mrg     //   The braces }{ take the place of the less-than and greater-than >< signs,
    259  1.1.1.11  mrg     //    but these the place of kasra and kasratan which establish themselves in the braces former steads.
    260  1.1.1.11  mrg     //   The  character on <BKSL> is replaced by |, because OLPC laptops have no <LSGT> key installed where the bar is else placed.
    261  1.1.1.11  mrg     
    262  1.1.1.11  mrg     key <TLDE> {  [           grave,      asciitilde, percent, U2030     ] };
    263  1.1.1.11  mrg 
    264  1.1.1.11  mrg     key <AE01> {  [       Arabic_1,          exclam,  1                  ] };
    265  1.1.1.11  mrg     key <AE02> {  [       Arabic_2,              at,  2                  ] };
    266  1.1.1.11  mrg     key <AE03> {  [       Arabic_3,      numbersign,  3                  ] };
    267  1.1.1.11  mrg     key <AE04> {  [       Arabic_4,          dollar,  4                  ] };
    268  1.1.1.11  mrg     key <AE05> {  [       Arabic_5,  Arabic_percent,  5,       U0609     ] };
    269  1.1.1.11  mrg     key <AE06> {  [       Arabic_6,        sterling,  6                  ] };
    270  1.1.1.11  mrg     key <AE07> {  [       Arabic_7,        EuroSign,  7                  ] };
    271  1.1.1.11  mrg     key <AE08> {  [       Arabic_8,        asterisk,  8                  ] };
    272  1.1.1.11  mrg     key <AE09> {  [       Arabic_9,      parenright,  9                  ] };
    273  1.1.1.11  mrg     key <AE10> {  [       Arabic_0,       parenleft,  0                  ] };
    274       1.1  mrg 
    275       1.1  mrg     key <AD05> {  [      Arabic_feh,   Arabic_shadda  ] };
    276       1.1  mrg 
    277       1.1  mrg     key <AD11> {  [     Arabic_jeem,      braceright  ] };
    278       1.1  mrg     key <AD12> {  [      Arabic_dal,       braceleft  ] };
    279       1.1  mrg 
    280       1.1  mrg     key <AC01> {  [    Arabic_sheen,         greater  ] };
    281       1.1  mrg     key <AC02> {  [     Arabic_seen,            less  ] };
    282       1.1  mrg     key <AC05> {  [      Arabic_lam,       ampersand  ] };
    283       1.1  mrg     key <BKSL> {  [       backslash,             bar  ] };
    284       1.1  mrg 
    285       1.1  mrg     key <AB03> {  [ Arabic_hamzaonwaw,   Arabic_kasra ] };
    286   1.1.1.6  mrg     key <AB04> {  [       Arabic_ra,  Arabic_kasratan ] };
    287       1.1  mrg     key <AB05> {  [     Arabic_thal,      asciicircum ] };
    288       1.1  mrg 
    289       1.1  mrg     include "group(olpc)"
    290       1.1  mrg };
    291   1.1.1.5  mrg 
    292   1.1.1.8  mrg partial alphanumeric_keys
    293   1.1.1.8  mrg xkb_symbols "mac" {
    294   1.1.1.8  mrg     
    295   1.1.1.8  mrg     //This is a layout that is compatible with macbooks
    296   1.1.1.8  mrg 
    297   1.1.1.8  mrg     include "ara(digits)"
    298   1.1.1.8  mrg     name[Group1]= "Arabic (Macintosh)";
    299   1.1.1.8  mrg     
    300   1.1.1.8  mrg     key <AE11> {  [            minus,      underscore      ]     };
    301   1.1.1.8  mrg     key <AE12> {  [            equal,            plus      ]     };
    302   1.1.1.8  mrg     
    303   1.1.1.9  snj     key <TLDE> {  [   Arabic_tatweel,     VoidSymbol       ]	 };
    304   1.1.1.8  mrg     key <AD03> {  [      Arabic_theh,     Arabic_kasra     ]     };
    305   1.1.1.8  mrg     key <AD04> {  [       Arabic_qaf,     Arabic_kasratan  ]     };
    306   1.1.1.8  mrg     key <AD05> {  [       Arabic_feh,     Arabic_damma     ]     };
    307   1.1.1.8  mrg     key <AD06> {  [     Arabic_ghain,     Arabic_dammatan  ]     };
    308   1.1.1.8  mrg     key <AD07> {  [       Arabic_ain,     Arabic_sukun     ]     };
    309   1.1.1.8  mrg     key <AD08> {  [        Arabic_ha,     Arabic_shadda    ]     };
    310   1.1.1.8  mrg     key <AD09> {  [      Arabic_khah,     bracketright     ]     };
    311   1.1.1.8  mrg     key <AD10> {  [       Arabic_hah,     bracketleft      ]     };
    312   1.1.1.8  mrg     key <AD11> {  [      Arabic_jeem,     braceright        ]     };
    313   1.1.1.8  mrg     key <AD12> {  [Arabic_tehmarbuta,     braceleft       ]     };
    314   1.1.1.8  mrg     
    315   1.1.1.8  mrg     key <AC01> {  [    Arabic_sheen,     guillemotright     ]     };
    316   1.1.1.8  mrg     key <AC02> {  [     Arabic_seen,     guillemotleft    ]     };
    317   1.1.1.8  mrg     key <AC03> {  [      Arabic_yeh,     Arabic_alefmaksura]     };
    318   1.1.1.9  snj     key <AC04> {  [      Arabic_beh,     0x1000670         ]     };
    319   1.1.1.8  mrg     key <AC05> {  [      Arabic_lam,     VoidSymbol        ]     };
    320   1.1.1.8  mrg     key <AC06> {  [     Arabic_alef,   Arabic_maddaonalef  ]     };
    321   1.1.1.9  snj     key <AC07> {  [      Arabic_teh,     0x1000671         ]     };
    322   1.1.1.8  mrg     key <AC08> {  [     Arabic_noon,     VoidSymbol        ]     };
    323   1.1.1.8  mrg     key <AC09> {  [     Arabic_meem,     VoidSymbol        ]     };
    324   1.1.1.8  mrg     key <AC10> {  [      Arabic_kaf,            colon      ]     };
    325   1.1.1.8  mrg     key <AC11> {  [      Arabic_semicolon,      quotedbl   ]     };
    326   1.1.1.8  mrg     
    327   1.1.1.8  mrg     key <BKSL> {  [       backslash,             bar       ]     };
    328   1.1.1.8  mrg     
    329   1.1.1.8  mrg     key <LSGT> {  [   Arabic_tatweel,     VoidSymbol               ]     };
    330   1.1.1.8  mrg     key <AB01> {  [       Arabic_zah,     VoidSymbol               ]     };
    331   1.1.1.8  mrg     key <AB02> {  [       Arabic_tah,     VoidSymbol               ]     };
    332   1.1.1.8  mrg     key <AB03> {  [      Arabic_thal,     Arabic_hamzaonyeh        ]     };
    333   1.1.1.8  mrg     key <AB04> {  [       Arabic_dal,     Arabic_hamza             ]     };
    334   1.1.1.8  mrg     key <AB05> {  [      Arabic_zain,     Arabic_hamzaonalef       ]     };
    335   1.1.1.8  mrg     key <AB06> {  [        Arabic_ra,     Arabic_hamzaunderalef    ]     };
    336   1.1.1.8  mrg     key <AB07> {  [       Arabic_waw,     Arabic_hamzaonwaw        ]     };
    337   1.1.1.8  mrg     key <AB08> {  [     Arabic_comma,     greater                     ]     };
    338   1.1.1.8  mrg     key <AB09> {  [           period,     less                  ]     };
    339   1.1.1.8  mrg     key <AB10> {  [            slash,     Arabic_question_mark     ]     };
    340   1.1.1.8  mrg };
    341   1.1.1.8  mrg 
    342   1.1.1.5  mrg // EXTRAS:
    343   1.1.1.5  mrg 
    344   1.1.1.5  mrg partial alphanumeric_keys
    345   1.1.1.5  mrg 	xkb_symbols "sun_type6" {
    346   1.1.1.5  mrg 	include "sun_vndr/ara(sun_type6)"
    347   1.1.1.5  mrg };
    348  1.1.1.11  mrg 
    349  1.1.1.11  mrg partial alphanumeric_keys
    350  1.1.1.11  mrg xkb_symbols "basic_ext" {
    351  1.1.1.11  mrg 
    352  1.1.1.12  mrg     name[Group1]= "Arabic (Arabic numerals, extensions in the 4th level)";
    353  1.1.1.11  mrg 
    354  1.1.1.11  mrg     key.type[Group1]="FOUR_LEVEL";
    355  1.1.1.11  mrg     
    356  1.1.1.11  mrg     key <TLDE> {  [     Arabic_thal,        Arabic_shadda,            Arabic_percent,         Arabic_ddal ]};  //         
    357  1.1.1.11  mrg     key <AE01> {  [               1,               exclam,                  Arabic_1,             Farsi_1 ]};  // 1 !       
    358  1.1.1.11  mrg     key <AE02> {  [               2,                   at,                  Arabic_2,             Farsi_2 ]};  // 2 @       
    359  1.1.1.11  mrg     key <AE03> {  [               3,           numbersign,                  Arabic_3,             Farsi_3 ]};  // 3 #       
    360  1.1.1.11  mrg     key <AE04> {  [               4,               dollar,                  Arabic_4,             Farsi_4 ]};  // 4 $       
    361  1.1.1.11  mrg     key <AE05> {  [               5,              percent,                  Arabic_5,             Farsi_5 ]};  // 5 %       
    362  1.1.1.11  mrg     key <AE06> {  [               6,            Farsi_yeh,                  Arabic_6,             Farsi_6 ]};  // 6        
    363  1.1.1.11  mrg     key <AE07> {  [               7,            ampersand,                  Arabic_7,             Farsi_7 ]};  // 7 &       
    364  1.1.1.11  mrg     key <AE08> {  [               8,             asterisk,                  Arabic_8,             Farsi_8 ]};  // 8 *       
    365  1.1.1.11  mrg     key <AE09> {  [               9,           parenright,                  Arabic_9,             Farsi_9 ]};  // 9 )       
    366  1.1.1.11  mrg     key <AE10> {  [               0,            parenleft,                  Arabic_0,             Farsi_0 ]};  // 0 (      
    367  1.1.1.11  mrg     key <AE11> {  [           minus,           underscore,                    endash,               U2011 ]};  // - _      Non-Breaking-Hyphen
    368  1.1.1.11  mrg     key <AE12> {  [           equal,                 plus,                  notequal,               U2248 ]};  // = +       
    369  1.1.1.11  mrg 
    370  1.1.1.11  mrg     key <AD01> {  [      Arabic_dad,         Arabic_fatha,                     U0689,               U2066 ]};  //        LEFTTORIGHT ISOLATE
    371  1.1.1.11  mrg     key <AD02> {  [      Arabic_sad,      Arabic_fathatan,                     U06D5,               U2067 ]};  //        RIGHTTOLEFT ISOLATE
    372  1.1.1.11  mrg     key <AD03> {  [     Arabic_theh,         Arabic_damma,                     U067F,               U2068 ]};  //        FIRST STRONG ISOLATE
    373  1.1.1.11  mrg     key <AD04> {  [      Arabic_qaf,      Arabic_dammatan,                     U06A6,               U2069 ]};  //        POP DIRECTIONAL ISOLATE
    374  1.1.1.11  mrg     key <AD05> {  [      Arabic_feh,                UFEF9,                Arabic_veh,               U068D ]};  //        
    375  1.1.1.11  mrg     key <AD06> {  [    Arabic_ghain,Arabic_hamzaunderalef,                     U0685,               U202A ]};  //        LEFT-TO-RIGHT-EMBEDDING
    376  1.1.1.11  mrg     key <AD07> {  [      Arabic_ain,          Arabic_rreh,           Arabic_heh_goal,               U202B ]};  //        RIGHT-TO-LEFT EMBEDDING
    377  1.1.1.11  mrg     key <AD08> {  [       Arabic_ha,             division,    Arabic_heh_doachashmee,               U202C ]};  //        POP DIRECTIONAL FORMATTING
    378  1.1.1.11  mrg     key <AD09> {  [     Arabic_khah,             multiply,                     U0681,               U0687 ]};  //        
    379  1.1.1.11  mrg     key <AD10> {  [      Arabic_hah,     Arabic_semicolon,                     U0683,               U200E ]};  //        LEFT-TO-RIGHT MARK
    380  1.1.1.11  mrg     key <AD11> {  [     Arabic_jeem,                 less,              Arabic_tcheh,               U200F ]};  //  <      RIGHT-TO-LEFT MARK
    381  1.1.1.11  mrg     key <AD12> {  [      Arabic_dal,              greater,                     U0684,               U061C ]};  //  >      ARABIC LETTER MARK
    382  1.1.1.11  mrg 
    383  1.1.1.11  mrg     key <AC01> {  [    Arabic_sheen,         Arabic_kasra,                     U06C6,               U06C9 ]};  //        
    384  1.1.1.11  mrg     key <AC02> {  [     Arabic_seen,      Arabic_kasratan,                     U067C,               U0680 ]};  //        
    385  1.1.1.11  mrg     key <AC03> {  [      Arabic_yeh,         bracketright,                     U06D0,               U06CD ]};  //  ]      
    386  1.1.1.11  mrg     key <AC04> {  [      Arabic_beh,          bracketleft,                Arabic_peh,               U067B ]};  //  [      
    387  1.1.1.11  mrg     key <AC05> {  [      Arabic_lam,               U0FEF7,                     U076A,               U0658 ]};  //         
    388  1.1.1.11  mrg     key <AC06> {  [     Arabic_alef,   Arabic_hamzaonalef,                     U0671,  Arabic_noon_ghunna ]};  //        
    389  1.1.1.11  mrg     key <AC07> {  [      Arabic_teh,       Arabic_tatweel,                     U067D,               U067A ]};  //         
    390  1.1.1.11  mrg     key <AC08> {  [     Arabic_noon,         Arabic_comma,                     U066B,               U06BB ]};  //        
    391  1.1.1.11  mrg     key <AC09> {  [     Arabic_meem,                slash,                     U06B3,               U06B1 ]};  //  /      
    392  1.1.1.11  mrg     key <AC10> {  [      Arabic_kaf,                colon,                Arabic_gaf,        Arabic_keheh ]};  //  :      
    393  1.1.1.11  mrg     key <AC11> {  [      Arabic_tah,             quotedbl,                     U27E9,               U200D ]};  //  "      ZWJ
    394  1.1.1.15  mrg     key <BKSL> {  [       backslash,                  bar,                     U27E8,               U202F ]};  // \ |      NNBSP
    395  1.1.1.11  mrg 
    396  1.1.1.15  mrg     key <LSGT> {  [             bar,             ellipsis,                     U06C0,               U0620 ]};  // |       
    397  1.1.1.11  mrg     key <AB01> { [Arabic_hamzaonyeh,           asciitilde,            guillemotright,               U203A ]};  //  ~      
    398  1.1.1.11  mrg     key <AB02> {  [    Arabic_hamza,         Arabic_sukun,             guillemotleft,               U2039 ]};  //        
    399  1.1.1.11  mrg     key <AB03> { [Arabic_hamzaonwaw,           braceright,                     U06C7,               U0677 ]};  //  }      
    400  1.1.1.11  mrg     key <AB04> {  [       Arabic_ra,            braceleft,                     U0693,               U0699 ]};  //  {      
    401  1.1.1.11  mrg     key <AB05> {  [           UFEFB,                UFEF5,                     U06AB,               U06AD ]};  //        
    402  1.1.1.11  mrg     key <AB06> {[Arabic_alefmaksura,   Arabic_maddaonalef,   Arabic_superscript_alef,    Arabic_yeh_baree ]};  //        
    403  1.1.1.11  mrg     key <AB07> { [Arabic_tehmarbuta,           apostrophe,           Arabic_fullstop,               U06AA ]};  //  '      
    404  1.1.1.11  mrg     key <AB08> {  [      Arabic_waw,                comma,                     U066C,               U06CB ]};  //  ,      
    405  1.1.1.11  mrg     key <AB09> {  [     Arabic_zain,               period,                Arabic_jeh,               U0696 ]};  //  .      
    406  1.1.1.11  mrg     key <AB10> {  [      Arabic_zah, Arabic_question_mark,               Arabic_tteh,               U200C ]};  //        ZWNJ
    407  1.1.1.11  mrg     
    408  1.1.1.11  mrg     include       "level3(ralt_switch)"
    409  1.1.1.11  mrg };
    410  1.1.1.11  mrg 
    411  1.1.1.11  mrg // Replaces the Western numeral signs with Arabic-script digits on the keypad, pushing the Western digits to the third level accessible by the right alt key.
    412  1.1.1.11  mrg // As this set of definitions is unlisted, it is not usable without parallel mapping on the numeric row in the ara(basic_ext_digits) layout which includes it.
    413  1.1.1.11  mrg partial hidden keypad_keys
    414  1.1.1.11  mrg xkb_symbols "basic_ext_digits_KP" {
    415  1.1.1.11  mrg     
    416  1.1.1.11  mrg     key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD";
    417  1.1.1.11  mrg 
    418  1.1.1.11  mrg     key <KP7>  { [ KP_Home,   Arabic_7, 7, Farsi_7 ] };
    419  1.1.1.11  mrg     key <KP8>  { [ KP_Up,     Arabic_8, 8, Farsi_8 ] };
    420  1.1.1.11  mrg     key <KP9>  { [ KP_Prior,  Arabic_9, 9, Farsi_9 ] };
    421  1.1.1.11  mrg 
    422  1.1.1.11  mrg     key <KP4>  { [ KP_Left,   Arabic_4, 4, Farsi_4 ] };
    423  1.1.1.11  mrg     key <KP5>  { [ KP_Begin,  Arabic_5, 5, Farsi_5 ] };
    424  1.1.1.11  mrg     key <KP6>  { [ KP_Right,  Arabic_6, 6, Farsi_6 ] };
    425  1.1.1.11  mrg 
    426  1.1.1.11  mrg     key <KP1>  { [ KP_End,    Arabic_1, 1, Farsi_1 ] };
    427  1.1.1.11  mrg     key <KP2>  { [ KP_Down,   Arabic_2, 2, Farsi_2 ] };
    428  1.1.1.11  mrg     key <KP3>  { [ KP_Next,   Arabic_3, 3, Farsi_3 ] };
    429  1.1.1.11  mrg 
    430  1.1.1.11  mrg     key <KP0>  { [ KP_Insert, Arabic_0, 0, Farsi_0 ] };
    431  1.1.1.11  mrg     
    432  1.1.1.11  mrg     include       "kpdl(momayyezoss)"
    433  1.1.1.11  mrg };
    434  1.1.1.11  mrg 
    435  1.1.1.11  mrg // Replaces the Western numeral signs with Arabic-script digits on the numeric row, pushing the Western digits to the third level accessible by the right alt key.
    436  1.1.1.11  mrg // The alternative numeral glyphs used in some languages that employ the Arabic script are featured in the fourth layer.
    437  1.1.1.11  mrg partial alphanumeric_keys
    438  1.1.1.11  mrg xkb_symbols "basic_ext_digits" {
    439  1.1.1.11  mrg 
    440  1.1.1.11  mrg     include       "ara(basic_ext)"
    441  1.1.1.11  mrg     
    442  1.1.1.12  mrg     name[Group1]= "Arabic (Eastern Arabic numerals, extensions in the 4th level)";
    443  1.1.1.11  mrg 
    444  1.1.1.11  mrg     key <TLDE> { [Arabic_thal,Arabic_shadda, percent, Arabic_ddal ]};
    445  1.1.1.11  mrg     key <AE01> { [ Arabic_1,         exclam, 1, Farsi_1 ] };
    446  1.1.1.11  mrg     key <AE02> { [ Arabic_2,             at, 2, Farsi_2 ] };
    447  1.1.1.11  mrg     key <AE03> { [ Arabic_3,     numbersign, 3, Farsi_3 ] };
    448  1.1.1.11  mrg     key <AE04> { [ Arabic_4,         dollar, 4, Farsi_4 ] };
    449  1.1.1.11  mrg     key <AE05> { [ Arabic_5, Arabic_percent, 5, Farsi_5 ] };
    450  1.1.1.11  mrg     key <AE06> { [ Arabic_6,      Farsi_yeh, 6, Farsi_6 ] };
    451  1.1.1.11  mrg     key <AE07> { [ Arabic_7,      ampersand, 7, Farsi_7 ] };
    452  1.1.1.11  mrg     key <AE08> { [ Arabic_8,       asterisk, 8, Farsi_8 ] };
    453  1.1.1.11  mrg     key <AE09> { [ Arabic_9,     parenright, 9, Farsi_9 ] };
    454  1.1.1.11  mrg     key <AE10> { [ Arabic_0,      parenleft, 0, Farsi_0 ] };
    455  1.1.1.11  mrg 
    456  1.1.1.11  mrg     include       "ara(basic_ext_digits_KP)"
    457  1.1.1.11  mrg };
    458  1.1.1.11  mrg 
    459  1.1.1.11  mrg // In this layout the Ugaritic characters get the places of the Arabic characters with the matching sound values.
    460  1.1.1.11  mrg partial alphanumeric_keys
    461  1.1.1.11  mrg xkb_symbols "uga" {
    462  1.1.1.11  mrg 
    463  1.1.1.11  mrg     name[Group1]= "Ugaritic instead of Arabic";
    464  1.1.1.11  mrg 
    465  1.1.1.11  mrg     key.type[Group1]="TWO_LEVEL";
    466  1.1.1.11  mrg 
    467  1.1.1.11  mrg     key <TLDE> { [   U1038F,      NoSymbol       ]};  // 
    468  1.1.1.11  mrg     key <AE01> { [        1,      exclam         ]};  // 1 !
    469  1.1.1.11  mrg     key <AE02> { [        2,      at             ]};  // 2 @
    470  1.1.1.11  mrg     key <AE03> { [        3,      numbersign     ]};  // 3 #
    471  1.1.1.11  mrg     key <AE04> { [        4,      dollar         ]};  // 4 $
    472  1.1.1.11  mrg     key <AE05> { [        5,      percent        ]};  // 5 %
    473  1.1.1.11  mrg     key <AE06> { [        6,      asciicircum    ]};  // 6 ^
    474  1.1.1.11  mrg     key <AE07> { [        7,      ampersand      ]};  // 7 &
    475  1.1.1.11  mrg     key <AE08> { [        8,      asterisk       ]};  // 8 *
    476  1.1.1.11  mrg     key <AE09> { [        9,      parenleft      ]};  // 9 (
    477  1.1.1.11  mrg     key <AE10> { [        0,      parenright     ]};  // 0 )
    478  1.1.1.11  mrg     key <AE11> { [    minus,      underscore     ]};  // - _
    479  1.1.1.11  mrg     key <AE12> { [    equal,      plus           ]};  // = +
    480  1.1.1.11  mrg 
    481  1.1.1.11  mrg     key <AD01> { [   U1039D,      NoSymbol       ]};  // 
    482  1.1.1.11  mrg     key <AD02> { [   U10395,      NoSymbol       ]};  // 
    483  1.1.1.11  mrg     key <AD03> { [   U10398,      NoSymbol       ]};  // 
    484  1.1.1.11  mrg     key <AD04> { [   U10396,      NoSymbol       ]};  // 
    485  1.1.1.11  mrg     key <AD05> { [   U10394,      NoSymbol       ]};  // 
    486  1.1.1.11  mrg     key <AD06> { [   U10399,      NoSymbol       ]};  // 
    487  1.1.1.11  mrg     key <AD07> { [   U10393,      grave          ]};  //  `
    488  1.1.1.11  mrg     key <AD08> { [   U10385,      division       ]};  //  
    489  1.1.1.11  mrg     key <AD09> { [   U10383,      multiply       ]};  //  
    490  1.1.1.11  mrg     key <AD10> { [   U10388,      semicolon      ]};  //  ;
    491  1.1.1.11  mrg     key <AD11> { [   U10382,      greater        ]};  //  >
    492  1.1.1.11  mrg     key <AD12> { [   U10384,      less           ]};  //  <
    493  1.1.1.11  mrg 
    494  1.1.1.11  mrg     key <AC01> { [   U1038C,      U27E8          ]};  //  
    495  1.1.1.11  mrg     key <AC02> { [   U10392,      U27E9          ]};  //  
    496  1.1.1.11  mrg     key <AC03> { [   U1038A,      bracketleft    ]};  //  [
    497  1.1.1.11  mrg     key <AC04> { [   U10381,      bracketright   ]};  //  ]
    498  1.1.1.11  mrg     key <AC05> { [   U1038D,      NoSymbol       ]};  // 
    499  1.1.1.11  mrg     key <AC06> { [   U10380,      NoSymbol       ]};  // 
    500  1.1.1.11  mrg     key <AC07> { [   U1039A,      NoSymbol       ]};  // 
    501  1.1.1.11  mrg     key <AC08> { [   U10390,      NoSymbol       ]};  // 
    502  1.1.1.11  mrg     key <AC09> { [   U1038E,      slash          ]};  //  /
    503  1.1.1.11  mrg     key <AC10> { [   U1038B,      colon          ]};  // :
    504  1.1.1.11  mrg     key <AC11> { [   U10389,      quotedbl       ]};  //   "
    505  1.1.1.15  mrg     key <BKSL> { [backslash,      bar            ]};  // \ |
    506  1.1.1.11  mrg 
    507  1.1.1.11  mrg     key <LSGT> { [      bar,      endash         ]};  // | 
    508  1.1.1.11  mrg     key <AB01> { [   U1039B,      guillemotleft  ]};  //  
    509  1.1.1.11  mrg     key <AB02> { [ NoSymbol,      guillemotright ]};  //   
    510  1.1.1.11  mrg     key <AB03> { [   U1039C,      braceleft      ]};  //  {
    511  1.1.1.11  mrg     key <AB04> { [   U10397,      braceright     ]};  //  }
    512  1.1.1.11  mrg     key <AB05> { [   U1039F,      U2039          ]};  //  
    513  1.1.1.11  mrg     key <AB06> { [ question,      U203A          ]};  // ? 
    514  1.1.1.11  mrg     key <AB07> { [   U002BC,      apostrophe     ]};  //  '
    515  1.1.1.11  mrg     key <AB08> { [   U10386,      comma          ]};  //  ,
    516  1.1.1.11  mrg     key <AB09> { [   U10387,      period         ]};  //  .
    517  1.1.1.11  mrg     key <AB10> { [   U10391,      periodcentered ]};  //  
    518  1.1.1.11  mrg };
    519  1.1.1.14  mrg 
    520  1.1.1.14  mrg // An Ergonomic implementation of the basic Arabic keyboard (PC). Brings all letters to the middle 30 keys. 
    521  1.1.1.14  mrg xkb_symbols "ergoarabic" {
    522  1.1.1.14  mrg     include "ara(basic)"
    523  1.1.1.14  mrg     name[Group1]= "Arabic (ErgoArabic)";
    524  1.1.1.14  mrg     
    525  1.1.1.14  mrg     key <TLDE> {  [           grave,           asciitilde,                  NoSymbol,            NoSymbol ]}; 
    526  1.1.1.14  mrg 
    527  1.1.1.14  mrg     key <AD01> {  [        Arabic_dal,           Arabic_thal,               NoSymbol,               U2066 ]}; 
    528  1.1.1.14  mrg     key <AD02> {  [        Arabic_sad,            Arabic_dad,               NoSymbol,               U2067 ]}; 
    529  1.1.1.14  mrg     key <AD05> {  [        Arabic_feh,         Arabic_shadda,             Arabic_veh,            NoSymbol ]}; 
    530  1.1.1.14  mrg     key <AD06> {  [      Arabic_hamza, Arabic_hamzaunderalef,               NoSymbol,               U202A ]}; 
    531  1.1.1.14  mrg     key <AD07> {  [        Arabic_ain,          Arabic_ghain,               NoSymbol,               U202B ]}; 
    532  1.1.1.14  mrg     key <AD08> {  [         Arabic_ha,              division,               NoSymbol,               U202C ]}; 
    533  1.1.1.14  mrg     key <AD09> {  [        Arabic_waw,     Arabic_hamzaonwaw,               NoSymbol,            NoSymbol ]}; 
    534  1.1.1.14  mrg     key <AD10> {  [ Arabic_tehmarbuta,      Arabic_semicolon,               NoSymbol,               U200E ]}; 
    535  1.1.1.14  mrg     key <AD11> {  [      bracketright,            braceright,               NoSymbol,               U200F ]}; 
    536  1.1.1.14  mrg     key <AD12> {  [       bracketleft,             braceleft,               NoSymbol,               U061C ]}; 
    537  1.1.1.14  mrg 
    538  1.1.1.14  mrg     key <AC03> {  [        Arabic_yeh,          Arabic_fatha,               NoSymbol,            NoSymbol ]}; 
    539  1.1.1.14  mrg     key <AC04> {  [        Arabic_beh,       Arabic_fathatan,             Arabic_peh,            NoSymbol ]}; 
    540  1.1.1.14  mrg     key <AC05> {  [        Arabic_lam,    Arabic_maddaonalef,Arabic_superscript_alef,            NoSymbol ]}; 
    541  1.1.1.14  mrg     key <AC07> {  [        Arabic_teh,        Arabic_tatweel,               NoSymbol,            NoSymbol ]}; 
    542  1.1.1.14  mrg     key <AC08> {  [       Arabic_noon,              multiply,                  U066B,            NoSymbol ]}; 
    543  1.1.1.14  mrg     key <AC09> {  [       Arabic_meem,                 comma,               NoSymbol,            NoSymbol ]}; 
    544  1.1.1.14  mrg     key <AC10> {  [        Arabic_kaf,                 colon,             Arabic_gaf,            NoSymbol ]}; 
    545  1.1.1.14  mrg     key <AC11> {  [        apostrophe,              quotedbl,                  U27E9,               U200D ]}; 
    546  1.1.1.14  mrg     key <BKSL> {  [         backslash,                   bar,                  U27E8,               U202F ]}; 
    547  1.1.1.14  mrg 
    548  1.1.1.14  mrg     key <AB01> {  [ Arabic_hamzaonyeh,              NoSymbol,                  U203A,            NoSymbol ]}; 
    549  1.1.1.14  mrg     key <AB02> {  [Arabic_alefmaksura,          Arabic_sukun,                  U2039,            NoSymbol ]}; 
    550  1.1.1.14  mrg     key <AB03> {  [        Arabic_tah,            Arabic_zah,               NoSymbol,            NoSymbol ]}; 
    551  1.1.1.14  mrg     key <AB04> {  [         Arabic_ra,           Arabic_zain,             Arabic_jeh,            NoSymbol ]}; 
    552  1.1.1.14  mrg     key <AB05> {  [       Arabic_khah,              ellipsis,               NoSymbol,            NoSymbol ]}; 
    553  1.1.1.14  mrg     key <AB06> {  [        Arabic_hah,        guillemotright,               NoSymbol,            NoSymbol ]}; 
    554  1.1.1.14  mrg     key <AB07> {  [       Arabic_jeem,         guillemotleft,           Arabic_tcheh,            NoSymbol ]}; 
    555  1.1.1.14  mrg     key <AB08> {  [      Arabic_comma,               greater,               NoSymbol,            NoSymbol ]}; 
    556  1.1.1.14  mrg     key <AB09> {  [            period,                  less,               NoSymbol,            NoSymbol ]}; 
    557  1.1.1.14  mrg     key <AB10> {  [             slash,  Arabic_question_mark,                  U066D,               U200C ]}; 
    558  1.1.1.14  mrg };
    559