1 // Iranian keyboard layout 2 3 //////////////////////////////////////// 4 // Persian layout, 5 // based on 6 // Information Technology Layout of Persian Letters and Symbols on Computer Keyboards 7 // ISIRI 9147 1st Edition 8 // Institute of Standards and Industrial Research of Iran 9 // http://www.isiri.org/UserStd/DownloadStd.aspx?id=9147 10 // http://behnam.esfahbod.info/standards/isiri-keyboard-9147.pdf 11 // 12 // Author: Behnam Esfahbod <behnam (a] esfahbod.info> 13 // 14 15 default partial alphanumeric_keys 16 xkb_symbols "pes" { 17 name[Group1]= "Persian"; 18 19 include "ir(pes_part_basic)" 20 include "ir(pes_part_ext)" 21 22 include "nbsp(zwnj2nb3nnb4)" 23 include "level3(ralt_switch)" 24 }; 25 26 27 partial alphanumeric_keys 28 xkb_symbols "pes_keypad" { 29 name[Group1]= "Persian (with Persian keypad)"; 30 31 include "ir(pes_part_basic)" 32 include "ir(pes_part_ext)" 33 include "ir(pes_part_keypad)" 34 35 include "nbsp(zwnj2nb3nnb4)" 36 include "level3(ralt_switch)" 37 }; 38 39 hidden partial alphanumeric_keys 40 xkb_symbols "pes_part_basic" { 41 42 // Persian digits 43 key <AE01> { [ Farsi_1, exclam, grave ] }; 44 key <AE02> { [ Farsi_2, 0x100066c, at ] }; 45 key <AE03> { [ Farsi_3, 0x100066b, numbersign ] }; 46 key <AE04> { [ Farsi_4, 0x100fdfc, dollar ] }; 47 key <AE05> { [ Farsi_5, 0x100066a, percent ] }; 48 key <AE06> { [ Farsi_6, multiply, asciicircum ] }; 49 key <AE07> { [ Farsi_7, Arabic_comma, ampersand ] }; 50 key <AE08> { [ Farsi_8, asterisk, enfilledcircbullet ] }; 51 key <AE09> { [ Farsi_9, parenright, 0x100200e ] }; 52 key <AE10> { [ Farsi_0, parenleft, 0x100200f ] }; 53 54 // Persian letters and symbols 55 key <AD01> { [ Arabic_dad, Arabic_sukun, degree ] }; 56 key <AD02> { [ Arabic_sad, Arabic_dammatan, VoidSymbol ] }; 57 key <AD03> { [ Arabic_theh, Arabic_kasratan, EuroSign ] }; 58 key <AD04> { [ Arabic_qaf, Arabic_fathatan, VoidSymbol ] }; 59 key <AD05> { [ Arabic_feh, Arabic_damma, VoidSymbol ] }; 60 key <AD06> { [ Arabic_ghain, Arabic_kasra, VoidSymbol ] }; 61 key <AD07> { [ Arabic_ain, Arabic_fatha, VoidSymbol ] }; 62 key <AD08> { [ Arabic_heh, Arabic_shadda, 0x100202d ] }; 63 key <AD09> { [ Arabic_khah, bracketright, 0x100202e ] }; 64 key <AD10> { [ Arabic_hah, bracketleft, 0x100202c ] }; 65 key <AD11> { [ Arabic_jeem, braceright, 0x100202a ] }; 66 key <AD12> { [ Arabic_tcheh, braceleft, 0x100202b ] }; 67 68 key <AC01> { [ Arabic_sheen, Arabic_hamzaonwaw, VoidSymbol ] }; 69 key <AC02> { [ Arabic_seen, Arabic_hamzaonyeh, VoidSymbol ] }; 70 key <AC03> { [ Farsi_yeh, Arabic_yeh, Arabic_alefmaksura ] }; 71 key <AC04> { [ Arabic_beh, Arabic_hamzaunderalef, VoidSymbol ] }; 72 key <AC05> { [ Arabic_lam, Arabic_hamzaonalef, VoidSymbol ] }; 73 key <AC06> { [ Arabic_alef, Arabic_maddaonalef, 0x1000671 ] }; 74 key <AC07> { [ Arabic_teh, Arabic_tehmarbuta, VoidSymbol ] }; 75 key <AC08> { [ Arabic_noon, guillemotright, 0x100fd3e ] }; 76 key <AC09> { [ Arabic_meem, guillemotleft, 0x100fd3f ] }; 77 key <AC10> { [ Arabic_keheh, colon, semicolon ] }; 78 key <AC11> { [ Arabic_gaf, Arabic_semicolon, quotedbl ] }; 79 80 key <AB01> { [ Arabic_zah, Arabic_kaf, VoidSymbol ] }; 81 key <AB02> { [ Arabic_tah, 0x1000653, VoidSymbol ] }; 82 key <AB03> { [ Arabic_zain, Arabic_jeh, VoidSymbol ] }; 83 key <AB04> { [ Arabic_ra, Arabic_superscript_alef,0x1000656 ] }; 84 key <AB05> { [ Arabic_thal, 0x100200c, 0x100200d ] }; 85 key <AB06> { [ Arabic_dal, Arabic_hamza_above, Arabic_hamza_below ] }; 86 key <AB07> { [ Arabic_peh, Arabic_hamza, ellipsis ] }; 87 key <AB08> { [ Arabic_waw, greater, comma ] }; 88 key <AB09> { [ period, less, apostrophe ] }; 89 key <AB10> { [ slash, Arabic_question_mark, question ] }; 90 91 key <TLDE> { [ 0x100200d, division, asciitilde ] }; 92 key <AE11> { [ minus, Arabic_tatweel, underscore ] }; 93 key <AE12> { [ equal, plus, 0x1002212 ] }; 94 key <BKSL> { [ backslash, bar, 0x1002010 ] }; 95 }; 96 97 hidden partial alphanumeric_keys 98 xkb_symbols "pes_part_ext" { 99 100 // Persian and ASCII digits 101 key <AE01> { [ Farsi_1, exclam, grave, 1 ] }; 102 key <AE02> { [ Farsi_2, 0x100066c, at, 2 ] }; 103 key <AE03> { [ Farsi_3, 0x100066b, numbersign, 3 ] }; 104 key <AE04> { [ Farsi_4, 0x100fdfc, dollar, 4 ] }; 105 key <AE05> { [ Farsi_5, 0x100066a, percent, 5 ] }; 106 key <AE06> { [ Farsi_6, multiply, asciicircum, 6 ] }; 107 key <AE07> { [ Farsi_7, Arabic_comma, ampersand, 7 ] }; 108 key <AE08> { [ Farsi_8, asterisk, enfilledcircbullet, 8 ] }; 109 key <AE09> { [ Farsi_9, parenright, 0x100200e, 9 ] }; 110 key <AE10> { [ Farsi_0, parenleft, 0x100200f, 0 ] }; 111 }; 112 113 hidden partial alphanumeric_keys 114 xkb_symbols "pes_part_keypad" { 115 116 // Persian digits and Mathematical operators 117 key <KPDV> { [ division, XF86_Ungrab ] }; 118 key <KPMU> { [ multiply, XF86_ClearGrab ] }; 119 key <KPSU> { [ 0x1002212, XF86_Prev_VMode ] }; 120 key <KPAD> { [ plus, XF86_Next_VMode ] }; 121 122 key <KPEN> { [ KP_Enter ] }; 123 key <KPEQ> { [ equal ] }; 124 125 key <KP7> { [ KP_Home, Farsi_7 ] }; 126 key <KP8> { [ KP_Up, Farsi_8 ] }; 127 key <KP9> { [ KP_Prior, Farsi_9 ] }; 128 129 key <KP4> { [ KP_Left, Farsi_4 ] }; 130 key <KP5> { [ KP_Begin, Farsi_5 ] }; 131 key <KP6> { [ KP_Right, Farsi_6 ] }; 132 133 key <KP1> { [ KP_End, Farsi_1 ] }; 134 key <KP2> { [ KP_Down, Farsi_2 ] }; 135 key <KP3> { [ KP_Next, Farsi_3 ] }; 136 137 key <KP0> { [ KP_Insert, Farsi_0 ] }; 138 key <KPDL> { [ KP_Delete, 0x100066b ] }; 139 }; 140 141 // Symbols definition for South Azerbaijani keyboard layout. 142 // 2022 - Alborz Jafari <alborz.jf (a] gmail.com> 143 144 partial alphanumeric_keys 145 xkb_symbols "azb" 146 { 147 include "ir(pes)" 148 name[Group1]= "Azerbaijani (Iran)"; 149 150 // Letters and symbols for South Azerbaijani 151 key <AD01> { [ Arabic_dad, U06C7, degree ] }; // 152 key <AD02> { [ Arabic_sad, U06C6, Arabic_dammatan ] }; // 153 key <AC03> { [ Farsi_yeh, U063D, Arabic_alefmaksura ] }; // 154 key <AB01> { [ Arabic_zah, Arabic_sukun, VoidSymbol ] }; 155 key <AB05> { [ Arabic_thal, Arabic_dammatan, VoidSymbol ] }; 156 }; 157 158 159 //////////////////////////////////////// 160 // Kurdish Layout 161 162 partial alphanumeric_keys 163 xkb_symbols "ku" { 164 include "tr(ku)" 165 name[Group1]= "Kurdish (Iran, Latin Q)"; 166 }; 167 168 partial alphanumeric_keys 169 xkb_symbols "ku_f" { 170 include "tr(ku_f)" 171 name[Group1]= "Kurdish (Iran, F)"; 172 }; 173 174 partial alphanumeric_keys 175 xkb_symbols "ku_alt" { 176 include "tr(ku_alt)" 177 name[Group1]= "Kurdish (Iran, Latin Alt-Q)"; 178 }; 179 180 //////////////////////////////////////// 181 // Kurdish Soran Bahdn (Arabic) keyboard layout, 182 // based on the Kurd Soran Bahdn keyboard from KurdITGroup 183 // which is based on National Iranian Keyboard Standard (ISIRI 2901:1994), 184 // with additions. 185 // 186 // Copyright (C) 2006 Erdal Ronah, published under the GPL v2 187 // 188 // Special copyright note: author explicitly permitted to license this 189 // layout under MIT/X11 license, for details see 190 // https://bugs.freedesktop.org/show_bug.cgi?id=9541 191 // 192 // Author: Erdal Ronah <erdal.ronahi (a] gmail.com> 193 // 194 // Kurdish Arabic-Latin Layout for Soran 195 196 partial alphanumeric_keys 197 xkb_symbols "ku_ara" { 198 name[Group1]= "Kurdish (Iran, Arabic-Latin)"; 199 200 // Other 3-Level symbols 201 key <TLDE> { [ 0x100200d, division, asciitilde ] }; 202 key <BKSL> { [ backslash, bar, ccedilla, Ccedilla ] }; 203 204 // Digits 205 key <AE01> { [ 0x1000661, exclam, 1, grave ] }; 206 key <AE02> { [ 0x1000662, at, 2, at ] }; 207 key <AE03> { [ 0x1000663, numbersign, 3, 0x100066b ] }; 208 key <AE04> { [ 0x1000664, dollar, 4, 0x100fdfc ] }; 209 key <AE05> { [ 0x1000665, percent, 5, 0x100066a ] }; 210 key <AE06> { [ 0x1000666, asciicircum, 6, multiply ] }; 211 key <AE07> { [ 0x1000667, ampersand, 7, Arabic_comma ] }; 212 key <AE08> { [ 0x1000668, asterisk, 8, enfilledcircbullet ] }; 213 key <AE09> { [ 0x1000669, parenright, 9, 0x100200e ] }; 214 key <AE10> { [ 0x1000660, parenleft, 0, 0x100200f ] }; 215 key <AE11> { [ minus, Arabic_tatweel, underscore ] }; 216 key <AE12> { [ equal, plus, 0x1002212 ] }; 217 218 key <AD01> { [ Arabic_qaf, X, q, Q ] }; 219 key <AD02> { [ Arabic_waw, X, w, W ] }; 220 key <AD03> { [ 0x10006d5, Arabic_heh, e, E ] }; 221 key <AD04> { [ Arabic_ra , 0x1000695, r, R ] }; 222 key <AD05> { [ Arabic_teh, Arabic_tah, t, T ] }; 223 key <AD06> { [ 0x10006cc, 0x10006ce, y, Y ] }; 224 key <AD07> { [ Arabic_hamzaonyeh, Arabic_hamza, u, U ] }; 225 key <AD08> { [ Arabic_hah, Arabic_ain, i, I ] }; 226 key <AD09> { [ 0x10006c6, Arabic_hamzaonwaw, o, O ] }; 227 key <AD10> { [ 0x100067e, Arabic_theh, p, P ] }; 228 key <AD11> { [ bracketright, braceright, ucircumflex, Ucircumflex ] }; 229 key <AD12> { [ bracketleft, braceleft, scedilla, Scedilla ] }; 230 231 key <AC01> { [ Arabic_alef, Arabic_maddaonalef, a, A ] }; 232 key <AC02> { [ Arabic_seen, Arabic_sheen, s, S ] }; 233 key <AC03> { [ Arabic_dal, Arabic_thal, d, D ] }; 234 key <AC04> { [ Arabic_feh, Arabic_hamzaunderalef, f, F ] }; 235 key <AC05> { [ 0x10006af, Arabic_ghain, g, G ] }; 236 key <AC06> { [ Arabic_heh, 0x100200c, h, H ] }; 237 key <AC07> { [ 0x1000698, Arabic_hamzaonalef, j, J ] }; 238 key <AC08> { [ 0x10006a9, Arabic_kaf, k, K ] }; 239 key <AC09> { [ Arabic_lam, 0x10006b5, l, L ] }; 240 key <AC10> { [ Arabic_semicolon, colon, ecircumflex, Ecircumflex ] }; 241 key <AC11> { [ apostrophe, quotedbl, icircumflex, Icircumflex ] }; 242 243 key <AB01> { [ Arabic_zain, Arabic_dad, z, Z ] }; 244 key <AB02> { [ Arabic_khah, Arabic_sad, x, X ] }; 245 key <AB03> { [ Arabic_jeem, 0x1000686, c, C ] }; 246 key <AB04> { [ 0x10006a4, Arabic_zah, v, V ] }; 247 key <AB05> { [ Arabic_beh, 0x1000649, b, B ] }; 248 key <AB06> { [ Arabic_noon, Arabic_tehmarbuta, n, N ] }; 249 key <AB07> { [ Arabic_meem, Arabic_tatweel, m, M ] }; 250 key <AB08> { [ Arabic_comma, greater, comma ] }; 251 key <AB09> { [ period, less, apostrophe ] }; 252 key <AB10> { [ slash, Arabic_question_mark, question ] }; 253 254 include "nbsp(zwnj2nb3)" 255 include "level3(ralt_switch)" 256 }; 257 258 // EXTRAS: 259 260 ///////////////////////////////////////////////////////////////////////////////// 261 // 262 // Generated keyboard layout file with the Keyboard Layout Editor. 263 // For more about the software, see http://code.google.com/p/keyboardlayouteditor 264 // 265 // Version 0.2, fixed AD09. 266 // 267 // Layout by Ernst Tremel, http://ubuntuforums.org/showpost.php?p=9365469&postcount=32 268 // Creation of this file by Simos Xenitellis. 269 270 partial alphanumeric_keys 271 xkb_symbols "ave" 272 { 273 name[Group1] = "Avestan"; 274 275 key <AB01> { [ U10B30, U10B32 ] }; // 276 key <AB02> { [ U10B11, U10B12 ] }; // 277 key <AB03> { [ U10B17, UE102 ] }; // 278 key <AB04> { [ U10B2C, U10B13 ] }; // 279 key <AB05> { [ U10B20, U10B21 ] }; // 280 key <AB06> { [ U10B25, U10B27 ] }; // 281 key <AB07> { [ U10B28, U10B29 ] }; // 282 key <AB08> { [ U10B3C, U10B39 ] }; // 283 key <AB09> { [ U10B3E, U10B3D ] }; // 284 key <AB10> { [ U10B3F, periodcentered ] }; // 285 286 key <AC01> { [ U10B00, U10B01 ] }; // 287 key <AC02> { [ U10B2F, U10B31 ] }; // 288 key <AC03> { [ U10B1B, U10B1C ] }; // 289 key <AC04> { [ U10B1F, U10B16 ] }; // 290 key <AC05> { [ U10B14, U10B15 ] }; // 291 key <AC06> { [ U10B35, UE100 ] }; // 292 key <AC07> { [ U10B18, U10B24 ] }; // 293 key <AC08> { [ U10B10, UE101 ] }; // 294 key <AC09> { [ U10B2E, UE103 ] }; // 295 key <AC10> { [ U10B3B, U10B3A ] }; // 296 key <AC11> { [ U10B1D ] }; // 297 298 key <AD01> { [ U10B22, U10B23 ] }; // 299 key <AD02> { [ U10B33, U10B34 ] }; // 300 key <AD03> { [ U10B08, U10B09 ] }; // 301 key <AD04> { [ U10B2D, U10B26 ] }; // 302 key <AD05> { [ U10B19, U10B1A ] }; // 303 key <AD06> { [ U10B2B, U10B2A ] }; // 304 key <AD07> { [ U10B0E, U10B0F ] }; // 305 key <AD08> { [ U10B0C, U10B0D ] }; // 306 key <AD09> { [ U10B0A, U10B0B ] }; // 307 key <AD10> { [ U10B1E ] }; // 308 key <AD11> { [ U10B06, U10B07 ] }; // 309 key <AD12> { [ U10B02, U10B03 ] }; // 310 311 key <AE01> { [ U10B78 ] }; // 312 key <AE02> { [ U10B79 ] }; // 313 key <AE03> { [ U10B7A ] }; // 314 key <AE04> { [ U10B7B ] }; // 315 key <AE05> { [ U10B7C ] }; // 316 key <AE06> { [ U10B7D ] }; // 317 key <AE07> { [ U10B7E ] }; // 318 key <AE08> { [ U10B7F ] }; // 319 320 key <BKSL> { [ U10B04, U10B05 ] }; // 321 key <LSGT> { [ U10B04, U10B05 ] }; // 322 }; 323