ara revision 2ab00627
1797b363dSmrgdefault partial alphanumeric_keys 2154daed1Smrgxkb_symbols "basic" { 32ab00627Smrg 4154daed1Smrg name[Group1]= "Arabic"; 5154daed1Smrg 62ab00627Smrg key.type[Group1]="FOUR_LEVEL"; 72ab00627Smrg 82ab00627Smrg key <TLDE> { [ Arabic_thal, Arabic_shadda, Arabic_percent, U0609 ]}; // ذ ◌ّ ٪ ؉ 92ab00627Smrg key <AE01> { [ 1, exclam, Arabic_1, NoSymbol ]}; // 1 ! ١ 102ab00627Smrg key <AE02> { [ 2, at, Arabic_2, NoSymbol ]}; // 2 @ ٢ 112ab00627Smrg key <AE03> { [ 3, numbersign, Arabic_3, NoSymbol ]}; // 3 # ٣ 122ab00627Smrg key <AE04> { [ 4, dollar, Arabic_4, NoSymbol ]}; // 4 $ ٤ 132ab00627Smrg key <AE05> { [ 5, percent, Arabic_5, U2030 ]}; // 5 % ٥ ‰ 142ab00627Smrg key <AE06> { [ 6, asciicircum, Arabic_6, NoSymbol ]}; // 6 ^ ٦ 152ab00627Smrg key <AE07> { [ 7, ampersand, Arabic_7, NoSymbol ]}; // 7 & ٧ 162ab00627Smrg key <AE08> { [ 8, asterisk, Arabic_8, NoSymbol ]}; // 8 * ٨ 172ab00627Smrg key <AE09> { [ 9, parenright, Arabic_9, NoSymbol ]}; // 9 ) ٩ 182ab00627Smrg key <AE10> { [ 0, parenleft, Arabic_0, NoSymbol ]}; // 0 ( ٠ 192ab00627Smrg key <AE11> { [ minus, underscore, endash, U2011 ]}; // - _ – Non-Breaking-Hyphen 202ab00627Smrg key <AE12> { [ equal, plus, notequal, U2248 ]}; // = + ≠ ≈ 212ab00627Smrg 222ab00627Smrg key <AD01> { [ Arabic_dad, Arabic_fatha, NoSymbol, U2066 ]}; // ض ◌َ LEFT‑TO‑RIGHT ISOLATE 232ab00627Smrg key <AD02> { [ Arabic_sad, Arabic_fathatan, NoSymbol, U2067 ]}; // ص ◌ً RIGHT‑TO‑LEFT ISOLATE 242ab00627Smrg key <AD03> { [ Arabic_theh, Arabic_damma, NoSymbol, U2068 ]}; // ث ◌ُ FIRST STRONG ISOLATE 252ab00627Smrg key <AD04> { [ Arabic_qaf, Arabic_dammatan, NoSymbol, U2069 ]}; // ق ◌ٌ POP DIRECTIONAL ISOLATE 262ab00627Smrg key <AD05> { [ Arabic_feh, UFEF9, Arabic_veh, NoSymbol ]}; // ف ﻹ ڤ 272ab00627Smrg key <AD06> { [ Arabic_ghain,Arabic_hamzaunderalef, NoSymbol, U202A ]}; // غ إ LEFT-TO-RIGHT-EMBEDDING 282ab00627Smrg key <AD07> { [ Arabic_ain, grave, NoSymbol, U202B ]}; // ع ` RIGHT-TO-LEFT EMBEDDING 292ab00627Smrg key <AD08> { [ Arabic_ha, division, NoSymbol, U202C ]}; // ه ÷ POP DIRECTIONAL FORMATTING 302ab00627Smrg key <AD09> { [ Arabic_khah, multiply, NoSymbol, NoSymbol ]}; // خ × 312ab00627Smrg key <AD10> { [ Arabic_hah, Arabic_semicolon, NoSymbol, U200E ]}; // ح ؛ LEFT-TO-RIGHT MARK 322ab00627Smrg key <AD11> { [ Arabic_jeem, less, Arabic_tcheh, U200F ]}; // ج < چ RIGHT-TO-LEFT MARK 332ab00627Smrg key <AD12> { [ Arabic_dal, greater, NoSymbol, U061C ]}; // د > ARABIC LETTER MARK 342ab00627Smrg 352ab00627Smrg key <AC01> { [ Arabic_sheen, Arabic_kasra, NoSymbol, NoSymbol ]}; // ش ◌ِ 362ab00627Smrg key <AC02> { [ Arabic_seen, Arabic_kasratan, NoSymbol, NoSymbol ]}; // س ◌ٍ 372ab00627Smrg key <AC03> { [ Arabic_yeh, bracketright, NoSymbol, NoSymbol ]}; // ي ] 382ab00627Smrg key <AC04> { [ Arabic_beh, bracketleft, Arabic_peh, NoSymbol ]}; // ب [ پ 392ab00627Smrg key <AC05> { [ Arabic_lam, U0FEF7, NoSymbol, NoSymbol ]}; // ل ﻷ 402ab00627Smrg key <AC06> { [ Arabic_alef, Arabic_hamzaonalef, U0671, NoSymbol ]}; // ا أ ٱ 412ab00627Smrg key <AC07> { [ Arabic_teh, Arabic_tatweel, NoSymbol, NoSymbol ]}; // ت ـ 422ab00627Smrg key <AC08> { [ Arabic_noon, Arabic_comma, U066B, NoSymbol ]}; // ن ، ٫ 432ab00627Smrg key <AC09> { [ Arabic_meem, slash, NoSymbol, NoSymbol ]}; // م / 442ab00627Smrg key <AC10> { [ Arabic_kaf, colon, Arabic_gaf, NoSymbol ]}; // ك : گ 452ab00627Smrg key <AC11> { [ Arabic_tah, quotedbl, U27E9, U200D ]}; // ط " ⟩ ZWJ 462ab00627Smrg key <BKSL> { [ backslash, ellipsis, U27E8, U202F ]}; // \ … ⟨ NNBSP 472ab00627Smrg 482ab00627Smrg key <LSGT> { [ bar, brokenbar, NoSymbol, NoSymbol ]}; // | ¦ 492ab00627Smrg key <AB01> { [Arabic_hamzaonyeh, asciitilde, guillemotright, U203A ]}; // ئ ~ » › 502ab00627Smrg key <AB02> { [ Arabic_hamza, Arabic_sukun, guillemotleft, U2039 ]}; // ء ◌ْ « ‹ 512ab00627Smrg key <AB03> { [Arabic_hamzaonwaw, braceright, NoSymbol, NoSymbol ]}; // ؤ } 522ab00627Smrg key <AB04> { [ Arabic_ra, braceleft, NoSymbol, NoSymbol ]}; // ر { 532ab00627Smrg key <AB05> { [ UFEFB, UFEF5, NoSymbol, NoSymbol ]}; // ﻻ ﻵ 542ab00627Smrg key <AB06> {[Arabic_alefmaksura, Arabic_maddaonalef, Arabic_superscript_alef, NoSymbol ]}; // ى آ ◌ٰ 552ab00627Smrg key <AB07> { [Arabic_tehmarbuta, apostrophe, NoSymbol, NoSymbol ]}; // ة ' 562ab00627Smrg key <AB08> { [ Arabic_waw, comma, U066C, NoSymbol ]}; // و , ٬ 572ab00627Smrg key <AB09> { [ Arabic_zain, period, Arabic_jeh, NoSymbol ]}; // ز . ژ 582ab00627Smrg key <AB10> { [ Arabic_zah, Arabic_question_mark, U066D, U200C ]}; // ظ ؟ ٭ ZWNJ 592ab00627Smrg 602ab00627Smrg include "level3(ralt_switch)" 61154daed1Smrg}; 62154daed1Smrg 632ab00627Smrg// Synonym for the default 64154daed1Smrgpartial alphanumeric_keys 65154daed1Smrgxkb_symbols "qwerty" { 66154daed1Smrg include "ara(basic)" 679184b9c8Smrg name[Group1]= "Arabic (QWERTY)"; 68154daed1Smrg}; 69154daed1Smrg 702ab00627Smrg 712ab00627Smrg 722ab00627Smrg// 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. 732ab00627Smrg// 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. 742ab00627Smrgpartial hidden keypad_keys 752ab00627Smrgxkb_symbols "digits_KP" { 762ab00627Smrg 772ab00627Smrg key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD"; 782ab00627Smrg 792ab00627Smrg key <KP7> { [ KP_Home, Arabic_7, 7, NoSymbol ] }; 802ab00627Smrg key <KP8> { [ KP_Up, Arabic_8, 8, NoSymbol ] }; 812ab00627Smrg key <KP9> { [ KP_Prior, Arabic_9, 9, NoSymbol ] }; 822ab00627Smrg 832ab00627Smrg key <KP4> { [ KP_Left, Arabic_4, 4, NoSymbol ] }; 842ab00627Smrg key <KP5> { [ KP_Begin, Arabic_5, 5, NoSymbol ] }; 852ab00627Smrg key <KP6> { [ KP_Right, Arabic_6, 6, NoSymbol ] }; 862ab00627Smrg 872ab00627Smrg key <KP1> { [ KP_End, Arabic_1, 1, NoSymbol ] }; 882ab00627Smrg key <KP2> { [ KP_Down, Arabic_2, 2, NoSymbol ] }; 892ab00627Smrg key <KP3> { [ KP_Next, Arabic_3, 3, NoSymbol ] }; 902ab00627Smrg 912ab00627Smrg key <KP0> { [ KP_Insert, Arabic_0, 0, NoSymbol ] }; 922ab00627Smrg 932ab00627Smrg include "kpdl(momayyezoss)" 942ab00627Smrg}; 952ab00627Smrg 962ab00627Smrg// 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. 972ab00627Smrgpartial alphanumeric_keys 982ab00627Smrgxkb_symbols "digits" { 992ab00627Smrg 1002ab00627Smrg include "ara(basic)" 1012ab00627Smrg 1022ab00627Smrg name[Group1]= "Arabic (digits)"; 1032ab00627Smrg 1042ab00627Smrg key <TLDE> { [Arabic_thal,Arabic_shadda, percent,U2030]}; 1052ab00627Smrg key <AE01> { [ Arabic_1, exclam, 1, NoSymbol ] }; 1062ab00627Smrg key <AE02> { [ Arabic_2, at, 2, NoSymbol ] }; 1072ab00627Smrg key <AE03> { [ Arabic_3, numbersign, 3, NoSymbol ] }; 1082ab00627Smrg key <AE04> { [ Arabic_4, dollar, 4, NoSymbol ] }; 1092ab00627Smrg key <AE05> { [ Arabic_5, Arabic_percent, 5, U0609 ] }; 1102ab00627Smrg key <AE06> { [ Arabic_6, asciicircum, 6, NoSymbol ] }; 1112ab00627Smrg key <AE07> { [ Arabic_7, ampersand, 7, NoSymbol ] }; 1122ab00627Smrg key <AE08> { [ Arabic_8, asterisk, 8, NoSymbol ] }; 1132ab00627Smrg key <AE09> { [ Arabic_9, parenright, 9, NoSymbol ] }; 1142ab00627Smrg key <AE10> { [ Arabic_0, parenleft, 0, NoSymbol ] }; 1152ab00627Smrg 1162ab00627Smrg include "ara(digits_KP)" 1172ab00627Smrg}; 1182ab00627Smrg 1192ab00627Smrg// Synonym for the layout with the Latin-script and Arabic-script digits switched 1202ab00627Smrgpartial alphanumeric_keys 1212ab00627Smrgxkb_symbols "qwerty_digits" { 1222ab00627Smrg include "ara(digits)" 1232ab00627Smrg name[Group1]= "Arabic (qwerty/digits)"; 1242ab00627Smrg}; 1252ab00627Smrg 1262ab00627Smrg 1272ab00627Smrg 128154daed1Smrgpartial alphanumeric_keys 129154daed1Smrgxkb_symbols "azerty" { 130154daed1Smrg include "ara(basic)" 1319184b9c8Smrg name[Group1]= "Arabic (AZERTY)"; 132154daed1Smrg 133797b363dSmrg // The North African Arabic keyboard differs from the Middle East one 134797b363dSmrg // by the numeric row; it follows French keyboard style. 135154daed1Smrg // 136797b363dSmrg // PROBLEM: some characters are inaccessible: ! @ # $ % ^ * 137797b363dSmrg // Should they go elsewhere? Replacing " ' that are now doubled? 138797b363dSmrg // Also, dead_circumflex and dead_diaeresis from French keyboard 139154daed1Smrg // as well as ugrave are missing, which questions the utility of the 140797b363dSmrg // other accentuated Latin letters. Maybe this is useful only with 141797b363dSmrg // a French keyboard in Group1? Then, shouldn't Group1 be filled? 142154daed1Smrg 143154daed1Smrg key <AE01> { [ ampersand, 1 ] }; 144154daed1Smrg key <AE02> { [ eacute, 2 ] }; 145154daed1Smrg key <AE03> { [ quotedbl, 3 ] }; 146154daed1Smrg key <AE04> { [ apostrophe, 4 ] }; 147154daed1Smrg key <AE05> { [ parenleft, 5 ] }; 148154daed1Smrg key <AE06> { [ minus, 6 ] }; 149154daed1Smrg key <AE07> { [ egrave, 7 ] }; 150154daed1Smrg key <AE08> { [ underscore, 8 ] }; 151154daed1Smrg key <AE09> { [ ccedilla, 9 ] }; 152154daed1Smrg key <AE10> { [ agrave, 0 ] }; 153154daed1Smrg key <AE11> { [ parenright, degree ] }; 154154daed1Smrg}; 155154daed1Smrg 156154daed1Smrgpartial alphanumeric_keys 157154daed1Smrgxkb_symbols "azerty_digits" { 158154daed1Smrg include "ara(azerty)" 1599184b9c8Smrg name[Group1]= "Arabic (AZERTY/digits)"; 160797b363dSmrg 1612ab00627Smrg key <AE01> { [ ampersand, Arabic_1, 1, NoSymbol ] }; 1622ab00627Smrg key <AE02> { [ eacute, Arabic_2, 2, NoSymbol ] }; 1632ab00627Smrg key <AE03> { [ quotedbl, Arabic_3, 3, NoSymbol ] }; 1642ab00627Smrg key <AE04> { [ apostrophe, Arabic_4, 4, NoSymbol ] }; 1652ab00627Smrg key <AE05> { [ parenleft, Arabic_5, 5, NoSymbol ] }; 1662ab00627Smrg key <AE06> { [ minus, Arabic_6, 6, NoSymbol ] }; 1672ab00627Smrg key <AE07> { [ egrave, Arabic_7, 7, NoSymbol ] }; 1682ab00627Smrg key <AE08> { [ underscore, Arabic_8, 8, NoSymbol ] }; 1692ab00627Smrg key <AE09> { [ ccedilla, Arabic_9, 9, NoSymbol ] }; 1702ab00627Smrg key <AE10> { [ agrave, Arabic_0, 0, NoSymbol ] }; 171154daed1Smrg}; 172154daed1Smrg 1732ab00627Smrg 1742ab00627Smrg 1752ab00627Smrg 176154daed1Smrg// Arabic keyboard using Buckwalter transliteration 177154daed1Smrg// http://www.qamus.org/transliteration.htm 178154daed1Smrg// Martin Vidner 179154daed1Smrg 180797b363dSmrgpartial alphanumeric_keys 181154daed1Smrgxkb_symbols "buckwalter" { 182bfd7cbc1Smrg name[Group1]= "Arabic (Buckwalter)"; 183154daed1Smrg 184154daed1Smrg // ARABIC LETTER SUPERSCRIPT ALEF 185154daed1Smrg key <TLDE> { [ 0x1000670, Arabic_shadda ] }; 186154daed1Smrg 187154daed1Smrg // Arabic_0 .. Arabic_9 do not work in Kate, 188154daed1Smrg // Unicode never seems to work worse. 189154daed1Smrg key <AE01> { [ 0x1000661, VoidSymbol ] }; 190154daed1Smrg key <AE02> { [ 0x1000662, VoidSymbol ] }; 191154daed1Smrg key <AE03> { [ 0x1000663, VoidSymbol ] }; 192154daed1Smrg key <AE04> { [ 0x1000664, Arabic_sheen ] }; 193154daed1Smrg key <AE05> { [ 0x1000665, Arabic_percent ] }; 194154daed1Smrg key <AE06> { [ 0x1000666, VoidSymbol ] }; 195154daed1Smrg key <AE07> { [ 0x1000667, Arabic_hamzaonwaw ] }; 196154daed1Smrg key <AE08> { [ 0x1000668, Arabic_thal ] }; 197154daed1Smrg // ORNATE LEFT PARENTHESIS 198154daed1Smrg key <AE09> { [ 0x1000669, 0x100fd3e ] }; 199154daed1Smrg // ORNATE RIGHT PARENTHESIS 200154daed1Smrg key <AE10> { [ 0x1000660, 0x100fd3f ] }; 201154daed1Smrg key <AE11> { [ minus, Arabic_tatweel ] }; 202154daed1Smrg key <AE12> { [ equal, plus ] }; 203797b363dSmrg 204154daed1Smrg key <AD01> { [ Arabic_qaf, VoidSymbol ] }; 205154daed1Smrg key <AD02> { [ Arabic_waw, Arabic_hamzaonwaw ] }; 206154daed1Smrg key <AD03> { [ VoidSymbol, Arabic_ain ] }; 207154daed1Smrg key <AD04> { [ Arabic_ra, VoidSymbol ] }; 208154daed1Smrg key <AD05> { [ Arabic_teh, Arabic_tah ] }; 209154daed1Smrg key <AD06> { [ Arabic_yeh, Arabic_alefmaksura ] }; 210154daed1Smrg key <AD07> { [ Arabic_damma, VoidSymbol ] }; 211154daed1Smrg key <AD08> { [ Arabic_kasra, Arabic_hamzaunderalef ] }; 212154daed1Smrg key <AD09> { [ Arabic_sukun, Arabic_hamzaonalef ] }; 213154daed1Smrg key <AD10> { [ Arabic_tehmarbuta, VoidSymbol ] }; 214154daed1Smrg // ARABIC LETTER ALEF WASLA 215154daed1Smrg key <AD11> { [ VoidSymbol, 0x1000671 ] }; 216154daed1Smrg key <AD12> { [ VoidSymbol, Arabic_hamzaonyeh ] }; 217154daed1Smrg 218154daed1Smrg key <AC01> { [ Arabic_fatha, Arabic_alef ] }; 219154daed1Smrg key <AC02> { [ Arabic_seen, Arabic_sad ] }; 220154daed1Smrg key <AC03> { [ Arabic_dal, Arabic_dad ] }; 221154daed1Smrg key <AC04> { [ Arabic_feh, Arabic_fathatan ] }; 222154daed1Smrg key <AC05> { [ Arabic_ghain, VoidSymbol ] }; 223154daed1Smrg key <AC06> { [ Arabic_ha, Arabic_hah ] }; 224154daed1Smrg key <AC07> { [ Arabic_jeem, VoidSymbol ] }; 225154daed1Smrg key <AC08> { [ Arabic_kaf, Arabic_kasratan ] }; 226154daed1Smrg key <AC09> { [ Arabic_lam, VoidSymbol ] }; 227154daed1Smrg key <AC10> { [ Arabic_semicolon, VoidSymbol ] }; 228154daed1Smrg key <AC11> { [ Arabic_hamza, VoidSymbol ] }; 229154daed1Smrg 230797b363dSmrg key <BKSL> { [ VoidSymbol, Arabic_maddaonalef ] }; 231154daed1Smrg 232154daed1Smrg key <AB01> { [ Arabic_zain, Arabic_zah ] }; 233154daed1Smrg key <AB02> { [ Arabic_khah, VoidSymbol ] }; 234154daed1Smrg key <AB03> { [ VoidSymbol, VoidSymbol ] }; 235154daed1Smrg key <AB04> { [ Arabic_theh, VoidSymbol ] }; 236154daed1Smrg key <AB05> { [ Arabic_beh, VoidSymbol ] }; 237154daed1Smrg key <AB06> { [ Arabic_noon, Arabic_dammatan ] }; 238154daed1Smrg key <AB07> { [ Arabic_meem, VoidSymbol ] }; 239154daed1Smrg key <AB08> { [ Arabic_comma, Arabic_hamzaunderalef ] }; 240154daed1Smrg // ARABIC FULL STOP (Urdu) 241154daed1Smrg key <AB09> { [ 0x10006d4, Arabic_hamzaonalef ] }; 242154daed1Smrg key <AB10> { [ VoidSymbol, Arabic_question_mark ] }; 243154daed1Smrg}; 244154daed1Smrg 245154daed1Smrgpartial alphanumeric_keys 246154daed1Smrgxkb_symbols "olpc" { 2472ab00627Smrg name[Group1]= "Arabic (OLPC)"; 248154daed1Smrg 249154daed1Smrg include "ara(basic)" 250154daed1Smrg 2512ab00627Smrg // This OLPC layout comprises the following changes in comparison to the default Arabic one: 2522ab00627Smrg // ‣ Arabic and European digits are swapped (which entails swapping of the percent and permille signs). 2532ab00627Smrg // ‣ Lām-ʾalif is eliminated. People type as they pronounce, and lam-alef is just a visual formatting of the 2542ab00627Smrg // sequence and thus arguably not used on the keyboard. This frees four slots which are used for the following three changes. 2552ab00627Smrg // ‣ The <TLDE> characters move: 2562ab00627Smrg // • Thal from <TLDE> to <AB05> 2572ab00627Smrg // • Shadda from <TLDE> to <AD05> 2582ab00627Smrg // ‣ £ and € obtain the <AE06> and <AE07> keys, the ^ and & signs previously occupying them take seat at <AB05> and <AC05>. 2592ab00627Smrg // ‣ The <TLDE> key gets grave ` and asciitilde ~ as on English keyboards. 2602ab00627Smrg // ‣ In sum the grave and asciitilde are present twice, as their erstwhile places are not removed. 2612ab00627Smrg // ‣ The braces }{ take the place of the less-than and greater-than >< signs, 2622ab00627Smrg // but these the place of kasra and kasratan which establish themselves in the braces’ former steads. 2632ab00627Smrg // ‣ The … character on <BKSL> is replaced by |, because OLPC laptops have no <LSGT> key installed where the bar is else placed. 2642ab00627Smrg 2652ab00627Smrg key <TLDE> { [ grave, asciitilde, percent, U2030 ] }; 2662ab00627Smrg 2672ab00627Smrg key <AE01> { [ Arabic_1, exclam, 1 ] }; 2682ab00627Smrg key <AE02> { [ Arabic_2, at, 2 ] }; 2692ab00627Smrg key <AE03> { [ Arabic_3, numbersign, 3 ] }; 2702ab00627Smrg key <AE04> { [ Arabic_4, dollar, 4 ] }; 2712ab00627Smrg key <AE05> { [ Arabic_5, Arabic_percent, 5, U0609 ] }; 2722ab00627Smrg key <AE06> { [ Arabic_6, sterling, 6 ] }; 2732ab00627Smrg key <AE07> { [ Arabic_7, EuroSign, 7 ] }; 2742ab00627Smrg key <AE08> { [ Arabic_8, asterisk, 8 ] }; 2752ab00627Smrg key <AE09> { [ Arabic_9, parenright, 9 ] }; 2762ab00627Smrg key <AE10> { [ Arabic_0, parenleft, 0 ] }; 277154daed1Smrg 278154daed1Smrg key <AD05> { [ Arabic_feh, Arabic_shadda ] }; 279154daed1Smrg 280154daed1Smrg key <AD11> { [ Arabic_jeem, braceright ] }; 281154daed1Smrg key <AD12> { [ Arabic_dal, braceleft ] }; 282154daed1Smrg 283154daed1Smrg key <AC01> { [ Arabic_sheen, greater ] }; 284154daed1Smrg key <AC02> { [ Arabic_seen, less ] }; 285154daed1Smrg key <AC05> { [ Arabic_lam, ampersand ] }; 286154daed1Smrg key <BKSL> { [ backslash, bar ] }; 287154daed1Smrg 288154daed1Smrg key <AB03> { [ Arabic_hamzaonwaw, Arabic_kasra ] }; 289797b363dSmrg key <AB04> { [ Arabic_ra, Arabic_kasratan ] }; 290154daed1Smrg key <AB05> { [ Arabic_thal, asciicircum ] }; 291154daed1Smrg 292154daed1Smrg include "group(olpc)" 293154daed1Smrg}; 2940412cdedSmrg 29521fe479eSmrgpartial alphanumeric_keys 29621fe479eSmrgxkb_symbols "mac" { 29721fe479eSmrg 29821fe479eSmrg //This is a layout that is compatible with macbooks 29921fe479eSmrg 30021fe479eSmrg include "ara(digits)" 30121fe479eSmrg name[Group1]= "Arabic (Macintosh)"; 30221fe479eSmrg 30321fe479eSmrg key <AE11> { [ minus, underscore ] }; 30421fe479eSmrg key <AE12> { [ equal, plus ] }; 30521fe479eSmrg 30666c7633cSsnj key <TLDE> { [ Arabic_tatweel, VoidSymbol ] }; 30721fe479eSmrg key <AD03> { [ Arabic_theh, Arabic_kasra ] }; 30821fe479eSmrg key <AD04> { [ Arabic_qaf, Arabic_kasratan ] }; 30921fe479eSmrg key <AD05> { [ Arabic_feh, Arabic_damma ] }; 31021fe479eSmrg key <AD06> { [ Arabic_ghain, Arabic_dammatan ] }; 31121fe479eSmrg key <AD07> { [ Arabic_ain, Arabic_sukun ] }; 31221fe479eSmrg key <AD08> { [ Arabic_ha, Arabic_shadda ] }; 31321fe479eSmrg key <AD09> { [ Arabic_khah, bracketright ] }; 31421fe479eSmrg key <AD10> { [ Arabic_hah, bracketleft ] }; 31521fe479eSmrg key <AD11> { [ Arabic_jeem, braceright ] }; 31621fe479eSmrg key <AD12> { [Arabic_tehmarbuta, braceleft ] }; 31721fe479eSmrg 31821fe479eSmrg key <AC01> { [ Arabic_sheen, guillemotright ] }; 31921fe479eSmrg key <AC02> { [ Arabic_seen, guillemotleft ] }; 32021fe479eSmrg key <AC03> { [ Arabic_yeh, Arabic_alefmaksura] }; 32166c7633cSsnj key <AC04> { [ Arabic_beh, 0x1000670 ] }; 32221fe479eSmrg key <AC05> { [ Arabic_lam, VoidSymbol ] }; 32321fe479eSmrg key <AC06> { [ Arabic_alef, Arabic_maddaonalef ] }; 32466c7633cSsnj key <AC07> { [ Arabic_teh, 0x1000671 ] }; 32521fe479eSmrg key <AC08> { [ Arabic_noon, VoidSymbol ] }; 32621fe479eSmrg key <AC09> { [ Arabic_meem, VoidSymbol ] }; 32721fe479eSmrg key <AC10> { [ Arabic_kaf, colon ] }; 32821fe479eSmrg key <AC11> { [ Arabic_semicolon, quotedbl ] }; 32921fe479eSmrg 33021fe479eSmrg key <BKSL> { [ backslash, bar ] }; 33121fe479eSmrg 33221fe479eSmrg key <LSGT> { [ Arabic_tatweel, VoidSymbol ] }; 33321fe479eSmrg key <AB01> { [ Arabic_zah, VoidSymbol ] }; 33421fe479eSmrg key <AB02> { [ Arabic_tah, VoidSymbol ] }; 33521fe479eSmrg key <AB03> { [ Arabic_thal, Arabic_hamzaonyeh ] }; 33621fe479eSmrg key <AB04> { [ Arabic_dal, Arabic_hamza ] }; 33721fe479eSmrg key <AB05> { [ Arabic_zain, Arabic_hamzaonalef ] }; 33821fe479eSmrg key <AB06> { [ Arabic_ra, Arabic_hamzaunderalef ] }; 33921fe479eSmrg key <AB07> { [ Arabic_waw, Arabic_hamzaonwaw ] }; 34021fe479eSmrg key <AB08> { [ Arabic_comma, greater ] }; 34121fe479eSmrg key <AB09> { [ period, less ] }; 34221fe479eSmrg key <AB10> { [ slash, Arabic_question_mark ] }; 34321fe479eSmrg 34421fe479eSmrg}; 34521fe479eSmrg 3460412cdedSmrg// EXTRAS: 3470412cdedSmrg 3480412cdedSmrgpartial alphanumeric_keys 3490412cdedSmrg xkb_symbols "sun_type6" { 3500412cdedSmrg include "sun_vndr/ara(sun_type6)" 3510412cdedSmrg}; 3522ab00627Smrg 3532ab00627Smrgpartial alphanumeric_keys 3542ab00627Smrgxkb_symbols "basic_ext" { 3552ab00627Smrg 3562ab00627Smrg name[Group1]= "Arabic (with extensions for Arabic-written other languages and European digits preferred)"; 3572ab00627Smrg 3582ab00627Smrg key.type[Group1]="FOUR_LEVEL"; 3592ab00627Smrg 3602ab00627Smrg key <TLDE> { [ Arabic_thal, Arabic_shadda, Arabic_percent, Arabic_ddal ]}; // ذ ◌ّ ٪ ڈ 3612ab00627Smrg key <AE01> { [ 1, exclam, Arabic_1, Farsi_1 ]}; // 1 ! ١ ۱ 3622ab00627Smrg key <AE02> { [ 2, at, Arabic_2, Farsi_2 ]}; // 2 @ ٢ ۲ 3632ab00627Smrg key <AE03> { [ 3, numbersign, Arabic_3, Farsi_3 ]}; // 3 # ٣ ۳ 3642ab00627Smrg key <AE04> { [ 4, dollar, Arabic_4, Farsi_4 ]}; // 4 $ ٤ ۴ 3652ab00627Smrg key <AE05> { [ 5, percent, Arabic_5, Farsi_5 ]}; // 5 % ٥ ۵ 3662ab00627Smrg key <AE06> { [ 6, Farsi_yeh, Arabic_6, Farsi_6 ]}; // 6 ی ٦ ۶ 3672ab00627Smrg key <AE07> { [ 7, ampersand, Arabic_7, Farsi_7 ]}; // 7 & ٧ ۷ 3682ab00627Smrg key <AE08> { [ 8, asterisk, Arabic_8, Farsi_8 ]}; // 8 * ٨ ۸ 3692ab00627Smrg key <AE09> { [ 9, parenright, Arabic_9, Farsi_9 ]}; // 9 ) ٩ ۹ 3702ab00627Smrg key <AE10> { [ 0, parenleft, Arabic_0, Farsi_0 ]}; // 0 ( ٠ ۰ 3712ab00627Smrg key <AE11> { [ minus, underscore, endash, U2011 ]}; // - _ – Non-Breaking-Hyphen 3722ab00627Smrg key <AE12> { [ equal, plus, notequal, U2248 ]}; // = + ≠ ≈ 3732ab00627Smrg 3742ab00627Smrg key <AD01> { [ Arabic_dad, Arabic_fatha, U0689, U2066 ]}; // ض ◌َ ډ LEFT‑TO‑RIGHT ISOLATE 3752ab00627Smrg key <AD02> { [ Arabic_sad, Arabic_fathatan, U06D5, U2067 ]}; // ص ◌ً ە RIGHT‑TO‑LEFT ISOLATE 3762ab00627Smrg key <AD03> { [ Arabic_theh, Arabic_damma, U067F, U2068 ]}; // ث ◌ُ ٿ FIRST STRONG ISOLATE 3772ab00627Smrg key <AD04> { [ Arabic_qaf, Arabic_dammatan, U06A6, U2069 ]}; // ق ◌ٌ ڦ POP DIRECTIONAL ISOLATE 3782ab00627Smrg key <AD05> { [ Arabic_feh, UFEF9, Arabic_veh, U068D ]}; // ف ﻹ ڤ ڍ 3792ab00627Smrg key <AD06> { [ Arabic_ghain,Arabic_hamzaunderalef, U0685, U202A ]}; // غ إ څ LEFT-TO-RIGHT-EMBEDDING 3802ab00627Smrg key <AD07> { [ Arabic_ain, Arabic_rreh, Arabic_heh_goal, U202B ]}; // ع ڑ ہ RIGHT-TO-LEFT EMBEDDING 3812ab00627Smrg key <AD08> { [ Arabic_ha, division, Arabic_heh_doachashmee, U202C ]}; // ه ÷ ھ POP DIRECTIONAL FORMATTING 3822ab00627Smrg key <AD09> { [ Arabic_khah, multiply, U0681, U0687 ]}; // خ × ځ ڇ 3832ab00627Smrg key <AD10> { [ Arabic_hah, Arabic_semicolon, U0683, U200E ]}; // ح ؛ ڃ LEFT-TO-RIGHT MARK 3842ab00627Smrg key <AD11> { [ Arabic_jeem, less, Arabic_tcheh, U200F ]}; // ج < چ RIGHT-TO-LEFT MARK 3852ab00627Smrg key <AD12> { [ Arabic_dal, greater, U0684, U061C ]}; // د > ڄ ARABIC LETTER MARK 3862ab00627Smrg 3872ab00627Smrg key <AC01> { [ Arabic_sheen, Arabic_kasra, U06C6, U06C9 ]}; // ش ◌ِ ۆ ۉ 3882ab00627Smrg key <AC02> { [ Arabic_seen, Arabic_kasratan, U067C, U0680 ]}; // س ◌ٍ ټ ڀ 3892ab00627Smrg key <AC03> { [ Arabic_yeh, bracketright, U06D0, U06CD ]}; // ي ] ې ۍ 3902ab00627Smrg key <AC04> { [ Arabic_beh, bracketleft, Arabic_peh, U067B ]}; // ب [ پ ٻ 3912ab00627Smrg key <AC05> { [ Arabic_lam, U0FEF7, U076A, U0658 ]}; // ل ﻷ ݪ ٘◌ 3922ab00627Smrg key <AC06> { [ Arabic_alef, Arabic_hamzaonalef, U0671, Arabic_noon_ghunna ]}; // ا أ ٱ ں 3932ab00627Smrg key <AC07> { [ Arabic_teh, Arabic_tatweel, U067D, U067A ]}; // ت ـ ٽ ٺ 3942ab00627Smrg key <AC08> { [ Arabic_noon, Arabic_comma, U066B, U06BB ]}; // ن ، ٫ ڻ 3952ab00627Smrg key <AC09> { [ Arabic_meem, slash, U06B3, U06B1 ]}; // م / ڳ ڱ 3962ab00627Smrg key <AC10> { [ Arabic_kaf, colon, Arabic_gaf, Arabic_keheh ]}; // ك : گ ک 3972ab00627Smrg key <AC11> { [ Arabic_tah, quotedbl, U27E9, U200D ]}; // ط " ⟩ ZWJ 3982ab00627Smrg key <BKSL> { [ backslash, ellipsis, U27E8, U202F ]}; // \ … ⟨ NNBSP 3992ab00627Smrg 4002ab00627Smrg key <LSGT> { [ bar, brokenbar, U06C0, U0620 ]}; // | ¦ ۀ ؠ 4012ab00627Smrg key <AB01> { [Arabic_hamzaonyeh, asciitilde, guillemotright, U203A ]}; // ئ ~ » › 4022ab00627Smrg key <AB02> { [ Arabic_hamza, Arabic_sukun, guillemotleft, U2039 ]}; // ء ◌ْ « ‹ 4032ab00627Smrg key <AB03> { [Arabic_hamzaonwaw, braceright, U06C7, U0677 ]}; // ؤ } ۇ ٷ 4042ab00627Smrg key <AB04> { [ Arabic_ra, braceleft, U0693, U0699 ]}; // ر { ړ ڙ 4052ab00627Smrg key <AB05> { [ UFEFB, UFEF5, U06AB, U06AD ]}; // ﻻ ﻵ ګ ڭ 4062ab00627Smrg key <AB06> {[Arabic_alefmaksura, Arabic_maddaonalef, Arabic_superscript_alef, Arabic_yeh_baree ]}; // ى آ ◌ٰ ے 4072ab00627Smrg key <AB07> { [Arabic_tehmarbuta, apostrophe, Arabic_fullstop, U06AA ]}; // ة ' ۔ ڪ 4082ab00627Smrg key <AB08> { [ Arabic_waw, comma, U066C, U06CB ]}; // و , ٬ ۋ 4092ab00627Smrg key <AB09> { [ Arabic_zain, period, Arabic_jeh, U0696 ]}; // ز . ژ ږ 4102ab00627Smrg key <AB10> { [ Arabic_zah, Arabic_question_mark, Arabic_tteh, U200C ]}; // ظ ؟ ٹ ZWNJ 4112ab00627Smrg 4122ab00627Smrg include "level3(ralt_switch)" 4132ab00627Smrg}; 4142ab00627Smrg 4152ab00627Smrg// 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. 4162ab00627Smrg// 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. 4172ab00627Smrgpartial hidden keypad_keys 4182ab00627Smrgxkb_symbols "basic_ext_digits_KP" { 4192ab00627Smrg 4202ab00627Smrg key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD"; 4212ab00627Smrg 4222ab00627Smrg key <KP7> { [ KP_Home, Arabic_7, 7, Farsi_7 ] }; 4232ab00627Smrg key <KP8> { [ KP_Up, Arabic_8, 8, Farsi_8 ] }; 4242ab00627Smrg key <KP9> { [ KP_Prior, Arabic_9, 9, Farsi_9 ] }; 4252ab00627Smrg 4262ab00627Smrg key <KP4> { [ KP_Left, Arabic_4, 4, Farsi_4 ] }; 4272ab00627Smrg key <KP5> { [ KP_Begin, Arabic_5, 5, Farsi_5 ] }; 4282ab00627Smrg key <KP6> { [ KP_Right, Arabic_6, 6, Farsi_6 ] }; 4292ab00627Smrg 4302ab00627Smrg key <KP1> { [ KP_End, Arabic_1, 1, Farsi_1 ] }; 4312ab00627Smrg key <KP2> { [ KP_Down, Arabic_2, 2, Farsi_2 ] }; 4322ab00627Smrg key <KP3> { [ KP_Next, Arabic_3, 3, Farsi_3 ] }; 4332ab00627Smrg 4342ab00627Smrg key <KP0> { [ KP_Insert, Arabic_0, 0, Farsi_0 ] }; 4352ab00627Smrg 4362ab00627Smrg include "kpdl(momayyezoss)" 4372ab00627Smrg}; 4382ab00627Smrg 4392ab00627Smrg// 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. 4402ab00627Smrg// The alternative numeral glyphs used in some languages that employ the Arabic script are featured in the fourth layer. 4412ab00627Smrgpartial alphanumeric_keys 4422ab00627Smrgxkb_symbols "basic_ext_digits" { 4432ab00627Smrg 4442ab00627Smrg include "ara(basic_ext)" 4452ab00627Smrg 4462ab00627Smrg name[Group1]= "Arabic (with extensions for Arabic-written other languages and Arabic digits preferred)"; 4472ab00627Smrg 4482ab00627Smrg key <TLDE> { [Arabic_thal,Arabic_shadda, percent, Arabic_ddal ]}; 4492ab00627Smrg key <AE01> { [ Arabic_1, exclam, 1, Farsi_1 ] }; 4502ab00627Smrg key <AE02> { [ Arabic_2, at, 2, Farsi_2 ] }; 4512ab00627Smrg key <AE03> { [ Arabic_3, numbersign, 3, Farsi_3 ] }; 4522ab00627Smrg key <AE04> { [ Arabic_4, dollar, 4, Farsi_4 ] }; 4532ab00627Smrg key <AE05> { [ Arabic_5, Arabic_percent, 5, Farsi_5 ] }; 4542ab00627Smrg key <AE06> { [ Arabic_6, Farsi_yeh, 6, Farsi_6 ] }; 4552ab00627Smrg key <AE07> { [ Arabic_7, ampersand, 7, Farsi_7 ] }; 4562ab00627Smrg key <AE08> { [ Arabic_8, asterisk, 8, Farsi_8 ] }; 4572ab00627Smrg key <AE09> { [ Arabic_9, parenright, 9, Farsi_9 ] }; 4582ab00627Smrg key <AE10> { [ Arabic_0, parenleft, 0, Farsi_0 ] }; 4592ab00627Smrg 4602ab00627Smrg include "ara(basic_ext_digits_KP)" 4612ab00627Smrg}; 4622ab00627Smrg 4632ab00627Smrg// In this layout the Ugaritic characters get the places of the Arabic characters with the matching sound values. 4642ab00627Smrgpartial alphanumeric_keys 4652ab00627Smrgxkb_symbols "uga" { 4662ab00627Smrg 4672ab00627Smrg name[Group1]= "Ugaritic instead of Arabic"; 4682ab00627Smrg 4692ab00627Smrg key.type[Group1]="TWO_LEVEL"; 4702ab00627Smrg 4712ab00627Smrg key <TLDE> { [ U1038F, NoSymbol ]}; // 4722ab00627Smrg key <AE01> { [ 1, exclam ]}; // 1 ! 4732ab00627Smrg key <AE02> { [ 2, at ]}; // 2 @ 4742ab00627Smrg key <AE03> { [ 3, numbersign ]}; // 3 # 4752ab00627Smrg key <AE04> { [ 4, dollar ]}; // 4 $ 4762ab00627Smrg key <AE05> { [ 5, percent ]}; // 5 % 4772ab00627Smrg key <AE06> { [ 6, asciicircum ]}; // 6 ^ 4782ab00627Smrg key <AE07> { [ 7, ampersand ]}; // 7 & 4792ab00627Smrg key <AE08> { [ 8, asterisk ]}; // 8 * 4802ab00627Smrg key <AE09> { [ 9, parenleft ]}; // 9 ( 4812ab00627Smrg key <AE10> { [ 0, parenright ]}; // 0 ) 4822ab00627Smrg key <AE11> { [ minus, underscore ]}; // - _ 4832ab00627Smrg key <AE12> { [ equal, plus ]}; // = + 4842ab00627Smrg 4852ab00627Smrg key <AD01> { [ U1039D, NoSymbol ]}; // 4862ab00627Smrg key <AD02> { [ U10395, NoSymbol ]}; // 4872ab00627Smrg key <AD03> { [ U10398, NoSymbol ]}; // 4882ab00627Smrg key <AD04> { [ U10396, NoSymbol ]}; // 4892ab00627Smrg key <AD05> { [ U10394, NoSymbol ]}; // 4902ab00627Smrg key <AD06> { [ U10399, NoSymbol ]}; // 4912ab00627Smrg key <AD07> { [ U10393, grave ]}; // ` 4922ab00627Smrg key <AD08> { [ U10385, division ]}; // ÷ 4932ab00627Smrg key <AD09> { [ U10383, multiply ]}; // × 4942ab00627Smrg key <AD10> { [ U10388, semicolon ]}; // ; 4952ab00627Smrg key <AD11> { [ U10382, greater ]}; // > 4962ab00627Smrg key <AD12> { [ U10384, less ]}; // < 4972ab00627Smrg 4982ab00627Smrg key <AC01> { [ U1038C, U27E8 ]}; // ⟨ 4992ab00627Smrg key <AC02> { [ U10392, U27E9 ]}; // ⟩ 5002ab00627Smrg key <AC03> { [ U1038A, bracketleft ]}; // [ 5012ab00627Smrg key <AC04> { [ U10381, bracketright ]}; // ] 5022ab00627Smrg key <AC05> { [ U1038D, NoSymbol ]}; // 5032ab00627Smrg key <AC06> { [ U10380, NoSymbol ]}; // 5042ab00627Smrg key <AC07> { [ U1039A, NoSymbol ]}; // 5052ab00627Smrg key <AC08> { [ U10390, NoSymbol ]}; // 5062ab00627Smrg key <AC09> { [ U1038E, slash ]}; // / 5072ab00627Smrg key <AC10> { [ U1038B, colon ]}; // : 5082ab00627Smrg key <AC11> { [ U10389, quotedbl ]}; // " 5092ab00627Smrg key <BKSL> { [backslash, ellipsis ]}; // \ … 5102ab00627Smrg 5112ab00627Smrg key <LSGT> { [ bar, endash ]}; // | – 5122ab00627Smrg key <AB01> { [ U1039B, guillemotleft ]}; // « 5132ab00627Smrg key <AB02> { [ NoSymbol, guillemotright ]}; // » 5142ab00627Smrg key <AB03> { [ U1039C, braceleft ]}; // { 5152ab00627Smrg key <AB04> { [ U10397, braceright ]}; // } 5162ab00627Smrg key <AB05> { [ U1039F, U2039 ]}; // ‹ 5172ab00627Smrg key <AB06> { [ question, U203A ]}; // ? › 5182ab00627Smrg key <AB07> { [ U002BC, apostrophe ]}; // ʼ ' 5192ab00627Smrg key <AB08> { [ U10386, comma ]}; // , 5202ab00627Smrg key <AB09> { [ U10387, period ]}; // . 5212ab00627Smrg key <AB10> { [ U10391, periodcentered ]}; // · 5222ab00627Smrg 5232ab00627Smrg}; 524