Home | History | Annotate | Line # | Download | only in symbols
ara revision 1.1.1.9
      1 default  partial alphanumeric_keys
      2 xkb_symbols "basic" {
      3     name[Group1]= "Arabic";
      4 
      5 // NOTES:
      6 //
      7 // There is also a combined shadda diacritic in the AltGr position of the
      8 // simple diacritics fatha, fathatan, damma, dammatan, kasra and kasratan. (??)
      9 // Should a third state be added to Group2?
     10 
     11     key <TLDE> {  [     Arabic_thal,   Arabic_shadda      ]     };
     12     key <AE01> {  [               1,          exclam      ]     };
     13     key <AE02> {  [               2,              at      ]     };
     14     key <AE03> {  [               3,      numbersign      ]     };
     15     key <AE04> {  [               4,          dollar      ]     };
     16     key <AE05> {  [               5,         percent      ]     };
     17     key <AE06> {  [               6,     asciicircum      ]     };
     18     key <AE07> {  [               7,       ampersand      ]     };
     19     key <AE08> {  [               8,        asterisk      ]     };
     20     key <AE09> {  [               9,      parenright      ]     };
     21     key <AE10> {  [               0,       parenleft      ]     };
     22     key <AE11> {  [           minus,      underscore      ]     };
     23     key <AE12> {  [           equal,            plus      ]     };
     24 
     25     key <AD01> {  [      Arabic_dad,     Arabic_fatha     ]     };
     26     key <AD02> {  [      Arabic_sad,  Arabic_fathatan     ]     };
     27     key <AD03> {  [     Arabic_theh,     Arabic_damma     ]     };
     28     key <AD04> {  [      Arabic_qaf,  Arabic_dammatan     ]     };
     29     key <AD05> {  [      Arabic_feh,        0x100fef9,      0x10006a4   ]     };
     30     key <AD06> {  [    Arabic_ghain, Arabic_hamzaunderalef]     };
     31     key <AD07> {  [      Arabic_ain,            grave     ]     };
     32     key <AD08> {  [       Arabic_ha,         division     ]     };
     33     key <AD09> {  [     Arabic_khah,         multiply     ]     };
     34     key <AD10> {  [      Arabic_hah, Arabic_semicolon     ]     };
     35     key <AD11> {  [     Arabic_jeem,             less,      0x1000686   ]     };
     36     key <AD12> {  [      Arabic_dal,          greater     ]     };
     37 
     38     key <AC01> {  [    Arabic_sheen,     Arabic_kasra     ]     };
     39     key <AC02> {  [     Arabic_seen,  Arabic_kasratan     ]     };
     40     key <AC03> {  [      Arabic_yeh,     bracketright     ]     };
     41     key <AC04> {  [      Arabic_beh,      bracketleft,      0x100067e   ]     };
     42     key <AC05> {  [      Arabic_lam,        0x100fef7     ]     };
     43     // ARABIC LETTER ALEF WASLA on AltGr
     44     key <AC06> {  [     Arabic_alef, Arabic_hamzaonalef,    0x1000671   ]     };
     45     key <AC07> {  [      Arabic_teh,   Arabic_tatweel     ]     };
     46     key <AC08> {  [     Arabic_noon,     Arabic_comma     ]     };
     47     key <AC09> {  [     Arabic_meem,            slash     ]     };
     48     key <AC10> {  [      Arabic_kaf,            colon,      0x10006af   ]     };
     49     key <AC11> {  [      Arabic_tah,         quotedbl     ]     };
     50 
     51     key <LSGT> {  [             bar,        brokenbar     ]     };
     52     key <AB01> {  [Arabic_hamzaonyeh,      asciitilde,      guillemotright ]};
     53     key <AB02> {  [    Arabic_hamza,     Arabic_sukun,      guillemotleft ]};
     54     key <AB03> {  [Arabic_hamzaonwaw,      braceright     ]     };
     55     key <AB04> {  [       Arabic_ra,        braceleft     ]     };
     56     key <AB05> {  [       0x100fefb,        0x100fef5     ]     };
     57     // ARABIC LETTER SUPERSCRIPT ALEF on AltGr
     58     key <AB06> {  [Arabic_alefmaksura, Arabic_maddaonalef,  0x1000670 ]     };
     59     key <AB07> {  [Arabic_tehmarbuta,      apostrophe     ]     };
     60     key <AB08> {  [      Arabic_waw,            comma     ]     };
     61     key <AB09> {  [     Arabic_zain,           period     ]     };
     62     key <AB10> {  [      Arabic_zah, Arabic_question_mark ]     };
     63 };
     64 
     65 partial alphanumeric_keys
     66 xkb_symbols "qwerty" {
     67     include "ara(basic)"
     68     name[Group1]= "Arabic (qwerty)";
     69 };
     70 
     71 partial alphanumeric_keys
     72 xkb_symbols "azerty" {
     73     include "ara(basic)"
     74     name[Group1]= "Arabic (azerty)";
     75 
     76 	// The North African Arabic keyboard differs from the Middle East one
     77 	// by the numeric row; it follows French keyboard style.
     78 	//
     79 	// PROBLEM: some characters are inaccessible: ! @ # $ % ^ *
     80 	// Should they go elsewhere?  Replacing " ' that are now doubled?
     81 	// Also, dead_circumflex and dead_diaeresis from French keyboard
     82 	// as well as ugrave are missing, which questions the utility of the
     83 	// other accentuated Latin letters. Maybe this is useful only with
     84 	// a French keyboard in Group1? Then, shouldn't Group1 be filled?
     85 
     86     key <AE01> {  [       ampersand,               1      ]       };
     87     key <AE02> {  [          eacute,               2      ]       };
     88     key <AE03> {  [        quotedbl,               3      ]       };
     89     key <AE04> {  [      apostrophe,               4      ]       };
     90     key <AE05> {  [       parenleft,               5      ]       };
     91     key <AE06> {  [           minus,               6      ]       };
     92     key <AE07> {  [          egrave,               7      ]       };
     93     key <AE08> {  [      underscore,               8      ]       };
     94     key <AE09> {  [        ccedilla,               9      ]       };
     95     key <AE10> {  [          agrave,               0      ]       };
     96     key <AE11> {  [      parenright,          degree      ]       };
     97 };
     98 
     99 partial hidden alphanumeric_keys
    100 xkb_symbols "digits_KP" {
    101 
    102     // Use Arabic-script digits on the keypad.
    103 
    104     key <KP7>  {  [   KP_Home,       0x1000667 ] };
    105     key <KP8>  {  [     KP_Up,       0x1000668 ] };
    106     key <KP9>  {  [  KP_Prior,       0x1000669 ] };
    107 
    108     key <KP4>  {  [   KP_Left,       0x1000664 ] };
    109     key <KP5>  {  [  KP_Begin,       0x1000665 ] };
    110     key <KP6>  {  [  KP_Right,       0x1000666 ] };
    111 
    112     key <KP1>  {  [    KP_End,       0x1000661 ] };
    113     key <KP2>  {  [   KP_Down,       0x1000662 ] };
    114     key <KP3>  {  [   KP_Next,       0x1000663 ] };
    115 
    116     key <KP0>  {  [ KP_Insert,       0x1000660 ] };
    117 };
    118 
    119 partial alphanumeric_keys
    120 xkb_symbols "digits" {
    121     include "ara(basic)"
    122     name[Group1]= "Arabic (digits)";
    123 
    124     // Use Arabic-script digits on the numeric row.
    125 
    126     key <AE01> {  [       0x1000661,          exclam      ]       };
    127     key <AE02> {  [       0x1000662,              at      ]       };
    128     key <AE03> {  [       0x1000663,      numbersign      ]       };
    129     key <AE04> {  [       0x1000664,          dollar      ]       };
    130     key <AE05> {  [       0x1000665,  Arabic_percent      ]       };
    131     key <AE06> {  [       0x1000666,     asciicircum      ]       };
    132     key <AE07> {  [       0x1000667,       ampersand      ]       };
    133     key <AE08> {  [       0x1000668,        asterisk      ]       };
    134     key <AE09> {  [       0x1000669,      parenright      ]       };
    135     key <AE10> {  [       0x1000660,       parenleft      ]       };
    136 
    137     include "ara(digits_KP)"
    138 };
    139 
    140 partial alphanumeric_keys
    141 xkb_symbols "qwerty_digits" {
    142     include "ara(digits)"
    143     name[Group1]= "Arabic (qwerty/digits)";
    144 };
    145 
    146 partial alphanumeric_keys
    147 xkb_symbols "azerty_digits" {
    148     include "ara(azerty)"
    149     name[Group1]= "Arabic (azerty/digits)";
    150 
    151     key <AE01> {  [       ampersand,       0x1000661      ]       };
    152     key <AE02> {  [          eacute,       0x1000662      ]       };
    153     key <AE03> {  [        quotedbl,       0x1000663      ]       };
    154     key <AE04> {  [      apostrophe,       0x1000664      ]       };
    155     key <AE05> {  [       parenleft,       0x1000665      ]       };
    156     key <AE06> {  [           minus,       0x1000666      ]       };
    157     key <AE07> {  [          egrave,       0x1000667      ]       };
    158     key <AE08> {  [      underscore,       0x1000668      ]       };
    159     key <AE09> {  [        ccedilla,       0x1000669      ]       };
    160     key <AE10> {  [          agrave,       0x1000660      ]       };
    161 };
    162 
    163 // Arabic keyboard using Buckwalter transliteration
    164 // http://www.qamus.org/transliteration.htm
    165 // Martin Vidner
    166 
    167 partial alphanumeric_keys
    168 xkb_symbols "buckwalter" {
    169     name[Group1]= "Arabic (Buckwalter)";
    170 
    171     // ARABIC LETTER SUPERSCRIPT ALEF
    172     key <TLDE> {  [       0x1000670,  Arabic_shadda       ]       };
    173 
    174     // Arabic_0 .. Arabic_9 do not work in Kate,
    175     // Unicode never seems to work worse.
    176     key <AE01> {  [       0x1000661,   VoidSymbol         ]       };
    177     key <AE02> {  [       0x1000662,   VoidSymbol         ]       };
    178     key <AE03> {  [       0x1000663,   VoidSymbol         ]       };
    179     key <AE04> {  [       0x1000664,   Arabic_sheen       ]       };
    180     key <AE05> {  [       0x1000665,   Arabic_percent     ]       };
    181     key <AE06> {  [       0x1000666,   VoidSymbol         ]       };
    182     key <AE07> {  [       0x1000667,   Arabic_hamzaonwaw  ]       };
    183     key <AE08> {  [       0x1000668,   Arabic_thal        ]       };
    184     // ORNATE LEFT PARENTHESIS
    185     key <AE09> {  [       0x1000669,   0x100fd3e          ]       };
    186     // ORNATE RIGHT PARENTHESIS
    187     key <AE10> {  [       0x1000660,   0x100fd3f          ]       };
    188     key <AE11> {  [       minus,       Arabic_tatweel     ]       };
    189     key <AE12> {  [       equal,       plus               ]       };
    190 
    191     key <AD01> {  [      Arabic_qaf,   VoidSymbol         ]       };
    192     key <AD02> {  [      Arabic_waw,   Arabic_hamzaonwaw  ]       };
    193     key <AD03> {  [      VoidSymbol,   Arabic_ain         ]       };
    194     key <AD04> {  [      Arabic_ra,    VoidSymbol         ]       };
    195     key <AD05> {  [      Arabic_teh,   Arabic_tah         ]       };
    196     key <AD06> {  [      Arabic_yeh,   Arabic_alefmaksura ]       };
    197     key <AD07> {  [      Arabic_damma, VoidSymbol         ]       };
    198     key <AD08> {  [      Arabic_kasra, Arabic_hamzaunderalef ]    };
    199     key <AD09> {  [      Arabic_sukun, Arabic_hamzaonalef ]       };
    200     key <AD10> {  [      Arabic_tehmarbuta, VoidSymbol    ]       };
    201     // ARABIC LETTER ALEF WASLA
    202     key <AD11> {  [      VoidSymbol,   0x1000671          ]       };
    203     key <AD12> {  [      VoidSymbol,   Arabic_hamzaonyeh  ]       };
    204 
    205     key <AC01> {  [    Arabic_fatha,   Arabic_alef        ]       };
    206     key <AC02> {  [    Arabic_seen,    Arabic_sad         ]       };
    207     key <AC03> {  [    Arabic_dal,     Arabic_dad         ]       };
    208     key <AC04> {  [    Arabic_feh,     Arabic_fathatan    ]       };
    209     key <AC05> {  [    Arabic_ghain,   VoidSymbol         ]       };
    210     key <AC06> {  [    Arabic_ha,      Arabic_hah         ]       };
    211     key <AC07> {  [    Arabic_jeem,    VoidSymbol         ]       };
    212     key <AC08> {  [    Arabic_kaf,     Arabic_kasratan    ]       };
    213     key <AC09> {  [    Arabic_lam,     VoidSymbol         ]       };
    214     key <AC10> {  [    Arabic_semicolon, VoidSymbol       ]       };
    215     key <AC11> {  [    Arabic_hamza,   VoidSymbol         ]       };
    216 
    217     key <BKSL> {  [    VoidSymbol,     Arabic_maddaonalef ]       };
    218 
    219     key <AB01> {  [    Arabic_zain,    Arabic_zah         ]       };
    220     key <AB02> {  [    Arabic_khah,    VoidSymbol         ]       };
    221     key <AB03> {  [    VoidSymbol,     VoidSymbol         ]       };
    222     key <AB04> {  [    Arabic_theh,    VoidSymbol         ]       };
    223     key <AB05> {  [    Arabic_beh,     VoidSymbol         ]       };
    224     key <AB06> {  [    Arabic_noon,    Arabic_dammatan    ]       };
    225     key <AB07> {  [    Arabic_meem,    VoidSymbol         ]       };
    226     key <AB08> {  [    Arabic_comma,   Arabic_hamzaunderalef ]    };
    227     // ARABIC FULL STOP (Urdu)
    228     key <AB09> {  [    0x10006d4,      Arabic_hamzaonalef ]       };
    229     key <AB10> {  [    VoidSymbol,     Arabic_question_mark ]     };
    230 };
    231 
    232 partial alphanumeric_keys
    233 xkb_symbols "olpc" {
    234 
    235     include "ara(basic)"
    236 
    237     // As part of the OLPC design, some changes were made to the Arabic
    238     // keyboard design. Major changes are:
    239     //
    240     //  * Removed the lam-alef single character. People type as they
    241     //    pronounce, and lam-alef is just a visual formatting of the
    242     //    sequence and is not often used on the keyboard. It is
    243     //    similar to the Allah single character, which is also not on
    244     //    the keyboard.
    245     //  * Moved the following keys:
    246     //     o Thal from TLDE to AB05: due to space limitation on the
    247     //       keyboard, but also accessibility.
    248     //     o Shadda from TLDE to AD05.
    249     //  * Placed currency letters on number keys and moved the ^ and &
    250     //    characters to lower keys. (This change is worth revisiting
    251     //    before end of test period).
    252 
    253     key <TLDE> {  [           grave,      asciitilde  ] };
    254 
    255     key <AE01> {  [       0x1000661,          exclam  ] };
    256     key <AE02> {  [       0x1000662,              at  ] };
    257     key <AE03> {  [       0x1000663,      numbersign  ] };
    258     key <AE04> {  [       0x1000664,          dollar  ] };
    259     key <AE05> {  [       0x1000665,  Arabic_percent  ] };
    260     key <AE06> {  [       0x1000666,        sterling  ] };
    261     key <AE07> {  [       0x1000667,        EuroSign  ] };
    262     key <AE08> {  [       0x1000668,        asterisk  ] };
    263     key <AE09> {  [       0x1000669,      parenright  ] };
    264     key <AE10> {  [       0x1000660,       parenleft  ] };
    265 
    266     key <AD05> {  [      Arabic_feh,   Arabic_shadda  ] };
    267 
    268     key <AD08> {  [      Arabic_heh,        division  ] };
    269     key <AD11> {  [     Arabic_jeem,      braceright  ] };
    270     key <AD12> {  [      Arabic_dal,       braceleft  ] };
    271 
    272     key <AC01> {  [    Arabic_sheen,         greater  ] };
    273     key <AC02> {  [     Arabic_seen,            less  ] };
    274     key <AC05> {  [      Arabic_lam,       ampersand  ] };
    275     key <AC10> {  [      Arabic_kaf                   ] };
    276     key <AC11> {  [      Arabic_tah                   ] };
    277 
    278     key <BKSL> {  [       backslash,             bar  ] };
    279 
    280     // REH isolated form?
    281     key <AB03> {  [ Arabic_hamzaonwaw,   Arabic_kasra ] };
    282     key <AB04> {  [       Arabic_ra,  Arabic_kasratan ] };
    283     key <AB05> {  [     Arabic_thal,      asciicircum ] };
    284 
    285     include "group(olpc)"
    286 };
    287 
    288 partial alphanumeric_keys
    289 xkb_symbols "mac" {
    290     
    291     //This is a layout that is compatible with macbooks
    292 
    293     include "ara(digits)"
    294     name[Group1]= "Arabic (Macintosh)";
    295     
    296     key <AE11> {  [            minus,      underscore      ]     };
    297     key <AE12> {  [            equal,            plus      ]     };
    298     
    299     key <TLDE> {  [   Arabic_tatweel,     VoidSymbol       ]	 };
    300     key <AD03> {  [      Arabic_theh,     Arabic_kasra     ]     };
    301     key <AD04> {  [       Arabic_qaf,     Arabic_kasratan  ]     };
    302     key <AD05> {  [       Arabic_feh,     Arabic_damma     ]     };
    303     key <AD06> {  [     Arabic_ghain,     Arabic_dammatan  ]     };
    304     key <AD07> {  [       Arabic_ain,     Arabic_sukun     ]     };
    305     key <AD08> {  [        Arabic_ha,     Arabic_shadda    ]     };
    306     key <AD09> {  [      Arabic_khah,     bracketright     ]     };
    307     key <AD10> {  [       Arabic_hah,     bracketleft      ]     };
    308     key <AD11> {  [      Arabic_jeem,     braceright        ]     };
    309     key <AD12> {  [Arabic_tehmarbuta,     braceleft       ]     };
    310     
    311     key <AC01> {  [    Arabic_sheen,     guillemotright     ]     };
    312     key <AC02> {  [     Arabic_seen,     guillemotleft    ]     };
    313     key <AC03> {  [      Arabic_yeh,     Arabic_alefmaksura]     };
    314     key <AC04> {  [      Arabic_beh,     0x1000670         ]     };
    315     key <AC05> {  [      Arabic_lam,     VoidSymbol        ]     };
    316     key <AC06> {  [     Arabic_alef,   Arabic_maddaonalef  ]     };
    317     key <AC07> {  [      Arabic_teh,     0x1000671         ]     };
    318     key <AC08> {  [     Arabic_noon,     VoidSymbol        ]     };
    319     key <AC09> {  [     Arabic_meem,     VoidSymbol        ]     };
    320     key <AC10> {  [      Arabic_kaf,            colon      ]     };
    321     key <AC11> {  [      Arabic_semicolon,      quotedbl   ]     };
    322     
    323     key <BKSL> {  [       backslash,             bar       ]     };
    324     
    325     key <LSGT> {  [   Arabic_tatweel,     VoidSymbol               ]     };
    326     key <AB01> {  [       Arabic_zah,     VoidSymbol               ]     };
    327     key <AB02> {  [       Arabic_tah,     VoidSymbol               ]     };
    328     key <AB03> {  [      Arabic_thal,     Arabic_hamzaonyeh        ]     };
    329     key <AB04> {  [       Arabic_dal,     Arabic_hamza             ]     };
    330     key <AB05> {  [      Arabic_zain,     Arabic_hamzaonalef       ]     };
    331     key <AB06> {  [        Arabic_ra,     Arabic_hamzaunderalef    ]     };
    332     key <AB07> {  [       Arabic_waw,     Arabic_hamzaonwaw        ]     };
    333     key <AB08> {  [     Arabic_comma,     greater                     ]     };
    334     key <AB09> {  [           period,     less                  ]     };
    335     key <AB10> {  [            slash,     Arabic_question_mark     ]     };
    336     
    337 };
    338 
    339 // EXTRAS:
    340 
    341 partial alphanumeric_keys
    342 	xkb_symbols "sun_type6" {
    343 	include "sun_vndr/ara(sun_type6)"
    344 };
    345