ara revision 0412cded
1154daed1Smrg// based on a keyboard map from an 'xkb/symbols/ar' file 2154daed1Smrg 3154daed1Smrgpartial default alphanumeric_keys 4154daed1Smrgxkb_symbols "basic" { 5154daed1Smrg name[Group1]= "Arabic"; 6154daed1Smrg 7154daed1Smrg// NOTES: 8154daed1Smrg// 9154daed1Smrg// there is also combined shadda diacritis in AltGr position of simple 10154daed1Smrg// diacritics fatha, fathatan, damma, dammatan, kasra and kasratan 11154daed1Smrg// should a third state be added to Group2 ? 12154daed1Smrg// 13154daed1Smrg 14154daed1Smrg key <TLDE> { [ Arabic_thal, Arabic_shadda ] }; 15154daed1Smrg key <AE01> { [ 1, exclam ] }; 16154daed1Smrg key <AE02> { [ 2, at ] }; 17154daed1Smrg key <AE03> { [ 3, numbersign ] }; 18154daed1Smrg key <AE04> { [ 4, dollar ] }; 19154daed1Smrg key <AE05> { [ 5, percent ] }; 20154daed1Smrg key <AE06> { [ 6, asciicircum ] }; 21154daed1Smrg key <AE07> { [ 7, ampersand ] }; 22154daed1Smrg key <AE08> { [ 8, asterisk ] }; 23154daed1Smrg key <AE09> { [ 9, parenright ] }; 24154daed1Smrg key <AE10> { [ 0, parenleft ] }; 25154daed1Smrg key <AE11> { [ minus, underscore ] }; 26154daed1Smrg key <AE12> { [ equal, plus ] }; 27154daed1Smrg 28154daed1Smrg key <AD01> { [ Arabic_dad, Arabic_fatha ] }; 29154daed1Smrg key <AD02> { [ Arabic_sad, Arabic_fathatan ] }; 30154daed1Smrg key <AD03> { [ Arabic_theh, Arabic_damma ] }; 31154daed1Smrg key <AD04> { [ Arabic_qaf, Arabic_dammatan ] }; 32c067fea9Sghen key <AD05> { [ Arabic_feh, 0x100fef9, 0x10006a4 ] }; 33154daed1Smrg key <AD06> { [ Arabic_ghain, Arabic_hamzaunderalef ] }; 34154daed1Smrg key <AD07> { [ Arabic_ain, grave ] }; 35154daed1Smrg key <AD08> { [ Arabic_ha, division ] }; 36154daed1Smrg key <AD09> { [ Arabic_khah, multiply ] }; 37154daed1Smrg key <AD10> { [ Arabic_hah, Arabic_semicolon ] }; 38c067fea9Sghen key <AD11> { [ Arabic_jeem, less, 0x1000686 ] }; 39154daed1Smrg key <AD12> { [ Arabic_dal, greater ] }; 40154daed1Smrg 41154daed1Smrg key <AC01> { [ Arabic_sheen, Arabic_kasra ] }; 42154daed1Smrg key <AC02> { [ Arabic_seen, Arabic_kasratan ] }; 43154daed1Smrg key <AC03> { [ Arabic_yeh, bracketright ] }; 44c067fea9Sghen key <AC04> { [ Arabic_beh, bracketleft, 0x100067e ] }; 45c067fea9Sghen key <AC05> { [ Arabic_lam, 0x100fef7 ] }; 46154daed1Smrg key <AC06> { [ Arabic_alef, Arabic_hamzaonalef ] }; 47154daed1Smrg key <AC07> { [ Arabic_teh, Arabic_tatweel ] }; 48154daed1Smrg key <AC08> { [ Arabic_noon, Arabic_comma ] }; 49154daed1Smrg key <AC09> { [ Arabic_meem, slash ] }; 50c067fea9Sghen key <AC10> { [ Arabic_kaf, colon, 0x10006af ] }; 51154daed1Smrg key <AC11> { [ Arabic_tah, quotedbl ] }; 52154daed1Smrg 53154daed1Smrg key <LSGT> { [ bar, brokenbar ] }; 54c067fea9Sghen key <AB01> { [Arabic_hamzaonyeh, asciitilde, guillemotright ] }; 55c067fea9Sghen key <AB02> { [ Arabic_hamza, Arabic_sukun, guillemotleft ] }; 56154daed1Smrg key <AB03> { [Arabic_hamzaonwaw, braceright ] }; 57154daed1Smrg key <AB04> { [ Arabic_ra, braceleft ] }; 58c067fea9Sghen key <AB05> { [ 0x100fefb, 0x100fef5 ] }; 59154daed1Smrg key <AB06> { [Arabic_alefmaksura, Arabic_maddaonalef ] }; 60154daed1Smrg key <AB07> { [Arabic_tehmarbuta, apostrophe ] }; 61154daed1Smrg key <AB08> { [ Arabic_waw, comma ] }; 62154daed1Smrg key <AB09> { [ Arabic_zain, period ] }; 63154daed1Smrg key <AB10> { [ Arabic_zah, Arabic_question_mark ] }; 64154daed1Smrg 65154daed1Smrg // End alphanumeric section 66154daed1Smrg}; 67154daed1Smrg 68154daed1Smrgpartial alphanumeric_keys 69154daed1Smrgxkb_symbols "qwerty" { 70154daed1Smrg include "ara(basic)" 71bfd7cbc1Smrg name[Group1]= "Arabic (qwerty)"; 72154daed1Smrg}; 73154daed1Smrg 74154daed1Smrgpartial alphanumeric_keys 75154daed1Smrgxkb_symbols "azerty" { 76154daed1Smrg include "ara(basic)" 77bfd7cbc1Smrg name[Group1]= "Arabic (azerty)"; 78154daed1Smrg 79154daed1Smrg // the north african arabic keyboard differs from the middle east one 80154daed1Smrg // by the numeric row; it follows French keyboard style 81154daed1Smrg // 82154daed1Smrg // PROBLEM: some chars are inaccessible: ! @ # $ % ^ * 83154daed1Smrg // should they go elsewhere? replace " ' that are now in double ? 84154daed1Smrg // also, dead_circumflex and dead_diaeresis from French keyboard 85154daed1Smrg // as well as ugrave are missing, which questions the utility of the 86154daed1Smrg // other accentuated latin letters. Maybe this is useful only with 87154daed1Smrg // a French keyboard in Group1 ? Then, shouldn't Group1 be filled ? 88154daed1Smrg 89154daed1Smrg key <AE01> { [ ampersand, 1 ] }; 90154daed1Smrg key <AE02> { [ eacute, 2 ] }; 91154daed1Smrg key <AE03> { [ quotedbl, 3 ] }; 92154daed1Smrg key <AE04> { [ apostrophe, 4 ] }; 93154daed1Smrg key <AE05> { [ parenleft, 5 ] }; 94154daed1Smrg key <AE06> { [ minus, 6 ] }; 95154daed1Smrg key <AE07> { [ egrave, 7 ] }; 96154daed1Smrg key <AE08> { [ underscore, 8 ] }; 97154daed1Smrg key <AE09> { [ ccedilla, 9 ] }; 98154daed1Smrg key <AE10> { [ agrave, 0 ] }; 99154daed1Smrg key <AE11> { [ parenright, degree ] }; 100154daed1Smrg}; 101154daed1Smrg 102154daed1Smrgpartial alphanumeric_keys 103154daed1Smrgxkb_symbols "digits" { 104154daed1Smrg include "ara(basic)" 105bfd7cbc1Smrg name[Group1]= "Arabic (digits)"; 106154daed1Smrg 107154daed1Smrg // use arabic script digits 108154daed1Smrg 109154daed1Smrg key <AE01> { [ 0x1000661, exclam ] }; 110154daed1Smrg key <AE02> { [ 0x1000662, at ] }; 111154daed1Smrg key <AE03> { [ 0x1000663, numbersign ] }; 112154daed1Smrg key <AE04> { [ 0x1000664, dollar ] }; 113154daed1Smrg key <AE05> { [ 0x1000665, Arabic_percent ] }; 114154daed1Smrg key <AE06> { [ 0x1000666, asciicircum ] }; 115154daed1Smrg key <AE07> { [ 0x1000667, ampersand ] }; 116154daed1Smrg key <AE08> { [ 0x1000668, asterisk ] }; 117154daed1Smrg key <AE09> { [ 0x1000669, parenright ] }; 118154daed1Smrg key <AE10> { [ 0x1000660, parenleft ] }; 119154daed1Smrg}; 120154daed1Smrg 121154daed1Smrgpartial alphanumeric_keys 122154daed1Smrgxkb_symbols "qwerty_digits" { 123154daed1Smrg include "ara(digits)" 124bfd7cbc1Smrg name[Group1]= "Arabic (qwerty/digits)"; 125154daed1Smrg}; 126154daed1Smrg 127154daed1Smrgpartial alphanumeric_keys 128154daed1Smrgxkb_symbols "azerty_digits" { 129154daed1Smrg include "ara(azerty)" 130bfd7cbc1Smrg name[Group1]= "Arabic (azerty/digits)"; 131154daed1Smrg 132154daed1Smrg key <AE01> { [ ampersand, 0x1000661 ] }; 133154daed1Smrg key <AE02> { [ eacute, 0x1000662 ] }; 134154daed1Smrg key <AE03> { [ quotedbl, 0x1000663 ] }; 135154daed1Smrg key <AE04> { [ apostrophe, 0x1000664 ] }; 136154daed1Smrg key <AE05> { [ parenleft, 0x1000665 ] }; 137154daed1Smrg key <AE06> { [ minus, 0x1000666 ] }; 138154daed1Smrg key <AE07> { [ egrave, 0x1000667 ] }; 139154daed1Smrg key <AE08> { [ underscore, 0x1000668 ] }; 140154daed1Smrg key <AE09> { [ ccedilla, 0x1000669 ] }; 141154daed1Smrg key <AE10> { [ agrave, 0x1000660 ] }; 142154daed1Smrg}; 143154daed1Smrg 144154daed1Smrg// Arabic keyboard using Buckwalter transliteration 145154daed1Smrg// http://www.qamus.org/transliteration.htm 146154daed1Smrg// Martin Vidner 147154daed1Smrg 148154daed1Smrg// symbol names: see /usr/X11R6/include/X11/keysymdef.h (XFree86-devel.rpm) 149154daed1Smrg 150154daed1Smrgpartial alphanumeric_keys 151154daed1Smrgxkb_symbols "buckwalter" { 152bfd7cbc1Smrg name[Group1]= "Arabic (Buckwalter)"; 153154daed1Smrg 154154daed1Smrg // ARABIC LETTER SUPERSCRIPT ALEF 155154daed1Smrg key <TLDE> { [ 0x1000670, Arabic_shadda ] }; 156154daed1Smrg 157154daed1Smrg // Arabic_0 .. Arabic_9 do not work in Kate, 158154daed1Smrg // Unicode never seems to work worse. 159154daed1Smrg key <AE01> { [ 0x1000661, VoidSymbol ] }; 160154daed1Smrg key <AE02> { [ 0x1000662, VoidSymbol ] }; 161154daed1Smrg key <AE03> { [ 0x1000663, VoidSymbol ] }; 162154daed1Smrg key <AE04> { [ 0x1000664, Arabic_sheen ] }; 163154daed1Smrg key <AE05> { [ 0x1000665, Arabic_percent ] }; 164154daed1Smrg key <AE06> { [ 0x1000666, VoidSymbol ] }; 165154daed1Smrg key <AE07> { [ 0x1000667, Arabic_hamzaonwaw ] }; 166154daed1Smrg key <AE08> { [ 0x1000668, Arabic_thal ] }; 167154daed1Smrg // ORNATE LEFT PARENTHESIS 168154daed1Smrg key <AE09> { [ 0x1000669, 0x100fd3e ] }; 169154daed1Smrg // ORNATE RIGHT PARENTHESIS 170154daed1Smrg key <AE10> { [ 0x1000660, 0x100fd3f ] }; 171154daed1Smrg key <AE11> { [ minus, Arabic_tatweel ] }; 172154daed1Smrg key <AE12> { [ equal, plus ] }; 173154daed1Smrg 174154daed1Smrg key <AD01> { [ Arabic_qaf, VoidSymbol ] }; 175154daed1Smrg key <AD02> { [ Arabic_waw, Arabic_hamzaonwaw ] }; 176154daed1Smrg key <AD03> { [ VoidSymbol, Arabic_ain ] }; 177154daed1Smrg key <AD04> { [ Arabic_ra, VoidSymbol ] }; 178154daed1Smrg key <AD05> { [ Arabic_teh, Arabic_tah ] }; 179154daed1Smrg key <AD06> { [ Arabic_yeh, Arabic_alefmaksura ] }; 180154daed1Smrg key <AD07> { [ Arabic_damma, VoidSymbol ] }; 181154daed1Smrg key <AD08> { [ Arabic_kasra, Arabic_hamzaunderalef ] }; 182154daed1Smrg key <AD09> { [ Arabic_sukun, Arabic_hamzaonalef ] }; 183154daed1Smrg key <AD10> { [ Arabic_tehmarbuta, VoidSymbol ] }; 184154daed1Smrg // ARABIC LETTER ALEF WASLA 185154daed1Smrg key <AD11> { [ VoidSymbol, 0x1000671 ] }; 186154daed1Smrg key <AD12> { [ VoidSymbol, Arabic_hamzaonyeh ] }; 187154daed1Smrg 188154daed1Smrg key <AC01> { [ Arabic_fatha, Arabic_alef ] }; 189154daed1Smrg key <AC02> { [ Arabic_seen, Arabic_sad ] }; 190154daed1Smrg key <AC03> { [ Arabic_dal, Arabic_dad ] }; 191154daed1Smrg key <AC04> { [ Arabic_feh, Arabic_fathatan ] }; 192154daed1Smrg key <AC05> { [ Arabic_ghain, VoidSymbol ] }; 193154daed1Smrg key <AC06> { [ Arabic_ha, Arabic_hah ] }; 194154daed1Smrg key <AC07> { [ Arabic_jeem, VoidSymbol ] }; 195154daed1Smrg key <AC08> { [ Arabic_kaf, Arabic_kasratan ] }; 196154daed1Smrg key <AC09> { [ Arabic_lam, VoidSymbol ] }; 197154daed1Smrg key <AC10> { [ Arabic_semicolon, VoidSymbol ] }; 198154daed1Smrg key <AC11> { [ Arabic_hamza, VoidSymbol ] }; 199154daed1Smrg 200154daed1Smrg key <BKSL> { [ VoidSymbol, Arabic_maddaonalef ] }; 201154daed1Smrg 202154daed1Smrg// key <LSGT> { [ bar, brokenbar ] }; 203154daed1Smrg 204154daed1Smrg key <AB01> { [ Arabic_zain, Arabic_zah ] }; 205154daed1Smrg key <AB02> { [ Arabic_khah, VoidSymbol ] }; 206154daed1Smrg key <AB03> { [ VoidSymbol, VoidSymbol ] }; 207154daed1Smrg key <AB04> { [ Arabic_theh, VoidSymbol ] }; 208154daed1Smrg key <AB05> { [ Arabic_beh, VoidSymbol ] }; 209154daed1Smrg key <AB06> { [ Arabic_noon, Arabic_dammatan ] }; 210154daed1Smrg key <AB07> { [ Arabic_meem, VoidSymbol ] }; 211154daed1Smrg key <AB08> { [ Arabic_comma, Arabic_hamzaunderalef ] }; 212154daed1Smrg // ARABIC FULL STOP (Urdu) 213154daed1Smrg key <AB09> { [ 0x10006d4, Arabic_hamzaonalef ] }; 214154daed1Smrg key <AB10> { [ VoidSymbol, Arabic_question_mark ] }; 215154daed1Smrg 216154daed1Smrg // End alphanumeric section 217154daed1Smrg}; 218154daed1Smrg 219154daed1Smrgpartial alphanumeric_keys 220154daed1Smrgxkb_symbols "olpc" { 221154daed1Smrg 222154daed1Smrg include "ara(basic)" 223154daed1Smrg 224154daed1Smrg // As part of the olpc design some changes were made to the Arabic 225154daed1Smrg // keyboard design. Major changes are: 226154daed1Smrg // 227154daed1Smrg // * Removed the lam-alef single character. Poeple type as they 228154daed1Smrg // pronounce, and lam-alef is just a visual formatting of the 229154daed1Smrg // sequence and is not often used on the keyboard. It is 230154daed1Smrg // similar to the Allah single character, which is also not on 231154daed1Smrg // the keyboard. 232154daed1Smrg // * Moved the following keys: 233154daed1Smrg // o Thal from TLDE to AB05: Due to space limitation on the 234154daed1Smrg // keybaord, but also accessibility 235154daed1Smrg // o Shadda from TLDE to AD05 236154daed1Smrg // * Placed currency letters on number keys and moved the ^ and & 237154daed1Smrg // characters to lower keys (This change is worth revisiting 238154daed1Smrg // before end of test period) 239154daed1Smrg 240154daed1Smrg key <TLDE> { [ grave, asciitilde ] }; 241154daed1Smrg 242154daed1Smrg key <AE01> { [ 0x1000661, exclam ] }; 243154daed1Smrg key <AE02> { [ 0x1000662, at ] }; 244154daed1Smrg key <AE03> { [ 0x1000663, numbersign ] }; 245154daed1Smrg key <AE04> { [ 0x1000664, dollar ] }; 246154daed1Smrg key <AE05> { [ 0x1000665, Arabic_percent ] }; 247154daed1Smrg key <AE06> { [ 0x1000666, sterling ] }; 248154daed1Smrg key <AE07> { [ 0x1000667, EuroSign ] }; 249154daed1Smrg key <AE08> { [ 0x1000668, asterisk ] }; 250154daed1Smrg key <AE09> { [ 0x1000669, parenright ] }; 251154daed1Smrg key <AE10> { [ 0x1000660, parenleft ] }; 252154daed1Smrg 253154daed1Smrg key <AD05> { [ Arabic_feh, Arabic_shadda ] }; 254154daed1Smrg 255154daed1Smrg key <AD08> { [ Arabic_heh, division ] }; 256154daed1Smrg key <AD11> { [ Arabic_jeem, braceright ] }; 257154daed1Smrg key <AD12> { [ Arabic_dal, braceleft ] }; 258154daed1Smrg 259154daed1Smrg key <AC01> { [ Arabic_sheen, greater ] }; 260154daed1Smrg key <AC02> { [ Arabic_seen, less ] }; 261154daed1Smrg key <AC05> { [ Arabic_lam, ampersand ] }; 262154daed1Smrg key <AC10> { [ Arabic_kaf ] }; 263154daed1Smrg key <AC11> { [ Arabic_tah ] }; 264154daed1Smrg 265154daed1Smrg key <BKSL> { [ backslash, bar ] }; 266154daed1Smrg 267154daed1Smrg 268154daed1Smrg // REH isolated form? 269154daed1Smrg key <AB03> { [ Arabic_hamzaonwaw, Arabic_kasra ] }; 270154daed1Smrg key <AB04> { [ Arabic_ra, Arabic_kasratan ] }; 271154daed1Smrg key <AB05> { [ Arabic_thal, asciicircum ] }; 272154daed1Smrg 273154daed1Smrg include "group(olpc)" 274154daed1Smrg}; 2750412cdedSmrg 2760412cdedSmrg// EXTRAS: 2770412cdedSmrg 2780412cdedSmrgpartial alphanumeric_keys 2790412cdedSmrg xkb_symbols "sun_type6" { 2800412cdedSmrg include "sun_vndr/ara(sun_type6)" 2810412cdedSmrg}; 282