diff options
author | Benno Schulenberg <bensberg@telfort.nl> | 2023-03-19 11:35:09 +0100 |
---|---|---|
committer | Benno Schulenberg <bensberg@telfort.nl> | 2023-03-21 16:41:47 +0100 |
commit | a5f8db4eb30ccfbffabfc66b8cf5569ec3b9c317 (patch) | |
tree | 482c348de7f86480cacb68844561718166868c6d /symbols/ir | |
parent | eb3d0dae8565bce388a741b9997a7eb2d8e5e736 (diff) | |
download | xkeyboard-config-a5f8db4eb30ccfbffabfc66b8cf5569ec3b9c317.tar.gz |
symbols/ir: replace 0x100nnnn with Unnnn, and add some comments for these
Also harmonize some whitespace, and replace "VoidSymbol" with "none".
Diffstat (limited to 'symbols/ir')
-rw-r--r-- | symbols/ir | 212 |
1 files changed, 107 insertions, 105 deletions
@@ -6,6 +6,8 @@ // (http://www.isiri.org/UserStd/DownloadStd.aspx?id=9147) // https://persian-computing.org/archives/ISIRI/ISIRI-9147.pdf // +// The standard is extended with ASCII digits on the 4th level of the top row. +// // Original author: Behnam Esfahbod <behnam@esfahbod.info> default partial alphanumeric_keys @@ -14,57 +16,57 @@ xkb_symbols "pes" { // Persian and ASCII digits key <AE01> { [ Farsi_1, exclam, grave, 1 ] }; - key <AE02> { [ Farsi_2, 0x100066c, at, 2 ] }; - key <AE03> { [ Farsi_3, 0x100066b, numbersign, 3 ] }; - key <AE04> { [ Farsi_4, 0x100fdfc, dollar, 4 ] }; - key <AE05> { [ Farsi_5, 0x100066a, percent, 5 ] }; + key <AE02> { [ Farsi_2, U066C, at, 2 ] }; + key <AE03> { [ Farsi_3, U066B, numbersign, 3 ] }; + key <AE04> { [ Farsi_4, UFDFC, dollar, 4 ] }; // Rial sign + key <AE05> { [ Farsi_5, U066A, percent, 5 ] }; key <AE06> { [ Farsi_6, multiply, asciicircum, 6 ] }; key <AE07> { [ Farsi_7, Arabic_comma, ampersand, 7 ] }; key <AE08> { [ Farsi_8, asterisk, enfilledcircbullet, 8 ] }; - key <AE09> { [ Farsi_9, parenright, 0x100200e, 9 ] }; - key <AE10> { [ Farsi_0, parenleft, 0x100200f, 0 ] }; + key <AE09> { [ Farsi_9, parenright, U200E, 9 ] }; // LRM + key <AE10> { [ Farsi_0, parenleft, U200F, 0 ] }; // RLM // Persian letters and symbols key <AD01> { [ Arabic_dad, Arabic_sukun, degree ] }; - key <AD02> { [ Arabic_sad, Arabic_dammatan, VoidSymbol ] }; + key <AD02> { [ Arabic_sad, Arabic_dammatan, none ] }; key <AD03> { [ Arabic_theh, Arabic_kasratan, EuroSign ] }; - key <AD04> { [ Arabic_qaf, Arabic_fathatan, VoidSymbol ] }; - key <AD05> { [ Arabic_feh, Arabic_damma, VoidSymbol ] }; - key <AD06> { [ Arabic_ghain, Arabic_kasra, VoidSymbol ] }; - key <AD07> { [ Arabic_ain, Arabic_fatha, VoidSymbol ] }; - key <AD08> { [ Arabic_heh, Arabic_shadda, 0x100202d ] }; - key <AD09> { [ Arabic_khah, bracketright, 0x100202e ] }; - key <AD10> { [ Arabic_hah, bracketleft, 0x100202c ] }; - key <AD11> { [ Arabic_jeem, braceright, 0x100202a ] }; - key <AD12> { [ Arabic_tcheh, braceleft, 0x100202b ] }; - - key <AC01> { [ Arabic_sheen, Arabic_hamzaonwaw, VoidSymbol ] }; - key <AC02> { [ Arabic_seen, Arabic_hamzaonyeh, VoidSymbol ] }; + key <AD04> { [ Arabic_qaf, Arabic_fathatan, none ] }; + key <AD05> { [ Arabic_feh, Arabic_damma, none ] }; + key <AD06> { [ Arabic_ghain, Arabic_kasra, none ] }; + key <AD07> { [ Arabic_ain, Arabic_fatha, none ] }; + key <AD08> { [ Arabic_heh, Arabic_shadda, U202D ] }; // LRO + key <AD09> { [ Arabic_khah, bracketright, U202E ] }; // RLO + key <AD10> { [ Arabic_hah, bracketleft, U202C ] }; // PDF + key <AD11> { [ Arabic_jeem, braceright, U202A ] }; // LRE + key <AD12> { [ Arabic_tcheh, braceleft, U202B ] }; // RLE + + key <AC01> { [ Arabic_sheen, Arabic_hamzaonwaw, none ] }; + key <AC02> { [ Arabic_seen, Arabic_hamzaonyeh, none ] }; key <AC03> { [ Farsi_yeh, Arabic_yeh, Arabic_alefmaksura ] }; - key <AC04> { [ Arabic_beh, Arabic_hamzaunderalef, VoidSymbol ] }; - key <AC05> { [ Arabic_lam, Arabic_hamzaonalef, VoidSymbol ] }; - key <AC06> { [ Arabic_alef, Arabic_maddaonalef, 0x1000671 ] }; - key <AC07> { [ Arabic_teh, Arabic_tehmarbuta, VoidSymbol ] }; - key <AC08> { [ Arabic_noon, guillemotright, 0x100fd3e ] }; - key <AC09> { [ Arabic_meem, guillemotleft, 0x100fd3f ] }; + key <AC04> { [ Arabic_beh, Arabic_hamzaunderalef, none ] }; + key <AC05> { [ Arabic_lam, Arabic_hamzaonalef, none ] }; + key <AC06> { [ Arabic_alef, Arabic_maddaonalef, U0671 ] }; + key <AC07> { [ Arabic_teh, Arabic_tehmarbuta, none ] }; + key <AC08> { [ Arabic_noon, guillemotright, UFD3E ] }; + key <AC09> { [ Arabic_meem, guillemotleft, UFD3F ] }; key <AC10> { [ Arabic_keheh, colon, semicolon ] }; key <AC11> { [ Arabic_gaf, Arabic_semicolon, quotedbl ] }; - key <AB01> { [ Arabic_zah, Arabic_kaf, VoidSymbol ] }; - key <AB02> { [ Arabic_tah, 0x1000653, VoidSymbol ] }; - key <AB03> { [ Arabic_zain, Arabic_jeh, VoidSymbol ] }; - key <AB04> { [ Arabic_ra, Arabic_superscript_alef,0x1000656 ] }; - key <AB05> { [ Arabic_thal, 0x100200c, 0x100200d ] }; + key <AB01> { [ Arabic_zah, Arabic_kaf, none ] }; + key <AB02> { [ Arabic_tah, U0653, none ] }; + key <AB03> { [ Arabic_zain, Arabic_jeh, none ] }; + key <AB04> { [ Arabic_ra, Arabic_superscript_alef,U0656 ] }; + key <AB05> { [ Arabic_thal, U200C, U200D ] }; // ZWNJ, ZWJ key <AB06> { [ Arabic_dal, Arabic_hamza_above, Arabic_hamza_below ] }; key <AB07> { [ Arabic_peh, Arabic_hamza, ellipsis ] }; key <AB08> { [ Arabic_waw, greater, comma ] }; key <AB09> { [ period, less, apostrophe ] }; key <AB10> { [ slash, Arabic_question_mark, question ] }; - key <TLDE> { [ 0x100200d, division, asciitilde ] }; + key <TLDE> { [ U200D, division, asciitilde ] }; // ZWJ key <AE11> { [ minus, Arabic_tatweel, underscore ] }; - key <AE12> { [ equal, plus, 0x1002212 ] }; - key <BKSL> { [ backslash, bar, 0x1002010 ] }; + key <AE12> { [ equal, plus, U2212 ] }; // figure dash + key <BKSL> { [ backslash, bar, U2010 ] }; // hyphen include "nbsp(zwnj2nb3nnb4)" include "level3(ralt_switch)" @@ -80,7 +82,7 @@ xkb_symbols "pes_keypad" { // Persian digits and Mathematical operators key <KPDV> { [ division, XF86_Ungrab ] }; key <KPMU> { [ multiply, XF86_ClearGrab ] }; - key <KPSU> { [ 0x1002212, XF86_Prev_VMode ] }; + key <KPSU> { [ U2212, XF86_Prev_VMode ] }; // minus sign key <KPAD> { [ plus, XF86_Next_VMode ] }; key <KPEN> { [ KP_Enter ] }; @@ -99,31 +101,36 @@ xkb_symbols "pes_keypad" { key <KP3> { [ KP_Next, Farsi_3 ] }; key <KP0> { [ KP_Insert, Farsi_0 ] }; - key <KPDL> { [ KP_Delete, 0x100066b ] }; + key <KPDL> { [ KP_Delete, U066B ] }; // Arabic decimal separator }; + +// The legacy Windows layout that Iranian users are accustomed to, +// extended with Farsi digits on the third level of the top row. + partial alphanumeric_keys xkb_symbols "winkeys" { + name[Group1]= "Persian (Windows)"; key <TLDE> { [ division, multiply ] }; - key <AE01> { [ 1, exclam, Farsi_1, 0x100200d ] }; - key <AE02> { [ 2, at, Farsi_2, 0x100200c ] }; - key <AE03> { [ 3, numbersign, Farsi_3, 0x100200e ] }; - key <AE04> { [ 4, dollar, Farsi_4, 0x100200f ] }; - key <AE05> { [ 5, percent, Farsi_5 ] }; - key <AE06> { [ 6, asciicircum, Farsi_6 ] }; - key <AE07> { [ 7, ampersand, Farsi_7 ] }; - key <AE08> { [ 8, asterisk, Farsi_8 ] }; - key <AE09> { [ 9, parenright, Farsi_9 ] }; - key <AE10> { [ 0, parenleft, Farsi_0 ] }; + key <AE01> { [ 1, exclam, Farsi_1, U200D ] }; // ZWJ + key <AE02> { [ 2, at, Farsi_2, U200C ] }; // ZWNJ + key <AE03> { [ 3, numbersign, Farsi_3, U200E ] }; // LRM + key <AE04> { [ 4, dollar, Farsi_4, U200F ] }; // RLM + key <AE05> { [ 5, percent, Farsi_5 ] }; + key <AE06> { [ 6, asciicircum, Farsi_6 ] }; + key <AE07> { [ 7, ampersand, Farsi_7 ] }; + key <AE08> { [ 8, asterisk, Farsi_8 ] }; + key <AE09> { [ 9, parenright, Farsi_9 ] }; + key <AE10> { [ 0, parenleft, Farsi_0 ] }; key <AE11> { [ minus, underscore ] }; key <AE12> { [ equal, plus ] }; key <AD01> { [ Arabic_dad, Arabic_fathatan ] }; key <AD02> { [ Arabic_sad, Arabic_dammatan ] }; key <AD03> { [ Arabic_theh, Arabic_kasratan ] }; - key <AD04> { [ Arabic_qaf, 0x100fdfc ] }; + key <AD04> { [ Arabic_qaf, UFDFC ] }; // Rial sign key <AD05> { [ Arabic_feh, Arabic_comma ] }; key <AD06> { [ Arabic_ghain, Arabic_semicolon ] }; key <AD07> { [ Arabic_ain, comma ] }; @@ -137,7 +144,7 @@ xkb_symbols "winkeys" { key <AC02> { [ Arabic_seen, Arabic_damma ] }; key <AC03> { [ Farsi_yeh, Arabic_kasra ] }; key <AC04> { [ Arabic_beh, Arabic_shadda ] }; - key <AC05> { [ Arabic_lam, 0x10006c0 ] }; + key <AC05> { [ Arabic_lam, U06C0 ] }; key <AC06> { [ Arabic_alef, Arabic_maddaonalef ] }; key <AC07> { [ Arabic_teh, Arabic_tatweel ] }; key <AC08> { [ Arabic_noon, guillemotleft ] }; @@ -175,13 +182,12 @@ xkb_symbols "azb" key <AD01> { [ Arabic_dad, U06C7, degree ] }; // ۇ key <AD02> { [ Arabic_sad, U06C6, Arabic_dammatan ] }; // ۆ key <AC03> { [ Farsi_yeh, U063D, Arabic_alefmaksura ] }; // ؽ - key <AB01> { [ Arabic_zah, Arabic_sukun, VoidSymbol ] }; - key <AB05> { [ Arabic_thal, Arabic_dammatan, VoidSymbol ] }; + key <AB01> { [ Arabic_zah, Arabic_sukun, none ] }; + key <AB05> { [ Arabic_thal, Arabic_dammatan, none ] }; }; -//////////////////////////////////////// -// Kurdish Layout +// Kurdish layouts partial alphanumeric_keys xkb_symbols "ku" { @@ -201,7 +207,6 @@ xkb_symbols "ku_alt" { name[Group1]= "Kurdish (Iran, Latin Alt-Q)"; }; -//////////////////////////////////////// // Kurdish Soranî Bahdînî (Arabic) keyboard layout, // based on the Kurdî Soranî Bahdînî keyboard from KurdITGroup // which is based on National Iranian Keyboard Standard (ISIRI 2901:1994), @@ -221,59 +226,56 @@ partial alphanumeric_keys xkb_symbols "ku_ara" { name[Group1]= "Kurdish (Iran, Arabic-Latin)"; - // Other 3-Level symbols - key <TLDE> { [ 0x100200d, division, asciitilde ] }; - key <BKSL> { [ backslash, bar, ccedilla, Ccedilla ] }; - - // Digits - key <AE01> { [ 0x1000661, exclam, 1, grave ] }; - key <AE02> { [ 0x1000662, at, 2, at ] }; - key <AE03> { [ 0x1000663, numbersign, 3, 0x100066b ] }; - key <AE04> { [ 0x1000664, dollar, 4, 0x100fdfc ] }; - key <AE05> { [ 0x1000665, percent, 5, 0x100066a ] }; - key <AE06> { [ 0x1000666, asciicircum, 6, multiply ] }; - key <AE07> { [ 0x1000667, ampersand, 7, Arabic_comma ] }; - key <AE08> { [ 0x1000668, asterisk, 8, enfilledcircbullet ] }; - key <AE09> { [ 0x1000669, parenright, 9, 0x100200e ] }; - key <AE10> { [ 0x1000660, parenleft, 0, 0x100200f ] }; - key <AE11> { [ minus, Arabic_tatweel, underscore ] }; - key <AE12> { [ equal, plus, 0x1002212 ] }; - - key <AD01> { [ Arabic_qaf, X, q, Q ] }; - key <AD02> { [ Arabic_waw, X, w, W ] }; - key <AD03> { [ 0x10006d5, Arabic_heh, e, E ] }; - key <AD04> { [ Arabic_ra , 0x1000695, r, R ] }; - key <AD05> { [ Arabic_teh, Arabic_tah, t, T ] }; - key <AD06> { [ 0x10006cc, 0x10006ce, y, Y ] }; - key <AD07> { [ Arabic_hamzaonyeh, Arabic_hamza, u, U ] }; - key <AD08> { [ Arabic_hah, Arabic_ain, i, I ] }; - key <AD09> { [ 0x10006c6, Arabic_hamzaonwaw, o, O ] }; - key <AD10> { [ 0x100067e, Arabic_theh, p, P ] }; - key <AD11> { [ bracketright, braceright, ucircumflex, Ucircumflex ] }; - key <AD12> { [ bracketleft, braceleft, scedilla, Scedilla ] }; - - key <AC01> { [ Arabic_alef, Arabic_maddaonalef, a, A ] }; - key <AC02> { [ Arabic_seen, Arabic_sheen, s, S ] }; - key <AC03> { [ Arabic_dal, Arabic_thal, d, D ] }; - key <AC04> { [ Arabic_feh, Arabic_hamzaunderalef, f, F ] }; - key <AC05> { [ 0x10006af, Arabic_ghain, g, G ] }; - key <AC06> { [ Arabic_heh, 0x100200c, h, H ] }; - key <AC07> { [ 0x1000698, Arabic_hamzaonalef, j, J ] }; - key <AC08> { [ 0x10006a9, Arabic_kaf, k, K ] }; - key <AC09> { [ Arabic_lam, 0x10006b5, l, L ] }; - key <AC10> { [ Arabic_semicolon, colon, ecircumflex, Ecircumflex ] }; - key <AC11> { [ apostrophe, quotedbl, icircumflex, Icircumflex ] }; - - key <AB01> { [ Arabic_zain, Arabic_dad, z, Z ] }; - key <AB02> { [ Arabic_khah, Arabic_sad, x, X ] }; - key <AB03> { [ Arabic_jeem, 0x1000686, c, C ] }; - key <AB04> { [ 0x10006a4, Arabic_zah, v, V ] }; - key <AB05> { [ Arabic_beh, 0x1000649, b, B ] }; - key <AB06> { [ Arabic_noon, Arabic_tehmarbuta, n, N ] }; - key <AB07> { [ Arabic_meem, Arabic_tatweel, m, M ] }; - key <AB08> { [ Arabic_comma, greater, comma ] }; - key <AB09> { [ period, less, apostrophe ] }; - key <AB10> { [ slash, Arabic_question_mark, question ] }; + key <TLDE> { [ U200D, division, asciitilde ] }; // ZWJ + key <AE01> { [ Arabic_1, exclam, 1, grave ] }; + key <AE02> { [ Arabic_2, at, 2, at ] }; + key <AE03> { [ Arabic_3, numbersign, 3, U066B ] }; + key <AE04> { [ Arabic_4, dollar, 4, UFDFC ] }; // Rial sign + key <AE05> { [ Arabic_5, percent, 5, U066A ] }; + key <AE06> { [ Arabic_6, asciicircum, 6, multiply ] }; + key <AE07> { [ Arabic_7, ampersand, 7, Arabic_comma ] }; + key <AE08> { [ Arabic_8, asterisk, 8, enfilledcircbullet ] }; + key <AE09> { [ Arabic_9, parenright, 9, U200E ] }; // LRM + key <AE10> { [ Arabic_0, parenleft, 0, U200F ] }; // RLM + key <AE11> { [ minus, Arabic_tatweel, underscore ] }; + key <AE12> { [ equal, plus, U2212 ] }; // minus sign + + key <AD01> { [ Arabic_qaf, X, q, Q ] }; + key <AD02> { [ Arabic_waw, X, w, W ] }; + key <AD03> { [ U06D5, Arabic_heh, e, E ] }; + key <AD04> { [ Arabic_ra, U0695, r, R ] }; + key <AD05> { [ Arabic_teh, Arabic_tah, t, T ] }; + key <AD06> { [ U06CC, U06CE, y, Y ] }; + key <AD07> { [ Arabic_hamzaonyeh, Arabic_hamza, u, U ] }; + key <AD08> { [ Arabic_hah, Arabic_ain, i, I ] }; + key <AD09> { [ U06C6, Arabic_hamzaonwaw, o, O ] }; + key <AD10> { [ U067E, Arabic_theh, p, P ] }; + key <AD11> { [ bracketright,braceright, ucircumflex, Ucircumflex ] }; + key <AD12> { [ bracketleft, braceleft, scedilla, Scedilla ] }; + + key <AC01> { [ Arabic_alef, Arabic_maddaonalef, a, A ] }; + key <AC02> { [ Arabic_seen, Arabic_sheen, s, S ] }; + key <AC03> { [ Arabic_dal, Arabic_thal, d, D ] }; + key <AC04> { [ Arabic_feh, Arabic_hamzaunderalef, f, F ] }; + key <AC05> { [ U06AF, Arabic_ghain, g, G ] }; + key <AC06> { [ Arabic_heh, U200C, h, H ] }; // ZWNJ + key <AC07> { [ U0698, Arabic_hamzaonalef, j, J ] }; + key <AC08> { [ U06A9, Arabic_kaf, k, K ] }; + key <AC09> { [ Arabic_lam, U06B5, l, L ] }; + key <AC10> { [ Arabic_semicolon, colon, ecircumflex, Ecircumflex ] }; + key <AC11> { [ apostrophe, quotedbl, icircumflex, Icircumflex ] }; + key <BKSL> { [ backslash, bar, ccedilla, Ccedilla ] }; + + key <AB01> { [ Arabic_zain, Arabic_dad, z, Z ] }; + key <AB02> { [ Arabic_khah, Arabic_sad, x, X ] }; + key <AB03> { [ Arabic_jeem, U0686, c, C ] }; + key <AB04> { [ U06A4, Arabic_zah, v, V ] }; + key <AB05> { [ Arabic_beh, U0649, b, B ] }; + key <AB06> { [ Arabic_noon, Arabic_tehmarbuta, n, N ] }; + key <AB07> { [ Arabic_meem, Arabic_tatweel, m, M ] }; + key <AB08> { [ Arabic_comma,greater, comma ] }; + key <AB09> { [ period, less, apostrophe ] }; + key <AB10> { [ slash, Arabic_question_mark, question ] }; include "nbsp(zwnj2nb3)" include "level3(ralt_switch)" |