ir revision 5a35480e
1// $XKeyboardConfig$ 2// Iranian keyboard layout, 3// based on National Iranian Keyboard Standard (ISIRI 2901:1994), 4// with additions. 5// 6// Author: Behnam Esfahbod <behnam@esfahbod.info> 7// 8 9 10// 3-Level layout 11 12partial default alphanumeric_keys 13xkb_symbols "basic" { 14 name[Group1]= "Iran"; 15 16 // Persian digits 17 key <AE01> { [ 0x10006f1, exclam, quoteleft ] }; 18 key <AE02> { [ 0x10006f2, 0x100066c, at ] }; 19 key <AE03> { [ 0x10006f3, 0x100066b, numbersign ] }; 20 key <AE04> { [ 0x10006f4, 0x100fdfc, dollar ] }; 21 key <AE05> { [ 0x10006f5, 0x100066a, percent ] }; 22 key <AE06> { [ 0x10006f6, multiply, asciicircum ] }; 23 key <AE07> { [ 0x10006f7, Arabic_comma, ampersand ] }; 24 key <AE08> { [ 0x10006f8, asterisk, enfilledcircbullet ] }; 25 key <AE09> { [ 0x10006f9, parenright, 0x100200e ] }; 26 key <AE10> { [ 0x10006f0, parenleft, 0x100200f ] }; 27 28 // Other 3-Level symbols 29 key <TLDE> { [ 0x100200d, division, asciitilde ] }; 30 key <AE11> { [ minus, Arabic_tatweel, underscore ] }; 31 key <AE12> { [ equal, plus, 0x1002212 ] }; 32 key <BKSL> { [ backslash, bar, 0x1002010 ] }; 33 key <SPCE> { [ space, 0x100200c, nobreakspace ] }; 34 35 key <AD01> { [ Arabic_dad, Arabic_sukun, degree ] }; 36 key <AD02> { [ Arabic_sad, Arabic_dammatan, VoidSymbol ] }; 37 key <AD03> { [ Arabic_theh, Arabic_kasratan, 0x13a4 ] }; 38 key <AD04> { [ Arabic_qaf, Arabic_fathatan, VoidSymbol ] }; 39 key <AD05> { [ Arabic_feh, Arabic_damma, VoidSymbol ] }; 40 key <AD06> { [ Arabic_ghain, Arabic_kasra, VoidSymbol ] }; 41 key <AD07> { [ Arabic_ain, Arabic_fatha, VoidSymbol ] }; 42 key <AD08> { [ Arabic_heh, Arabic_shadda, 0x100202d ] }; 43 key <AD09> { [ Arabic_khah, bracketright, 0x100202e ] }; 44 key <AD10> { [ Arabic_hah, bracketleft, 0x100202c ] }; 45 key <AD11> { [ Arabic_jeem, braceright, 0x100202a ] }; 46 key <AD12> { [ 0x1000686, braceleft, 0x100202b ] }; 47 48 key <AC01> { [ Arabic_sheen, Arabic_hamzaonwaw, VoidSymbol ] }; 49 key <AC02> { [ Arabic_seen, Arabic_hamzaonyeh, VoidSymbol ] }; 50 key <AC03> { [ 0x10006cc, Arabic_yeh, Arabic_alefmaksura ] }; 51 key <AC04> { [ Arabic_beh, Arabic_hamzaunderalef, VoidSymbol ] }; 52 key <AC05> { [ Arabic_lam, Arabic_hamzaonalef, VoidSymbol ] }; 53 key <AC06> { [ Arabic_alef, Arabic_maddaonalef, 0x1000671 ] }; 54 key <AC07> { [ Arabic_teh, Arabic_tehmarbuta, VoidSymbol ] }; 55 key <AC08> { [ Arabic_noon, guillemotright, 0x100fd3e ] }; 56 key <AC09> { [ Arabic_meem, guillemotleft, 0x100fd3f ] }; 57 key <AC10> { [ 0x10006a9, colon, semicolon ] }; 58 key <AC11> { [ 0x10006af, Arabic_semicolon, quotedbl ] }; 59 60 key <AB01> { [ Arabic_zah, Arabic_kaf, VoidSymbol ] }; 61 key <AB02> { [ Arabic_tah, 0x1000653, VoidSymbol ] }; 62 key <AB03> { [ Arabic_zain, 0x1000698, VoidSymbol ] }; 63 key <AB04> { [ Arabic_ra, 0x1000670, 0x1000656 ] }; 64 key <AB05> { [ Arabic_thal, 0x100200c, 0x100200d ] }; 65 key <AB06> { [ Arabic_dal, 0x1000654, 0x1000655 ] }; 66 key <AB07> { [ 0x100067e, Arabic_hamza, ellipsis ] }; 67 key <AB08> { [ Arabic_waw, greater, comma ] }; 68 key <AB09> { [ period, less, apostrophe ] }; 69 key <AB10> { [ slash, Arabic_question_mark, question ] }; 70 71 include "level3(ralt_switch)" 72}; 73 74 75partial hidden alphanumeric_keys 76xkb_symbols "part_pro" { 77 78 // Persian and English (ASCII) digits 79 key <AE01> { [ 0x10006f1, exclam, quoteleft, 1 ] }; 80 key <AE02> { [ 0x10006f2, 0x100066c, at, 2 ] }; 81 key <AE03> { [ 0x10006f3, 0x100066b, numbersign, 3 ] }; 82 key <AE04> { [ 0x10006f4, 0x100fdfc, dollar, 4 ] }; 83 key <AE05> { [ 0x10006f5, 0x100066a, percent, 5 ] }; 84 key <AE06> { [ 0x10006f6, multiply, asciicircum, 6 ] }; 85 key <AE07> { [ 0x10006f7, Arabic_comma, ampersand, 7 ] }; 86 key <AE08> { [ 0x10006f8, asterisk, enfilledcircbullet, 8 ] }; 87 key <AE09> { [ 0x10006f9, parenright, 0x100200e, 9 ] }; 88 key <AE10> { [ 0x10006f0, parenleft, 0x100200f, 0 ] }; 89}; 90 91partial hidden alphanumeric_keys 92xkb_symbols "part_keypad" { 93 94 // Persian digits and Mathematical operators 95 key <KPDV> { [ division, XF86_Ungrab ] }; 96 key <KPMU> { [ multiply, XF86_ClearGrab ] }; 97 key <KPSU> { [ 0x1002212, XF86_Prev_VMode ] }; 98 key <KPAD> { [ plus, XF86_Next_VMode ] }; 99 100 key <KPEN> { [ KP_Enter ] }; 101 key <KPEQ> { [ equal ] }; 102 103 key <KP7> { [ KP_Home, 0x10006f7 ] }; 104 key <KP8> { [ KP_Up, 0x10006f8 ] }; 105 key <KP9> { [ KP_Prior, 0x10006f9 ] }; 106 107 key <KP4> { [ KP_Left, 0x10006f4 ] }; 108 key <KP5> { [ KP_Begin, 0x10006f5 ] }; 109 key <KP6> { [ KP_Right, 0x10006f6 ] }; 110 111 key <KP1> { [ KP_End, 0x10006f1 ] }; 112 key <KP2> { [ KP_Down, 0x10006f2 ] }; 113 key <KP3> { [ KP_Next, 0x10006f3 ] }; 114 115 key <KP0> { [ KP_Insert, 0x10006f0 ] }; 116 key <KPDL> { [ KP_Delete, 0x100066b ] }; 117}; 118 119// 4-Level leyout 120 121partial alphanumeric_keys 122xkb_symbols "pro" { 123 include "ir(basic)" 124 include "ir(part_pro)" 125 126 name[Group1]= "Iran - Pro"; 127}; 128 129 130// Persian Keypad leyout 131 132partial alphanumeric_keys 133xkb_symbols "keypad" { 134 include "ir(basic)" 135 include "ir(part_keypad)" 136 137 name[Group1]= "Iran - Keypad"; 138}; 139 140 141// 4-Level leyout with Persian Keypad leyout 142 143partial alphanumeric_keys 144xkb_symbols "pro_keypad" { 145 include "ir(basic)" 146 include "ir(part_keypad)" 147 include "ir(part_pro)" 148 149 name[Group1]= "Iran - Pro Keypad"; 150 151}; 152 153partial alphanumeric_keys 154xkb_symbols "ku" { 155 include "tr(ku)" 156 name[Group1]= "Iran - Kurdish, Latin Q"; 157}; 158 159partial alphanumeric_keys 160xkb_symbols "ku_f" { 161 include "tr(ku_f)" 162 name[Group1]= "Iran - Kurdish, (F)"; 163}; 164 165partial alphanumeric_keys 166xkb_symbols "ku_alt" { 167 include "tr(ku_alt)" 168 name[Group1]= "Iran - Kurdish, Latin Alt-Q"; 169}; 170 171// Kurdish Soranî Bahdînî (Arabic) keyboard layout, 172// based on the Kurdî Soranî Bahdînî keyboard from KurdITGroup 173// which is based on National Iranian Keyboard Standard (ISIRI 2901:1994), 174// with additions. 175// 176// Copyright (C) 2006 Erdal Ronahî, published under the GPL v2 177// 178// Special copyright note: author explicitly permitted to license this 179// layout under MIT/X11 license, for details see 180// https://bugs.freedesktop.org/show_bug.cgi?id=9541 181// 182// Author: Erdal Ronahî <erdal.ronahi@gmail.com> 183// 184// Kurdish Arabic-Latin Layout for Soranî 185partial alphanumeric_keys 186xkb_symbols "ku_ara" { 187 name[Group1]= "Iran - Kurdish, Arabic-Latin"; 188 189 // Other 3-Level symbols 190 key <TLDE> { [ 0x100200d, division, asciitilde ] }; 191 key <BKSL> { [ backslash, bar, ccedilla, Ccedilla ] }; 192 key <SPCE> { [ space, 0x100200c, nobreakspace ] }; 193 194 // Digits 195 key <AE01> { [ 1, exclam, 0x10006f1, quoteleft ] }; 196 key <AE02> { [ 2, at, 0x10006f2, at ] }; 197 key <AE03> { [ 3, numbersign, 0x10006f3, 0x100066b ] }; 198 key <AE04> { [ 4, dollar, 0x10006f4, 0x100fdfc ] }; 199 key <AE05> { [ 5, percent, 0x10006f5, 0x100066a ] }; 200 key <AE06> { [ 6, asciicircum, 0x10006f6, multiply ] }; 201 key <AE07> { [ 7, ampersand, 0x10006f7, Arabic_comma ] }; 202 key <AE08> { [ 8, asterisk, 0x10006f8, enfilledcircbullet ] }; 203 key <AE09> { [ 9, parenright, 0x10006f9, 0x100200e ] }; 204 key <AE10> { [ 0, parenleft, 0x10006f0, 0x100200f ] }; 205 key <AE11> { [ minus, Arabic_tatweel, underscore ] }; 206 key <AE12> { [ equal, plus, 0x1002212 ] }; 207 208 key <AD01> { [ Arabic_qaf, X, q, Q ] }; 209 key <AD02> { [ Arabic_waw, X, w, W ] }; 210 key <AD03> { [ 0x10006d5, Arabic_heh, e, E ] }; 211 key <AD04> { [ Arabic_ra , 0x1000695, r, R ] }; 212 key <AD05> { [ Arabic_teh, Arabic_tah, t, T ] }; 213 key <AD06> { [ 0x10006cc, 0x10006ce, y, Y ] }; 214 key <AD07> { [ Arabic_hamzaonyeh, Arabic_hamza, u, U ] }; 215 key <AD08> { [ Arabic_hah, Arabic_ain, i, I ] }; 216 key <AD09> { [ 0x10006c6, Arabic_hamzaonwaw, o, O ] }; 217 key <AD10> { [ 0x100067e, Arabic_theh, p, P ] }; 218 key <AD11> { [ bracketright, braceright, ucircumflex, Ucircumflex ] }; 219 key <AD12> { [ bracketleft, braceleft, scedilla, Scedilla ] }; 220 221 key <AC01> { [ Arabic_alef, Arabic_maddaonalef, a, A ] }; 222 key <AC02> { [ Arabic_seen, Arabic_sheen, s, S ] }; 223 key <AC03> { [ Arabic_dal, Arabic_thal, d, D ] }; 224 key <AC04> { [ Arabic_feh, Arabic_hamzaunderalef, f, F ] }; 225 key <AC05> { [ 0x10006af, Arabic_ghain, g, G ] }; 226 key <AC06> { [ Arabic_heh, 0x100200c, h, H ] }; 227 key <AC07> { [ 0x1000698, Arabic_hamzaonalef, j, J ] }; 228 key <AC08> { [ 0x10006a9, Arabic_kaf, k, K ] }; 229 key <AC09> { [ Arabic_lam, 0x10006b5, l, L ] }; 230 key <AC10> { [ Arabic_semicolon, colon, ecircumflex, Ecircumflex ] }; 231 key <AC11> { [ apostrophe, quotedbl, icircumflex, Icircumflex ] }; 232 233 key <AB01> { [ Arabic_zain, Arabic_dad, z, Z ] }; 234 key <AB02> { [ Arabic_khah, Arabic_sad, x, X ] }; 235 key <AB03> { [ Arabic_jeem, 0x1000686, c, C ] }; 236 key <AB04> { [ 0x10006a4, Arabic_zah, v, V ] }; 237 key <AB05> { [ Arabic_beh, 0x1000649, b, B ] }; 238 key <AB06> { [ Arabic_noon, Arabic_tehmarbuta, n, N ] }; 239 key <AB07> { [ Arabic_meem, Arabic_tatweel, m, M ] }; 240 key <AB08> { [ Arabic_comma, greater, comma ] }; 241 key <AB09> { [ period, less, apostrophe ] }; 242 key <AB10> { [ slash, Arabic_question_mark, question ] }; 243 244 include "level3(ralt_switch)" 245 246}; 247