From dfb4c6e138072173db12a378fbe0ba3d2d6d816c Mon Sep 17 00:00:00 2001 From: Benno Schulenberg Date: Fri, 31 Mar 2023 16:59:44 +0200 Subject: symbols/ara: condense whitespace, and improve some column alignment --- symbols/ara | 809 ++++++++++++++++++++++++++++++------------------------------ 1 file changed, 406 insertions(+), 403 deletions(-) (limited to 'symbols') diff --git a/symbols/ara b/symbols/ara index 022d894..98ef02b 100644 --- a/symbols/ara +++ b/symbols/ara @@ -4,63 +4,63 @@ xkb_symbols "basic" { name[Group1]= "Arabic"; key.type[Group1]="FOUR_LEVEL"; - - key { [ Arabic_thal, Arabic_shadda, Arabic_percent, U0609 ]}; // ‎ذ‎ ‎◌ّ‎ ‎٪‎ ‎؉‎ - key { [ 1, exclam, Arabic_1, NoSymbol ]}; // 1 ! ١ - key { [ 2, at, Arabic_2, NoSymbol ]}; // 2 @ ٢ - key { [ 3, numbersign, Arabic_3, NoSymbol ]}; // 3 # ٣ - key { [ 4, dollar, Arabic_4, NoSymbol ]}; // 4 $ ٤ - key { [ 5, percent, Arabic_5, U2030 ]}; // 5 % ٥ ‰ - key { [ 6, asciicircum, Arabic_6, NoSymbol ]}; // 6 ^ ٦ - key { [ 7, ampersand, Arabic_7, NoSymbol ]}; // 7 & ٧ - key { [ 8, asterisk, Arabic_8, NoSymbol ]}; // 8 * ٨ - key { [ 9, parenright, Arabic_9, NoSymbol ]}; // 9 ) ٩ - key { [ 0, parenleft, Arabic_0, NoSymbol ]}; // 0 ( ٠ - key { [ minus, underscore, endash, U2011 ]}; // - _ – Non-Breaking-Hyphen - key { [ equal, plus, notequal, U2248 ]}; // = + ≠ ≈ - - key { [ Arabic_dad, Arabic_fatha, NoSymbol, U2066 ]}; // ‎ض‎ ‎◌َ LEFT‑TO‑RIGHT ISOLATE - key { [ Arabic_sad, Arabic_fathatan, NoSymbol, U2067 ]}; // ‎ص‎ ‎◌ً RIGHT‑TO‑LEFT ISOLATE - key { [ Arabic_theh, Arabic_damma, NoSymbol, U2068 ]}; // ‎ث‎ ‎◌ُ FIRST STRONG ISOLATE - key { [ Arabic_qaf, Arabic_dammatan, NoSymbol, U2069 ]}; // ‎ق‎ ‎◌ٌ POP DIRECTIONAL ISOLATE - key { [ Arabic_feh, UFEF9, Arabic_veh, NoSymbol ]}; // ‎ف‎ ‎ﻹ ‎ڤ - key { [ Arabic_ghain,Arabic_hamzaunderalef, NoSymbol, U202A ]}; // ‎غ‎ ‎إ‎ LEFT-TO-RIGHT-EMBEDDING - key { [ Arabic_ain, grave, NoSymbol, U202B ]}; // ‎ع‎ ` RIGHT-TO-LEFT EMBEDDING - key { [ Arabic_ha, division, NoSymbol, U202C ]}; // ‎ه‎ ÷ POP DIRECTIONAL FORMATTING - key { [ Arabic_khah, multiply, NoSymbol, NoSymbol ]}; // ‎خ‎ × - key { [ Arabic_hah, Arabic_semicolon, NoSymbol, U200E ]}; // ‎ح‎ ؛ LEFT-TO-RIGHT MARK - key { [ Arabic_jeem, less, Arabic_tcheh, U200F ]}; // ‎ج‎ < ‎چ‎ RIGHT-TO-LEFT MARK - key { [ Arabic_dal, greater, NoSymbol, U061C ]}; // ‎د‎ > ARABIC LETTER MARK - - key { [ Arabic_sheen, Arabic_kasra, NoSymbol, NoSymbol ]}; // ‎ش‎ ‎◌ِ‎ - key { [ Arabic_seen, Arabic_kasratan, NoSymbol, NoSymbol ]}; // ‎س‎ ‎◌ٍ‎ - key { [ Arabic_yeh, bracketright, NoSymbol, NoSymbol ]}; // ‎ي‎ ] - key { [ Arabic_beh, bracketleft, Arabic_peh, NoSymbol ]}; // ‎ب‎ [ ‎پ‎ - key { [ Arabic_lam, U0FEF7, NoSymbol, NoSymbol ]}; // ‎ل‎ ‎ﻷ‎ - key { [ Arabic_alef, Arabic_hamzaonalef, U0671, NoSymbol ]}; // ‎ا‎ ‎أ ‎ٱ‎ - key { [ Arabic_teh, Arabic_tatweel, NoSymbol, NoSymbol ]}; // ‎ت‎ ‎ـ‎ - key { [ Arabic_noon, Arabic_comma, U066B, NoSymbol ]}; // ‎ن‎ ‎،‎ ‎٫‎ - key { [ Arabic_meem, slash, NoSymbol, NoSymbol ]}; // ‎م‎ / - key { [ Arabic_kaf, colon, Arabic_gaf, NoSymbol ]}; // ‎ك‎ : ‎گ‎ - key { [ Arabic_tah, quotedbl, U27E9, U200D ]}; // ‎ط‎ " ⟩ ZWJ - key { [ backslash, bar, U27E8, U202F ]}; // \ | ⟨ NNBSP - - key { [ bar, ellipsis, brokenbar, NoSymbol ]}; // | … ¦ - key { [Arabic_hamzaonyeh, asciitilde, guillemotright, U203A ]}; // ‎ئ‎ ~ » › - key { [ Arabic_hamza, Arabic_sukun, guillemotleft, U2039 ]}; // ‎ء‎ ◌ْ « ‹ - key { [Arabic_hamzaonwaw, braceright, NoSymbol, NoSymbol ]}; // ‎ؤ } - key { [ Arabic_ra, braceleft, NoSymbol, NoSymbol ]}; // ‎ر‎ { - key { [ UFEFB, UFEF5, NoSymbol, NoSymbol ]}; // ‎ﻻ‎ ‎ﻵ‎ - key {[Arabic_alefmaksura, Arabic_maddaonalef, Arabic_superscript_alef, NoSymbol ]}; // ‎ى‎ ‎آ‎ ‎◌ٰ‎ - key { [Arabic_tehmarbuta, apostrophe, NoSymbol, NoSymbol ]}; // ‎ة‎ ' - key { [ Arabic_waw, comma, U066C, NoSymbol ]}; // ‎و‎ , ‎٬ - key { [ Arabic_zain, period, Arabic_jeh, NoSymbol ]}; // ‎ز‎ . ‎ژ‎ - key { [ Arabic_zah, Arabic_question_mark, U066D, U200C ]}; // ‎ظ‎ ‎؟‎ ‎٭‎ ZWNJ - - include "level3(ralt_switch)" + + key {[ Arabic_thal, Arabic_shadda, Arabic_percent, U0609 ]}; // ‎ذ‎ ‎◌ّ‎ ‎٪‎ ‎؉‎ + key {[ 1, exclam, Arabic_1, any ]}; // 1 ! ١ + key {[ 2, at, Arabic_2, any ]}; // 2 @ ٢ + key {[ 3, numbersign, Arabic_3, any ]}; // 3 # ٣ + key {[ 4, dollar, Arabic_4, any ]}; // 4 $ ٤ + key {[ 5, percent, Arabic_5, U2030 ]}; // 5 % ٥ ‰ + key {[ 6, asciicircum, Arabic_6, any ]}; // 6 ^ ٦ + key {[ 7, ampersand, Arabic_7, any ]}; // 7 & ٧ + key {[ 8, asterisk, Arabic_8, any ]}; // 8 * ٨ + key {[ 9, parenright, Arabic_9, any ]}; // 9 ) ٩ + key {[ 0, parenleft, Arabic_0, any ]}; // 0 ( ٠ + key {[ minus, underscore, endash, U2011 ]}; // - _ – Non-Breaking-Hyphen + key {[ equal, plus, notequal, U2248 ]}; // = + ≠ ≈ + + key {[ Arabic_dad, Arabic_fatha, any, U2066 ]}; // ‎ض‎ ‎◌َ LEFT‑TO‑RIGHT ISOLATE + key {[ Arabic_sad, Arabic_fathatan, any, U2067 ]}; // ‎ص‎ ‎◌ً RIGHT‑TO‑LEFT ISOLATE + key {[ Arabic_theh, Arabic_damma, any, U2068 ]}; // ‎ث‎ ‎◌ُ FIRST STRONG ISOLATE + key {[ Arabic_qaf, Arabic_dammatan, any, U2069 ]}; // ‎ق‎ ‎◌ٌ POP DIRECTIONAL ISOLATE + key {[ Arabic_feh, UFEF9, Arabic_veh, any ]}; // ‎ف‎ ‎ﻹ ‎ڤ + key {[ Arabic_ghain,Arabic_hamzaunderalef, any, U202A ]}; // ‎غ‎ ‎إ‎ LEFT-TO-RIGHT-EMBEDDING + key {[ Arabic_ain, grave, any, U202B ]}; // ‎ع‎ ` RIGHT-TO-LEFT EMBEDDING + key {[ Arabic_ha, division, any, U202C ]}; // ‎ه‎ ÷ POP DIRECTIONAL FORMATTING + key {[ Arabic_khah, multiply, any, any ]}; // ‎خ‎ × + key {[ Arabic_hah, Arabic_semicolon, any, U200E ]}; // ‎ح‎ ؛ LEFT-TO-RIGHT MARK + key {[ Arabic_jeem, less, Arabic_tcheh, U200F ]}; // ‎ج‎ < ‎چ‎ RIGHT-TO-LEFT MARK + key {[ Arabic_dal, greater, any, U061C ]}; // ‎د‎ > ARABIC LETTER MARK + + key {[ Arabic_sheen, Arabic_kasra, any, any ]}; // ‎ش‎ ‎◌ِ‎ + key {[ Arabic_seen, Arabic_kasratan, any, any ]}; // ‎س‎ ‎◌ٍ‎ + key {[ Arabic_yeh, bracketright, any, any ]}; // ‎ي‎ ] + key {[ Arabic_beh, bracketleft, Arabic_peh, any ]}; // ‎ب‎ [ ‎پ‎ + key {[ Arabic_lam, U0FEF7, any, any ]}; // ‎ل‎ ‎ﻷ‎ + key {[ Arabic_alef, Arabic_hamzaonalef, U0671, any ]}; // ‎ا‎ ‎أ ‎ٱ‎ + key {[ Arabic_teh, Arabic_tatweel, any, any ]}; // ‎ت‎ ‎ـ‎ + key {[ Arabic_noon, Arabic_comma, U066B, any ]}; // ‎ن‎ ‎،‎ ‎٫‎ + key {[ Arabic_meem, slash, any, any ]}; // ‎م‎ / + key {[ Arabic_kaf, colon, Arabic_gaf, any ]}; // ‎ك‎ : ‎گ‎ + key {[ Arabic_tah, quotedbl, U27E9, U200D ]}; // ‎ط‎ " ⟩ ZWJ + key {[ backslash, bar, U27E8, U202F ]}; // \ | ⟨ NNBSP + + key {[ bar, ellipsis, brokenbar, any ]}; // | … ¦ + key {[Arabic_hamzaonyeh, asciitilde, guillemotright, U203A ]}; // ‎ئ‎ ~ » › + key {[ Arabic_hamza, Arabic_sukun, guillemotleft, U2039 ]}; // ‎ء‎ ◌ْ « ‹ + key {[Arabic_hamzaonwaw, braceright, any, any ]}; // ‎ؤ } + key {[ Arabic_ra, braceleft, any, any ]}; // ‎ر‎ { + key {[ UFEFB, UFEF5, any, any ]}; // ‎ﻻ‎ ‎ﻵ‎ + key {[Arabic_alefmaksura, Arabic_maddaonalef, Arabic_superscript_alef, any ]}; // ‎ى‎ ‎آ‎ ‎◌ٰ‎ + key {[Arabic_tehmarbuta, apostrophe, any, any ]}; // ‎ة‎ ' + key {[ Arabic_waw, comma, U066C, any ]}; // ‎و‎ , ‎٬ + key {[ Arabic_zain, period, Arabic_jeh, any ]}; // ‎ز‎ . ‎ژ‎ + key {[ Arabic_zah, Arabic_question_mark, U066D, U200C ]}; // ‎ظ‎ ‎؟‎ ‎٭‎ ZWNJ + + include "level3(ralt_switch)" }; -// Synonym for the default +// Synonym for the default. partial alphanumeric_keys xkb_symbols "qwerty" { include "ara(basic)" @@ -68,54 +68,55 @@ xkb_symbols "qwerty" { }; -// 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. -// 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. -partial hidden keypad_keys +// 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. +hidden partial keypad_keys xkb_symbols "digits_KP" { - + key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD"; - key { [ KP_Home, Arabic_7, 7, NoSymbol ] }; - key { [ KP_Up, Arabic_8, 8, NoSymbol ] }; - key { [ KP_Prior, Arabic_9, 9, NoSymbol ] }; + key {[ KP_Home, Arabic_7, 7, any ]}; + key {[ KP_Up, Arabic_8, 8, any ]}; + key {[ KP_Prior, Arabic_9, 9, any ]}; + + key {[ KP_Left, Arabic_4, 4, any ]}; + key {[ KP_Begin, Arabic_5, 5, any ]}; + key {[ KP_Right, Arabic_6, 6, any ]}; - key { [ KP_Left, Arabic_4, 4, NoSymbol ] }; - key { [ KP_Begin, Arabic_5, 5, NoSymbol ] }; - key { [ KP_Right, Arabic_6, 6, NoSymbol ] }; + key {[ KP_End, Arabic_1, 1, any ]}; + key {[ KP_Down, Arabic_2, 2, any ]}; + key {[ KP_Next, Arabic_3, 3, any ]}; - key { [ KP_End, Arabic_1, 1, NoSymbol ] }; - key { [ KP_Down, Arabic_2, 2, NoSymbol ] }; - key { [ KP_Next, Arabic_3, 3, NoSymbol ] }; + key {[ KP_Insert, Arabic_0, 0, any ]}; - key { [ KP_Insert, Arabic_0, 0, NoSymbol ] }; - - include "kpdl(momayyezoss)" + include "kpdl(momayyezoss)" }; -// 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. +// 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. partial alphanumeric_keys xkb_symbols "digits" { - include "ara(basic)" - + include "ara(basic)" + name[Group1]= "Arabic (Eastern Arabic numerals)"; - key { [Arabic_thal,Arabic_shadda, percent,U2030]}; - key { [ Arabic_1, exclam, 1, NoSymbol ] }; - key { [ Arabic_2, at, 2, NoSymbol ] }; - key { [ Arabic_3, numbersign, 3, NoSymbol ] }; - key { [ Arabic_4, dollar, 4, NoSymbol ] }; - key { [ Arabic_5, Arabic_percent, 5, U0609 ] }; - key { [ Arabic_6, asciicircum, 6, NoSymbol ] }; - key { [ Arabic_7, ampersand, 7, NoSymbol ] }; - key { [ Arabic_8, asterisk, 8, NoSymbol ] }; - key { [ Arabic_9, parenright, 9, NoSymbol ] }; - key { [ Arabic_0, parenleft, 0, NoSymbol ] }; - - include "ara(digits_KP)" + key {[Arabic_thal, Arabic_shadda, percent, U2030 ]}; + key {[ Arabic_1, exclam, 1, any ]}; + key {[ Arabic_2, at, 2, any ]}; + key {[ Arabic_3, numbersign, 3, any ]}; + key {[ Arabic_4, dollar, 4, any ]}; + key {[ Arabic_5, Arabic_percent, 5, U0609 ]}; + key {[ Arabic_6, asciicircum, 6, any ]}; + key {[ Arabic_7, ampersand, 7, any ]}; + key {[ Arabic_8, asterisk, 8, any ]}; + key {[ Arabic_9, parenright, 9, any ]}; + key {[ Arabic_0, parenleft, 0, any ]}; + + include "ara(digits_KP)" }; -// Synonym for the layout with the Latin-script and Arabic-script digits switched +// Synonym for the layout with the Latin-script and Arabic-script digits switched. partial alphanumeric_keys xkb_symbols "qwerty_digits" { include "ara(digits)" @@ -138,17 +139,17 @@ xkb_symbols "azerty" { // other accentuated Latin letters. Maybe this is useful only with // a French keyboard in Group1? Then, shouldn't Group1 be filled? - key { [ ampersand, 1 ] }; - key { [ eacute, 2 ] }; - key { [ quotedbl, 3 ] }; - key { [ apostrophe, 4 ] }; - key { [ parenleft, 5 ] }; - key { [ minus, 6 ] }; - key { [ egrave, 7 ] }; - key { [ underscore, 8 ] }; - key { [ ccedilla, 9 ] }; - key { [ agrave, 0 ] }; - key { [ parenright, degree ] }; + key {[ ampersand, 1 ]}; + key {[ eacute, 2 ]}; + key {[ quotedbl, 3 ]}; + key {[ apostrophe, 4 ]}; + key {[ parenleft, 5 ]}; + key {[ minus, 6 ]}; + key {[ egrave, 7 ]}; + key {[ underscore, 8 ]}; + key {[ ccedilla, 9 ]}; + key {[ agrave, 0 ]}; + key {[ parenright, degree ]}; }; partial alphanumeric_keys @@ -156,16 +157,16 @@ xkb_symbols "azerty_digits" { include "ara(azerty)" name[Group1]= "Arabic (AZERTY, Eastern Arabic numerals)"; - key { [ ampersand, Arabic_1, 1, NoSymbol ] }; - key { [ eacute, Arabic_2, 2, NoSymbol ] }; - key { [ quotedbl, Arabic_3, 3, NoSymbol ] }; - key { [ apostrophe, Arabic_4, 4, NoSymbol ] }; - key { [ parenleft, Arabic_5, 5, NoSymbol ] }; - key { [ minus, Arabic_6, 6, NoSymbol ] }; - key { [ egrave, Arabic_7, 7, NoSymbol ] }; - key { [ underscore, Arabic_8, 8, NoSymbol ] }; - key { [ ccedilla, Arabic_9, 9, NoSymbol ] }; - key { [ agrave, Arabic_0, 0, NoSymbol ] }; + key {[ ampersand, Arabic_1, 1, any ]}; + key {[ eacute, Arabic_2, 2, any ]}; + key {[ quotedbl, Arabic_3, 3, any ]}; + key {[ apostrophe, Arabic_4, 4, any ]}; + key {[ parenleft, Arabic_5, 5, any ]}; + key {[ minus, Arabic_6, 6, any ]}; + key {[ egrave, Arabic_7, 7, any ]}; + key {[ underscore, Arabic_8, 8, any ]}; + key {[ ccedilla, Arabic_9, 9, any ]}; + key {[ agrave, Arabic_0, 0, any ]}; }; @@ -178,64 +179,64 @@ xkb_symbols "buckwalter" { name[Group1]= "Arabic (Buckwalter)"; // ARABIC LETTER SUPERSCRIPT ALEF - key { [ 0x1000670, Arabic_shadda ] }; + key {[ 0x1000670, Arabic_shadda ] }; // Arabic_0 .. Arabic_9 do not work in Kate, // Unicode never seems to work worse. - key { [ 0x1000661, VoidSymbol ] }; - key { [ 0x1000662, VoidSymbol ] }; - key { [ 0x1000663, VoidSymbol ] }; - key { [ 0x1000664, Arabic_sheen ] }; - key { [ 0x1000665, Arabic_percent ] }; - key { [ 0x1000666, VoidSymbol ] }; - key { [ 0x1000667, Arabic_hamzaonwaw ] }; - key { [ 0x1000668, Arabic_thal ] }; + key {[ 0x1000661, VoidSymbol ] }; + key {[ 0x1000662, VoidSymbol ] }; + key {[ 0x1000663, VoidSymbol ] }; + key {[ 0x1000664, Arabic_sheen ] }; + key {[ 0x1000665, Arabic_percent ] }; + key {[ 0x1000666, VoidSymbol ] }; + key {[ 0x1000667, Arabic_hamzaonwaw ] }; + key {[ 0x1000668, Arabic_thal ] }; // ORNATE LEFT PARENTHESIS - key { [ 0x1000669, 0x100fd3e ] }; + key {[ 0x1000669, 0x100fd3e ] }; // ORNATE RIGHT PARENTHESIS - key { [ 0x1000660, 0x100fd3f ] }; - key { [ minus, Arabic_tatweel ] }; - key { [ equal, plus ] }; - - key { [ Arabic_qaf, VoidSymbol ] }; - key { [ Arabic_waw, Arabic_hamzaonwaw ] }; - key { [ VoidSymbol, Arabic_ain ] }; - key { [ Arabic_ra, VoidSymbol ] }; - key { [ Arabic_teh, Arabic_tah ] }; - key { [ Arabic_yeh, Arabic_alefmaksura ] }; - key { [ Arabic_damma, VoidSymbol ] }; - key { [ Arabic_kasra, Arabic_hamzaunderalef ] }; - key { [ Arabic_sukun, Arabic_hamzaonalef ] }; - key { [ Arabic_tehmarbuta, VoidSymbol ] }; + key {[ 0x1000660, 0x100fd3f ] }; + key {[ minus, Arabic_tatweel ] }; + key {[ equal, plus ] }; + + key {[ Arabic_qaf, VoidSymbol ] }; + key {[ Arabic_waw, Arabic_hamzaonwaw ] }; + key {[ VoidSymbol, Arabic_ain ] }; + key {[ Arabic_ra, VoidSymbol ] }; + key {[ Arabic_teh, Arabic_tah ] }; + key {[ Arabic_yeh, Arabic_alefmaksura ] }; + key {[ Arabic_damma, VoidSymbol ] }; + key {[ Arabic_kasra, Arabic_hamzaunderalef ] }; + key {[ Arabic_sukun, Arabic_hamzaonalef ] }; + key {[ Arabic_tehmarbuta, VoidSymbol ] }; // ARABIC LETTER ALEF WASLA - key { [ VoidSymbol, 0x1000671 ] }; - key { [ VoidSymbol, Arabic_hamzaonyeh ] }; - - key { [ Arabic_fatha, Arabic_alef ] }; - key { [ Arabic_seen, Arabic_sad ] }; - key { [ Arabic_dal, Arabic_dad ] }; - key { [ Arabic_feh, Arabic_fathatan ] }; - key { [ Arabic_ghain, VoidSymbol ] }; - key { [ Arabic_ha, Arabic_hah ] }; - key { [ Arabic_jeem, VoidSymbol ] }; - key { [ Arabic_kaf, Arabic_kasratan ] }; - key { [ Arabic_lam, VoidSymbol ] }; - key { [ Arabic_semicolon, VoidSymbol ] }; - key { [ Arabic_hamza, VoidSymbol ] }; - - key { [ VoidSymbol, Arabic_maddaonalef ] }; - - key { [ Arabic_zain, Arabic_zah ] }; - key { [ Arabic_khah, VoidSymbol ] }; - key { [ VoidSymbol, VoidSymbol ] }; - key { [ Arabic_theh, VoidSymbol ] }; - key { [ Arabic_beh, VoidSymbol ] }; - key { [ Arabic_noon, Arabic_dammatan ] }; - key { [ Arabic_meem, VoidSymbol ] }; - key { [ Arabic_comma, Arabic_hamzaunderalef ] }; + key {[ VoidSymbol, 0x1000671 ] }; + key {[ VoidSymbol, Arabic_hamzaonyeh ] }; + + key {[ Arabic_fatha, Arabic_alef ] }; + key {[ Arabic_seen, Arabic_sad ] }; + key {[ Arabic_dal, Arabic_dad ] }; + key {[ Arabic_feh, Arabic_fathatan ] }; + key {[ Arabic_ghain, VoidSymbol ] }; + key {[ Arabic_ha, Arabic_hah ] }; + key {[ Arabic_jeem, VoidSymbol ] }; + key {[ Arabic_kaf, Arabic_kasratan ] }; + key {[ Arabic_lam, VoidSymbol ] }; + key {[ Arabic_semicolon, VoidSymbol ] }; + key {[ Arabic_hamza, VoidSymbol ] }; + + key {[ VoidSymbol, Arabic_maddaonalef ] }; + + key {[ Arabic_zain, Arabic_zah ] }; + key {[ Arabic_khah, VoidSymbol ] }; + key {[ VoidSymbol, VoidSymbol ] }; + key {[ Arabic_theh, VoidSymbol ] }; + key {[ Arabic_beh, VoidSymbol ] }; + key {[ Arabic_noon, Arabic_dammatan ] }; + key {[ Arabic_meem, VoidSymbol ] }; + key {[ Arabic_comma, Arabic_hamzaunderalef ] }; // ARABIC FULL STOP (Urdu) - key { [ 0x10006d4, Arabic_hamzaonalef ] }; - key { [ VoidSymbol, Arabic_question_mark ] }; + key {[ 0x10006d4, Arabic_hamzaonalef ] }; + key {[ VoidSymbol, Arabic_question_mark ] }; }; partial alphanumeric_keys @@ -258,85 +259,85 @@ xkb_symbols "olpc" { // ‣ The braces }{ take the place of the less-than and greater-than >< signs, // but these the place of kasra and kasratan which establish themselves in the braces’ former steads. // ‣ The … character on is replaced by |, because OLPC laptops have no key installed where the bar is else placed. - - key { [ grave, asciitilde, percent, U2030 ] }; - - key { [ Arabic_1, exclam, 1 ] }; - key { [ Arabic_2, at, 2 ] }; - key { [ Arabic_3, numbersign, 3 ] }; - key { [ Arabic_4, dollar, 4 ] }; - key { [ Arabic_5, Arabic_percent, 5, U0609 ] }; - key { [ Arabic_6, sterling, 6 ] }; - key { [ Arabic_7, EuroSign, 7 ] }; - key { [ Arabic_8, asterisk, 8 ] }; - key { [ Arabic_9, parenright, 9 ] }; - key { [ Arabic_0, parenleft, 0 ] }; - - key { [ Arabic_feh, Arabic_shadda ] }; - - key { [ Arabic_jeem, braceright ] }; - key { [ Arabic_dal, braceleft ] }; - - key { [ Arabic_sheen, greater ] }; - key { [ Arabic_seen, less ] }; - key { [ Arabic_lam, ampersand ] }; - key { [ backslash, bar ] }; - - key { [ Arabic_hamzaonwaw, Arabic_kasra ] }; - key { [ Arabic_ra, Arabic_kasratan ] }; - key { [ Arabic_thal, asciicircum ] }; + + key {[ grave, asciitilde, percent, U2030 ]}; + + key {[ Arabic_1, exclam, 1 ]}; + key {[ Arabic_2, at, 2 ]}; + key {[ Arabic_3, numbersign, 3 ]}; + key {[ Arabic_4, dollar, 4 ]}; + key {[ Arabic_5, Arabic_percent, 5, U0609 ]}; + key {[ Arabic_6, sterling, 6 ]}; + key {[ Arabic_7, EuroSign, 7 ]}; + key {[ Arabic_8, asterisk, 8 ]}; + key {[ Arabic_9, parenright, 9 ]}; + key {[ Arabic_0, parenleft, 0 ]}; + + key {[ Arabic_feh, Arabic_shadda ]}; + + key {[ Arabic_jeem, braceright ]}; + key {[ Arabic_dal, braceleft ]}; + + key {[ Arabic_sheen, greater ]}; + key {[ Arabic_seen, less ]}; + key {[ Arabic_lam, ampersand ]}; + key {[ backslash, bar ]}; + + key {[ Arabic_hamzaonwaw, Arabic_kasra ]}; + key {[ Arabic_ra, Arabic_kasratan ]}; + key {[ Arabic_thal, asciicircum ]}; include "group(olpc)" }; partial alphanumeric_keys xkb_symbols "mac" { - - //This is a layout that is compatible with macbooks + + // This layout is compatible with macbooks. include "ara(digits)" + name[Group1]= "Arabic (Macintosh)"; - - key { [ minus, underscore ] }; - key { [ equal, plus ] }; - - key { [ Arabic_tatweel, VoidSymbol ] }; - key { [ Arabic_theh, Arabic_kasra ] }; - key { [ Arabic_qaf, Arabic_kasratan ] }; - key { [ Arabic_feh, Arabic_damma ] }; - key { [ Arabic_ghain, Arabic_dammatan ] }; - key { [ Arabic_ain, Arabic_sukun ] }; - key { [ Arabic_ha, Arabic_shadda ] }; - key { [ Arabic_khah, bracketright ] }; - key { [ Arabic_hah, bracketleft ] }; - key { [ Arabic_jeem, braceright ] }; - key { [Arabic_tehmarbuta, braceleft ] }; - - key { [ Arabic_sheen, guillemotright ] }; - key { [ Arabic_seen, guillemotleft ] }; - key { [ Arabic_yeh, Arabic_alefmaksura] }; - key { [ Arabic_beh, 0x1000670 ] }; - key { [ Arabic_lam, VoidSymbol ] }; - key { [ Arabic_alef, Arabic_maddaonalef ] }; - key { [ Arabic_teh, 0x1000671 ] }; - key { [ Arabic_noon, VoidSymbol ] }; - key { [ Arabic_meem, VoidSymbol ] }; - key { [ Arabic_kaf, colon ] }; - key { [ Arabic_semicolon, quotedbl ] }; - - key { [ backslash, bar ] }; - - key { [ Arabic_tatweel, VoidSymbol ] }; - key { [ Arabic_zah, VoidSymbol ] }; - key { [ Arabic_tah, VoidSymbol ] }; - key { [ Arabic_thal, Arabic_hamzaonyeh ] }; - key { [ Arabic_dal, Arabic_hamza ] }; - key { [ Arabic_zain, Arabic_hamzaonalef ] }; - key { [ Arabic_ra, Arabic_hamzaunderalef ] }; - key { [ Arabic_waw, Arabic_hamzaonwaw ] }; - key { [ Arabic_comma, greater ] }; - key { [ period, less ] }; - key { [ slash, Arabic_question_mark ] }; + + key {[ Arabic_tatweel, none ]}; + key {[ minus, underscore ]}; + key {[ equal, plus ]}; + + key {[ Arabic_theh, Arabic_kasra ]}; + key {[ Arabic_qaf, Arabic_kasratan ]}; + key {[ Arabic_feh, Arabic_damma ]}; + key {[ Arabic_ghain, Arabic_dammatan ]}; + key {[ Arabic_ain, Arabic_sukun ]}; + key {[ Arabic_ha, Arabic_shadda ]}; + key {[ Arabic_khah, bracketright ]}; + key {[ Arabic_hah, bracketleft ]}; + key {[ Arabic_jeem, braceright ]}; + key {[Arabic_tehmarbuta, braceleft ]}; + + key {[ Arabic_sheen, guillemotright ]}; + key {[ Arabic_seen, guillemotleft ]}; + key {[ Arabic_yeh, Arabic_alefmaksura ]}; + key {[ Arabic_beh, 0x1000670 ]}; + key {[ Arabic_lam, none ]}; + key {[ Arabic_alef, Arabic_maddaonalef ]}; + key {[ Arabic_teh, 0x1000671 ]}; + key {[ Arabic_noon, none ]}; + key {[ Arabic_meem, none ]}; + key {[ Arabic_kaf, colon ]}; + key {[ Arabic_semicolon, quotedbl ]}; + key {[ backslash, bar ]}; + + key {[ Arabic_tatweel, none ]}; + key {[ Arabic_zah, none ]}; + key {[ Arabic_tah, none ]}; + key {[ Arabic_thal, Arabic_hamzaonyeh ]}; + key {[ Arabic_dal, Arabic_hamza ]}; + key {[ Arabic_zain, Arabic_hamzaonalef ]}; + key {[ Arabic_ra, Arabic_hamzaunderalef ]}; + key {[ Arabic_waw, Arabic_hamzaonwaw ]}; + key {[ Arabic_comma, greater ]}; + key {[ period, less ]}; + key {[ slash, Arabic_question_mark ]}; }; // EXTRAS: @@ -352,108 +353,110 @@ xkb_symbols "basic_ext" { name[Group1]= "Arabic (Arabic numerals, extensions in the 4th level)"; key.type[Group1]="FOUR_LEVEL"; - - key { [ Arabic_thal, Arabic_shadda, Arabic_percent, Arabic_ddal ]}; // ‎ذ‎ ‎◌ّ‎ ‎٪‎ ‎ڈ‎ - key { [ 1, exclam, Arabic_1, Farsi_1 ]}; // 1 ! ١ ۱ - key { [ 2, at, Arabic_2, Farsi_2 ]}; // 2 @ ٢ ۲ - key { [ 3, numbersign, Arabic_3, Farsi_3 ]}; // 3 # ٣ ۳ - key { [ 4, dollar, Arabic_4, Farsi_4 ]}; // 4 $ ٤ ۴ - key { [ 5, percent, Arabic_5, Farsi_5 ]}; // 5 % ٥ ۵ - key { [ 6, Farsi_yeh, Arabic_6, Farsi_6 ]}; // 6 ‎ی‎ ٦ ۶ - key { [ 7, ampersand, Arabic_7, Farsi_7 ]}; // 7 & ٧ ۷ - key { [ 8, asterisk, Arabic_8, Farsi_8 ]}; // 8 * ٨ ۸ - key { [ 9, parenright, Arabic_9, Farsi_9 ]}; // 9 ) ٩ ۹ - key { [ 0, parenleft, Arabic_0, Farsi_0 ]}; // 0 ( ٠ ۰ - key { [ minus, underscore, endash, U2011 ]}; // - _ – Non-Breaking-Hyphen - key { [ equal, plus, notequal, U2248 ]}; // = + ≠ ≈ - - key { [ Arabic_dad, Arabic_fatha, U0689, U2066 ]}; // ‎ض‎ ‎◌َ ډ LEFT‑TO‑RIGHT ISOLATE - key { [ Arabic_sad, Arabic_fathatan, U06D5, U2067 ]}; // ‎ص‎ ‎◌ً ە RIGHT‑TO‑LEFT ISOLATE - key { [ Arabic_theh, Arabic_damma, U067F, U2068 ]}; // ‎ث‎ ‎◌ُ ٿ FIRST STRONG ISOLATE - key { [ Arabic_qaf, Arabic_dammatan, U06A6, U2069 ]}; // ‎ق‎ ‎◌ٌ ڦ POP DIRECTIONAL ISOLATE - key { [ Arabic_feh, UFEF9, Arabic_veh, U068D ]}; // ‎ف‎ ‎ﻹ ‎ڤ ‎ڍ‎ - key { [ Arabic_ghain,Arabic_hamzaunderalef, U0685, U202A ]}; // ‎غ‎ ‎إ‎ ‎څ‎ LEFT-TO-RIGHT-EMBEDDING - key { [ Arabic_ain, Arabic_rreh, Arabic_heh_goal, U202B ]}; // ‎ع‎ ‎ڑ‎ ‎ہ‎ RIGHT-TO-LEFT EMBEDDING - key { [ Arabic_ha, division, Arabic_heh_doachashmee, U202C ]}; // ‎ه‎ ÷ ‎ھ‎ POP DIRECTIONAL FORMATTING - key { [ Arabic_khah, multiply, U0681, U0687 ]}; // ‎خ‎ × ‎ځ‎ ‎ڇ‎ - key { [ Arabic_hah, Arabic_semicolon, U0683, U200E ]}; // ‎ح‎ ؛ ‎ڃ‎ LEFT-TO-RIGHT MARK - key { [ Arabic_jeem, less, Arabic_tcheh, U200F ]}; // ‎ج‎ < ‎چ‎ RIGHT-TO-LEFT MARK - key { [ Arabic_dal, greater, U0684, U061C ]}; // ‎د‎ > ‎ڄ‎ ARABIC LETTER MARK - - key { [ Arabic_sheen, Arabic_kasra, U06C6, U06C9 ]}; // ‎ش‎ ‎◌ِ‎ ‎ۆ‎ ‎ۉ‎ - key { [ Arabic_seen, Arabic_kasratan, U067C, U0680 ]}; // ‎س‎ ‎◌ٍ‎ ‎ټ‎ ‎ڀ‎ - key { [ Arabic_yeh, bracketright, U06D0, U06CD ]}; // ‎ي‎ ] ‎ې‎ ‎ۍ‎ - key { [ Arabic_beh, bracketleft, Arabic_peh, U067B ]}; // ‎ب‎ [ ‎پ‎ ‎ٻ‎ - key { [ Arabic_lam, U0FEF7, U076A, U0658 ]}; // ‎ل‎ ‎ﻷ‎ ‎ݪ‎ ٘‎◌‎ - key { [ Arabic_alef, Arabic_hamzaonalef, U0671, Arabic_noon_ghunna ]}; // ‎ا‎ ‎أ ‎ٱ‎ ‎ں‎ - key { [ Arabic_teh, Arabic_tatweel, U067D, U067A ]}; // ‎ت‎ ‎ـ‎ ‎ٽ‎ ٺ‎ - key { [ Arabic_noon, Arabic_comma, U066B, U06BB ]}; // ‎ن‎ ‎،‎ ‎٫‎ ڻ‎ - key { [ Arabic_meem, slash, U06B3, U06B1 ]}; // ‎م‎ / ‎ڳ‎ ‎ڱ‎ - key { [ Arabic_kaf, colon, Arabic_gaf, Arabic_keheh ]}; // ‎ك‎ : ‎گ‎ ‎ک‎ - key { [ Arabic_tah, quotedbl, U27E9, U200D ]}; // ‎ط‎ " ⟩ ZWJ - key { [ backslash, bar, U27E8, U202F ]}; // \ | ⟨ NNBSP - - key { [ bar, ellipsis, U06C0, U0620 ]}; // | … ‎ۀ‎ ‎ؠ‎ - key { [Arabic_hamzaonyeh, asciitilde, guillemotright, U203A ]}; // ‎ئ‎ ~ » › - key { [ Arabic_hamza, Arabic_sukun, guillemotleft, U2039 ]}; // ‎ء‎ ◌ْ « ‹ - key { [Arabic_hamzaonwaw, braceright, U06C7, U0677 ]}; // ‎ؤ } ‎ۇ‎ ‎ٷ‎ - key { [ Arabic_ra, braceleft, U0693, U0699 ]}; // ‎ر‎ { ‎ړ ‎ڙ‎ - key { [ UFEFB, UFEF5, U06AB, U06AD ]}; // ‎ﻻ‎ ‎ﻵ‎ ‎ګ‎ ‎ڭ‎ - key {[Arabic_alefmaksura, Arabic_maddaonalef, Arabic_superscript_alef, Arabic_yeh_baree ]}; // ‎ى‎ ‎آ‎ ‎◌ٰ‎ ‎ے‎ - key { [Arabic_tehmarbuta, apostrophe, Arabic_fullstop, U06AA ]}; // ‎ة‎ ' ۔ ‎ڪ‎ - key { [ Arabic_waw, comma, U066C, U06CB ]}; // ‎و‎ , ‎٬‎ ‎ۋ‎ - key { [ Arabic_zain, period, Arabic_jeh, U0696 ]}; // ‎ز‎ . ‎ژ‎ ‎ږ‎ - key { [ Arabic_zah, Arabic_question_mark, Arabic_tteh, U200C ]}; // ‎ظ‎ ‎؟‎ ‎ٹ‎ ZWNJ - - include "level3(ralt_switch)" + + key {[ Arabic_thal, Arabic_shadda, Arabic_percent, Arabic_ddal ]}; // ‎ذ‎ ‎◌ّ‎ ‎٪‎ ‎ڈ‎ + key {[ 1, exclam, Arabic_1, Farsi_1 ]}; // 1 ! ١ ۱ + key {[ 2, at, Arabic_2, Farsi_2 ]}; // 2 @ ٢ ۲ + key {[ 3, numbersign, Arabic_3, Farsi_3 ]}; // 3 # ٣ ۳ + key {[ 4, dollar, Arabic_4, Farsi_4 ]}; // 4 $ ٤ ۴ + key {[ 5, percent, Arabic_5, Farsi_5 ]}; // 5 % ٥ ۵ + key {[ 6, Farsi_yeh, Arabic_6, Farsi_6 ]}; // 6 ‎ی‎ ٦ ۶ + key {[ 7, ampersand, Arabic_7, Farsi_7 ]}; // 7 & ٧ ۷ + key {[ 8, asterisk, Arabic_8, Farsi_8 ]}; // 8 * ٨ ۸ + key {[ 9, parenright, Arabic_9, Farsi_9 ]}; // 9 ) ٩ ۹ + key {[ 0, parenleft, Arabic_0, Farsi_0 ]}; // 0 ( ٠ ۰ + key {[ minus, underscore, endash, U2011 ]}; // - _ – Non-Breaking-Hyphen + key {[ equal, plus, notequal, U2248 ]}; // = + ≠ ≈ + + key {[ Arabic_dad, Arabic_fatha, U0689, U2066 ]}; // ‎ض‎ ‎◌َ ډ LEFT‑TO‑RIGHT ISOLATE + key {[ Arabic_sad, Arabic_fathatan, U06D5, U2067 ]}; // ‎ص‎ ‎◌ً ە RIGHT‑TO‑LEFT ISOLATE + key {[ Arabic_theh, Arabic_damma, U067F, U2068 ]}; // ‎ث‎ ‎◌ُ ٿ FIRST STRONG ISOLATE + key {[ Arabic_qaf, Arabic_dammatan, U06A6, U2069 ]}; // ‎ق‎ ‎◌ٌ ڦ POP DIRECTIONAL ISOLATE + key {[ Arabic_feh, UFEF9, Arabic_veh, U068D ]}; // ‎ف‎ ‎ﻹ ‎ڤ ‎ڍ‎ + key {[ Arabic_ghain,Arabic_hamzaunderalef, U0685, U202A ]}; // ‎غ‎ ‎إ‎ ‎څ‎ LEFT-TO-RIGHT-EMBEDDING + key {[ Arabic_ain, Arabic_rreh, Arabic_heh_goal, U202B ]}; // ‎ع‎ ‎ڑ‎ ‎ہ‎ RIGHT-TO-LEFT EMBEDDING + key {[ Arabic_ha, division, Arabic_heh_doachashmee, U202C ]}; // ‎ه‎ ÷ ‎ھ‎ POP DIRECTIONAL FORMATTING + key {[ Arabic_khah, multiply, U0681, U0687 ]}; // ‎خ‎ × ‎ځ‎ ‎ڇ‎ + key {[ Arabic_hah, Arabic_semicolon, U0683, U200E ]}; // ‎ح‎ ؛ ‎ڃ‎ LEFT-TO-RIGHT MARK + key {[ Arabic_jeem, less, Arabic_tcheh, U200F ]}; // ‎ج‎ < ‎چ‎ RIGHT-TO-LEFT MARK + key {[ Arabic_dal, greater, U0684, U061C ]}; // ‎د‎ > ‎ڄ‎ ARABIC LETTER MARK + + key {[ Arabic_sheen, Arabic_kasra, U06C6, U06C9 ]}; // ‎ش‎ ‎◌ِ‎ ‎ۆ‎ ‎ۉ‎ + key {[ Arabic_seen, Arabic_kasratan, U067C, U0680 ]}; // ‎س‎ ‎◌ٍ‎ ‎ټ‎ ‎ڀ‎ + key {[ Arabic_yeh, bracketright, U06D0, U06CD ]}; // ‎ي‎ ] ‎ې‎ ‎ۍ‎ + key {[ Arabic_beh, bracketleft, Arabic_peh, U067B ]}; // ‎ب‎ [ ‎پ‎ ‎ٻ‎ + key {[ Arabic_lam, U0FEF7, U076A, U0658 ]}; // ‎ل‎ ‎ﻷ‎ ‎ݪ‎ ٘‎◌‎ + key {[ Arabic_alef, Arabic_hamzaonalef, U0671, Arabic_noon_ghunna ]}; // ‎ا‎ ‎أ ‎ٱ‎ ‎ں‎ + key {[ Arabic_teh, Arabic_tatweel, U067D, U067A ]}; // ‎ت‎ ‎ـ‎ ‎ٽ‎ ٺ‎ + key {[ Arabic_noon, Arabic_comma, U066B, U06BB ]}; // ‎ن‎ ‎،‎ ‎٫‎ ڻ‎ + key {[ Arabic_meem, slash, U06B3, U06B1 ]}; // ‎م‎ / ‎ڳ‎ ‎ڱ‎ + key {[ Arabic_kaf, colon, Arabic_gaf, Arabic_keheh ]}; // ‎ك‎ : ‎گ‎ ‎ک‎ + key {[ Arabic_tah, quotedbl, U27E9, U200D ]}; // ‎ط‎ " ⟩ ZWJ + key {[ backslash, bar, U27E8, U202F ]}; // \ | ⟨ NNBSP + + key {[ bar, ellipsis, U06C0, U0620 ]}; // | … ‎ۀ‎ ‎ؠ‎ + key {[Arabic_hamzaonyeh, asciitilde, guillemotright, U203A ]}; // ‎ئ‎ ~ » › + key {[ Arabic_hamza, Arabic_sukun, guillemotleft, U2039 ]}; // ‎ء‎ ◌ْ « ‹ + key {[Arabic_hamzaonwaw, braceright, U06C7, U0677 ]}; // ‎ؤ } ‎ۇ‎ ‎ٷ‎ + key {[ Arabic_ra, braceleft, U0693, U0699 ]}; // ‎ر‎ { ‎ړ ‎ڙ‎ + key {[ UFEFB, UFEF5, U06AB, U06AD ]}; // ‎ﻻ‎ ‎ﻵ‎ ‎ګ‎ ‎ڭ‎ + key {[Arabic_alefmaksura, Arabic_maddaonalef, Arabic_superscript_alef, Arabic_yeh_baree ]}; // ‎ى‎ ‎آ‎ ‎◌ٰ‎ ‎ے‎ + key {[Arabic_tehmarbuta, apostrophe, Arabic_fullstop, U06AA ]}; // ‎ة‎ ' ۔ ‎ڪ‎ + key {[ Arabic_waw, comma, U066C, U06CB ]}; // ‎و‎ , ‎٬‎ ‎ۋ‎ + key {[ Arabic_zain, period, Arabic_jeh, U0696 ]}; // ‎ز‎ . ‎ژ‎ ‎ږ‎ + key {[ Arabic_zah, Arabic_question_mark, Arabic_tteh, U200C ]}; // ‎ظ‎ ‎؟‎ ‎ٹ‎ ZWNJ + + include "level3(ralt_switch)" }; -// 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. -// 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. -partial hidden keypad_keys +// 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. +hidden partial keypad_keys xkb_symbols "basic_ext_digits_KP" { - + key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD"; - key { [ KP_Home, Arabic_7, 7, Farsi_7 ] }; - key { [ KP_Up, Arabic_8, 8, Farsi_8 ] }; - key { [ KP_Prior, Arabic_9, 9, Farsi_9 ] }; + key {[ KP_Home, Arabic_7, 7, Farsi_7 ]}; + key {[ KP_Up, Arabic_8, 8, Farsi_8 ]}; + key {[ KP_Prior, Arabic_9, 9, Farsi_9 ]}; + + key {[ KP_Left, Arabic_4, 4, Farsi_4 ]}; + key {[ KP_Begin, Arabic_5, 5, Farsi_5 ]}; + key {[ KP_Right, Arabic_6, 6, Farsi_6 ]}; - key { [ KP_Left, Arabic_4, 4, Farsi_4 ] }; - key { [ KP_Begin, Arabic_5, 5, Farsi_5 ] }; - key { [ KP_Right, Arabic_6, 6, Farsi_6 ] }; + key {[ KP_End, Arabic_1, 1, Farsi_1 ]}; + key {[ KP_Down, Arabic_2, 2, Farsi_2 ]}; + key {[ KP_Next, Arabic_3, 3, Farsi_3 ]}; - key { [ KP_End, Arabic_1, 1, Farsi_1 ] }; - key { [ KP_Down, Arabic_2, 2, Farsi_2 ] }; - key { [ KP_Next, Arabic_3, 3, Farsi_3 ] }; + key {[ KP_Insert, Arabic_0, 0, Farsi_0 ]}; - key { [ KP_Insert, Arabic_0, 0, Farsi_0 ] }; - - include "kpdl(momayyezoss)" + include "kpdl(momayyezoss)" }; -// 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. -// The alternative numeral glyphs used in some languages that employ the Arabic script are featured in the fourth layer. +// 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. +// The alternative numeral glyphs used in some languages that employ the Arabic script +// are featured in the fourth layer. partial alphanumeric_keys xkb_symbols "basic_ext_digits" { - include "ara(basic_ext)" - + include "ara(basic_ext)" + name[Group1]= "Arabic (Eastern Arabic numerals, extensions in the 4th level)"; - key { [Arabic_thal,Arabic_shadda, percent, Arabic_ddal ]}; - key { [ Arabic_1, exclam, 1, Farsi_1 ] }; - key { [ Arabic_2, at, 2, Farsi_2 ] }; - key { [ Arabic_3, numbersign, 3, Farsi_3 ] }; - key { [ Arabic_4, dollar, 4, Farsi_4 ] }; - key { [ Arabic_5, Arabic_percent, 5, Farsi_5 ] }; - key { [ Arabic_6, Farsi_yeh, 6, Farsi_6 ] }; - key { [ Arabic_7, ampersand, 7, Farsi_7 ] }; - key { [ Arabic_8, asterisk, 8, Farsi_8 ] }; - key { [ Arabic_9, parenright, 9, Farsi_9 ] }; - key { [ Arabic_0, parenleft, 0, Farsi_0 ] }; - - include "ara(basic_ext_digits_KP)" + key {[Arabic_thal, Arabic_shadda, percent, Arabic_ddal ]}; + key {[ Arabic_1, exclam, 1, Farsi_1 ]}; + key {[ Arabic_2, at, 2, Farsi_2 ]}; + key {[ Arabic_3, numbersign, 3, Farsi_3 ]}; + key {[ Arabic_4, dollar, 4, Farsi_4 ]}; + key {[ Arabic_5, Arabic_percent, 5, Farsi_5 ]}; + key {[ Arabic_6, Farsi_yeh, 6, Farsi_6 ]}; + key {[ Arabic_7, ampersand, 7, Farsi_7 ]}; + key {[ Arabic_8, asterisk, 8, Farsi_8 ]}; + key {[ Arabic_9, parenright, 9, Farsi_9 ]}; + key {[ Arabic_0, parenleft, 0, Farsi_0 ]}; + + include "ara(basic_ext_digits_KP)" }; // In this layout the Ugaritic characters get the places of the Arabic characters with the matching sound values. @@ -464,95 +467,95 @@ xkb_symbols "uga" { key.type[Group1]="TWO_LEVEL"; - key { [ U1038F, NoSymbol ]}; // 𐎏 - key { [ 1, exclam ]}; // 1 ! - key { [ 2, at ]}; // 2 @ - key { [ 3, numbersign ]}; // 3 # - key { [ 4, dollar ]}; // 4 $ - key { [ 5, percent ]}; // 5 % - key { [ 6, asciicircum ]}; // 6 ^ - key { [ 7, ampersand ]}; // 7 & - key { [ 8, asterisk ]}; // 8 * - key { [ 9, parenleft ]}; // 9 ( - key { [ 0, parenright ]}; // 0 ) - key { [ minus, underscore ]}; // - _ - key { [ equal, plus ]}; // = + - - key { [ U1039D, NoSymbol ]}; // 𐎝 - key { [ U10395, NoSymbol ]}; // 𐎕 - key { [ U10398, NoSymbol ]}; // 𐎘 - key { [ U10396, NoSymbol ]}; // 𐎖 - key { [ U10394, NoSymbol ]}; // 𐎔 - key { [ U10399, NoSymbol ]}; // 𐎙 - key { [ U10393, grave ]}; // 𐎓 ` - key { [ U10385, division ]}; // 𐎅 ÷ - key { [ U10383, multiply ]}; // 𐎃 × - key { [ U10388, semicolon ]}; // 𐎈 ; - key { [ U10382, greater ]}; // 𐎂 > - key { [ U10384, less ]}; // 𐎄 < - - key { [ U1038C, U27E8 ]}; // 𐎌 ⟨ - key { [ U10392, U27E9 ]}; // 𐎒 ⟩ - key { [ U1038A, bracketleft ]}; // 𐎊 [ - key { [ U10381, bracketright ]}; // 𐎁 ] - key { [ U1038D, NoSymbol ]}; // 𐎍 - key { [ U10380, NoSymbol ]}; // 𐎀 - key { [ U1039A, NoSymbol ]}; // 𐎚 - key { [ U10390, NoSymbol ]}; // 𐎐 - key { [ U1038E, slash ]}; // 𐎎 / - key { [ U1038B, colon ]}; // 𐎋: - key { [ U10389, quotedbl ]}; // 𐎉 " - key { [backslash, bar ]}; // \ | - - key { [ bar, endash ]}; // | – - key { [ U1039B, guillemotleft ]}; // 𐎛 « - key { [ NoSymbol, guillemotright ]}; // » - key { [ U1039C, braceleft ]}; // 𐎜 { - key { [ U10397, braceright ]}; // 𐎗 } - key { [ U1039F, U2039 ]}; // 𐎟 ‹ - key { [ question, U203A ]}; // ? › - key { [ U002BC, apostrophe ]}; // ʼ ' - key { [ U10386, comma ]}; // 𐎆 , - key { [ U10387, period ]}; // 𐎇 . - key { [ U10391, periodcentered ]}; // 𐎑 · + key {[ U1038F, none ]}; // 𐎏 + key {[ 1, exclam ]}; // 1 ! + key {[ 2, at ]}; // 2 @ + key {[ 3, numbersign ]}; // 3 # + key {[ 4, dollar ]}; // 4 $ + key {[ 5, percent ]}; // 5 % + key {[ 6, asciicircum ]}; // 6 ^ + key {[ 7, ampersand ]}; // 7 & + key {[ 8, asterisk ]}; // 8 * + key {[ 9, parenleft ]}; // 9 ( + key {[ 0, parenright ]}; // 0 ) + key {[ minus, underscore ]}; // - _ + key {[ equal, plus ]}; // = + + + key {[ U1039D, none ]}; // 𐎝 + key {[ U10395, none ]}; // 𐎕 + key {[ U10398, none ]}; // 𐎘 + key {[ U10396, none ]}; // 𐎖 + key {[ U10394, none ]}; // 𐎔 + key {[ U10399, none ]}; // 𐎙 + key {[ U10393, grave ]}; // 𐎓 ` + key {[ U10385, division ]}; // 𐎅 ÷ + key {[ U10383, multiply ]}; // 𐎃 × + key {[ U10388, semicolon ]}; // 𐎈 ; + key {[ U10382, greater ]}; // 𐎂 > + key {[ U10384, less ]}; // 𐎄 < + + key {[ U1038C, U27E8 ]}; // 𐎌 ⟨ + key {[ U10392, U27E9 ]}; // 𐎒 ⟩ + key {[ U1038A, bracketleft ]}; // 𐎊 [ + key {[ U10381, bracketright ]}; // 𐎁 ] + key {[ U1038D, none ]}; // 𐎍 + key {[ U10380, none ]}; // 𐎀 + key {[ U1039A, none ]}; // 𐎚 + key {[ U10390, none ]}; // 𐎐 + key {[ U1038E, slash ]}; // 𐎎 / + key {[ U1038B, colon ]}; // 𐎋: + key {[ U10389, quotedbl ]}; // 𐎉 " + key {[backslash, bar ]}; // \ | + + key {[ bar, endash ]}; // | – + key {[ U1039B, guillemotleft ]}; // 𐎛 « + key {[ none, guillemotright ]}; // » + key {[ U1039C, braceleft ]}; // 𐎜 { + key {[ U10397, braceright ]}; // 𐎗 } + key {[ U1039F, U2039 ]}; // 𐎟 ‹ + key {[ question, U203A ]}; // ? › + key {[ U002BC, apostrophe ]}; // ʼ ' + key {[ U10386, comma ]}; // 𐎆 , + key {[ U10387, period ]}; // 𐎇 . + key {[ U10391, periodcentered ]}; // 𐎑 · }; -// An Ergonomic implementation of the basic Arabic keyboard (PC). Brings all letters to the middle 30 keys. +// An Ergonomic implementation of the basic Arabic keyboard (PC). Brings all letters to the middle 30 keys. xkb_symbols "ergoarabic" { include "ara(basic)" name[Group1]= "Arabic (ErgoArabic)"; - - key { [ grave, asciitilde, NoSymbol, NoSymbol ]}; - - key { [ Arabic_dal, Arabic_thal, NoSymbol, U2066 ]}; - key { [ Arabic_sad, Arabic_dad, NoSymbol, U2067 ]}; - key { [ Arabic_feh, Arabic_shadda, Arabic_veh, NoSymbol ]}; - key { [ Arabic_hamza, Arabic_hamzaunderalef, NoSymbol, U202A ]}; - key { [ Arabic_ain, Arabic_ghain, NoSymbol, U202B ]}; - key { [ Arabic_ha, division, NoSymbol, U202C ]}; - key { [ Arabic_waw, Arabic_hamzaonwaw, NoSymbol, NoSymbol ]}; - key { [ Arabic_tehmarbuta, Arabic_semicolon, NoSymbol, U200E ]}; - key { [ bracketright, braceright, NoSymbol, U200F ]}; - key { [ bracketleft, braceleft, NoSymbol, U061C ]}; - - key { [ Arabic_yeh, Arabic_fatha, NoSymbol, NoSymbol ]}; - key { [ Arabic_beh, Arabic_fathatan, Arabic_peh, NoSymbol ]}; - key { [ Arabic_lam, Arabic_maddaonalef,Arabic_superscript_alef, NoSymbol ]}; - key { [ Arabic_teh, Arabic_tatweel, NoSymbol, NoSymbol ]}; - key { [ Arabic_noon, multiply, U066B, NoSymbol ]}; - key { [ Arabic_meem, comma, NoSymbol, NoSymbol ]}; - key { [ Arabic_kaf, colon, Arabic_gaf, NoSymbol ]}; - key { [ apostrophe, quotedbl, U27E9, U200D ]}; - key { [ backslash, bar, U27E8, U202F ]}; - - key { [ Arabic_hamzaonyeh, NoSymbol, U203A, NoSymbol ]}; - key { [Arabic_alefmaksura, Arabic_sukun, U2039, NoSymbol ]}; - key { [ Arabic_tah, Arabic_zah, NoSymbol, NoSymbol ]}; - key { [ Arabic_ra, Arabic_zain, Arabic_jeh, NoSymbol ]}; - key { [ Arabic_khah, ellipsis, NoSymbol, NoSymbol ]}; - key { [ Arabic_hah, guillemotright, NoSymbol, NoSymbol ]}; - key { [ Arabic_jeem, guillemotleft, Arabic_tcheh, NoSymbol ]}; - key { [ Arabic_comma, greater, NoSymbol, NoSymbol ]}; - key { [ period, less, NoSymbol, NoSymbol ]}; - key { [ slash, Arabic_question_mark, U066D, U200C ]}; + + key {[ grave, asciitilde, any, any ]}; + + key {[ Arabic_dal, Arabic_thal, any, U2066 ]}; + key {[ Arabic_sad, Arabic_dad, any, U2067 ]}; + key {[ Arabic_feh, Arabic_shadda, Arabic_veh, any ]}; + key {[ Arabic_hamza, Arabic_hamzaunderalef, any, U202A ]}; + key {[ Arabic_ain, Arabic_ghain, any, U202B ]}; + key {[ Arabic_ha, division, any, U202C ]}; + key {[ Arabic_waw, Arabic_hamzaonwaw, any, any ]}; + key {[ Arabic_tehmarbuta, Arabic_semicolon, any, U200E ]}; + key {[ bracketright, braceright, any, U200F ]}; + key {[ bracketleft, braceleft, any, U061C ]}; + + key {[ Arabic_yeh, Arabic_fatha, any, any ]}; + key {[ Arabic_beh, Arabic_fathatan, Arabic_peh, any ]}; + key {[ Arabic_lam, Arabic_maddaonalef,Arabic_superscript_alef, any ]}; + key {[ Arabic_teh, Arabic_tatweel, any, any ]}; + key {[ Arabic_noon, multiply, U066B, any ]}; + key {[ Arabic_meem, comma, any, any ]}; + key {[ Arabic_kaf, colon, Arabic_gaf, any ]}; + key {[ apostrophe, quotedbl, U27E9, U200D ]}; + key {[ backslash, bar, U27E8, U202F ]}; + + key {[ Arabic_hamzaonyeh, any, U203A, any ]}; + key {[Arabic_alefmaksura, Arabic_sukun, U2039, any ]}; + key {[ Arabic_tah, Arabic_zah, any, any ]}; + key {[ Arabic_ra, Arabic_zain, Arabic_jeh, any ]}; + key {[ Arabic_khah, ellipsis, any, any ]}; + key {[ Arabic_hah, guillemotright, any, any ]}; + key {[ Arabic_jeem, guillemotleft, Arabic_tcheh, any ]}; + key {[ Arabic_comma, greater, any, any ]}; + key {[ period, less, any, any ]}; + key {[ slash, Arabic_question_mark, U066D, U200C ]}; }; -- cgit v1.2.1