1 // Iranian keyboard layout
3 ////////////////////////////////////////
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
12 // Author: Behnam Esfahbod <behnam@esfahbod.info>
15 partial default alphanumeric_keys
17 name[Group1]= "Persian";
19 include "ir(pes_part_basic)"
20 include "ir(pes_part_ext)"
22 include "nbsp(zwnj2nb3nnb4)"
23 include "level3(ralt_switch)"
27 partial alphanumeric_keys
28 xkb_symbols "pes_keypad" {
29 name[Group1]= "Persian (with Persian Keypad)";
31 include "ir(pes_part_basic)"
32 include "ir(pes_part_keypad)"
34 include "nbsp(zwnj2nb3nnb4)"
35 include "level3(ralt_switch)"
38 partial hidden alphanumeric_keys
39 xkb_symbols "pes_part_basic" {
42 key <AE01> { [ Farsi_1, exclam, quoteleft ] };
43 key <AE02> { [ Farsi_2, 0x100066c, at ] };
44 key <AE03> { [ Farsi_3, 0x100066b, numbersign ] };
45 key <AE04> { [ Farsi_4, 0x100fdfc, dollar ] };
46 key <AE05> { [ Farsi_5, 0x100066a, percent ] };
47 key <AE06> { [ Farsi_6, multiply, asciicircum ] };
48 key <AE07> { [ Farsi_7, Arabic_comma, ampersand ] };
49 key <AE08> { [ Farsi_8, asterisk, enfilledcircbullet ] };
50 key <AE09> { [ Farsi_9, parenright, 0x100200e ] };
51 key <AE10> { [ Farsi_0, parenleft, 0x100200f ] };
53 // Persian letters and symbols
54 key <AD01> { [ Arabic_dad, Arabic_sukun, degree ] };
55 key <AD02> { [ Arabic_sad, Arabic_dammatan, VoidSymbol ] };
56 key <AD03> { [ Arabic_theh, Arabic_kasratan, 0x13a4 ] };
57 key <AD04> { [ Arabic_qaf, Arabic_fathatan, VoidSymbol ] };
58 key <AD05> { [ Arabic_feh, Arabic_damma, VoidSymbol ] };
59 key <AD06> { [ Arabic_ghain, Arabic_kasra, VoidSymbol ] };
60 key <AD07> { [ Arabic_ain, Arabic_fatha, VoidSymbol ] };
61 key <AD08> { [ Arabic_heh, Arabic_shadda, 0x100202d ] };
62 key <AD09> { [ Arabic_khah, bracketright, 0x100202e ] };
63 key <AD10> { [ Arabic_hah, bracketleft, 0x100202c ] };
64 key <AD11> { [ Arabic_jeem, braceright, 0x100202a ] };
65 key <AD12> { [ Arabic_tcheh, braceleft, 0x100202b ] };
67 key <AC01> { [ Arabic_sheen, Arabic_hamzaonwaw, VoidSymbol ] };
68 key <AC02> { [ Arabic_seen, Arabic_hamzaonyeh, VoidSymbol ] };
69 key <AC03> { [ Farsi_yeh, Arabic_yeh, Arabic_alefmaksura ] };
70 key <AC04> { [ Arabic_beh, Arabic_hamzaunderalef, VoidSymbol ] };
71 key <AC05> { [ Arabic_lam, Arabic_hamzaonalef, VoidSymbol ] };
72 key <AC06> { [ Arabic_alef, Arabic_maddaonalef, 0x1000671 ] };
73 key <AC07> { [ Arabic_teh, Arabic_tehmarbuta, VoidSymbol ] };
74 key <AC08> { [ Arabic_noon, guillemotright, 0x100fd3e ] };
75 key <AC09> { [ Arabic_meem, guillemotleft, 0x100fd3f ] };
76 key <AC10> { [ Arabic_keheh, colon, semicolon ] };
77 key <AC11> { [ Arabic_gaf, Arabic_semicolon, quotedbl ] };
79 key <AB01> { [ Arabic_zah, Arabic_kaf, VoidSymbol ] };
80 key <AB02> { [ Arabic_tah, 0x1000653, VoidSymbol ] };
81 key <AB03> { [ Arabic_zain, Arabic_jeh, VoidSymbol ] };
82 key <AB04> { [ Arabic_ra, Arabic_superscript_alef
84 key <AB05> { [ Arabic_thal, 0x100200c, 0x100200d ] };
85 key <AB06> { [ Arabic_dal, Arabic_hamza_above
86 , Arabic_hamza_below ] };
87 key <AB07> { [ Arabic_peh, Arabic_hamza, ellipsis ] };
88 key <AB08> { [ Arabic_waw, greater, comma ] };
89 key <AB09> { [ period, less, apostrophe ] };
90 key <AB10> { [ slash, Arabic_question_mark, question ] };
92 key <TLDE> { [ 0x100200d, division, asciitilde ] };
93 key <AE11> { [ minus, Arabic_tatweel, underscore ] };
94 key <AE12> { [ equal, plus, 0x1002212 ] };
95 key <BKSL> { [ backslash, bar, 0x1002010 ] };
98 partial hidden alphanumeric_keys
99 xkb_symbols "pes_part_ext" {
101 // Persian and ASCII digits
102 key <AE01> { [ 0x10006f1, exclam, quoteleft, 1 ] };
103 key <AE02> { [ 0x10006f2, 0x100066c, at, 2 ] };
104 key <AE03> { [ 0x10006f3, 0x100066b, numbersign, 3 ] };
105 key <AE04> { [ 0x10006f4, 0x100fdfc, dollar, 4 ] };
106 key <AE05> { [ 0x10006f5, 0x100066a, percent, 5 ] };
107 key <AE06> { [ 0x10006f6, multiply, asciicircum, 6 ] };
108 key <AE07> { [ 0x10006f7, Arabic_comma, ampersand, 7 ] };
109 key <AE08> { [ 0x10006f8, asterisk, enfilledcircbullet, 8 ] };
110 key <AE09> { [ 0x10006f9, parenright, 0x100200e, 9 ] };
111 key <AE10> { [ 0x10006f0, parenleft, 0x100200f, 0 ] };
114 partial hidden alphanumeric_keys
115 xkb_symbols "pes_part_keypad" {
117 // Persian digits and Mathematical operators
118 key <KPDV> { [ division, XF86_Ungrab ] };
119 key <KPMU> { [ multiply, XF86_ClearGrab ] };
120 key <KPSU> { [ 0x1002212, XF86_Prev_VMode ] };
121 key <KPAD> { [ plus, XF86_Next_VMode ] };
123 key <KPEN> { [ KP_Enter ] };
124 key <KPEQ> { [ equal ] };
126 key <KP7> { [ KP_Home, 0x10006f7 ] };
127 key <KP8> { [ KP_Up, 0x10006f8 ] };
128 key <KP9> { [ KP_Prior, 0x10006f9 ] };
130 key <KP4> { [ KP_Left, 0x10006f4 ] };
131 key <KP5> { [ KP_Begin, 0x10006f5 ] };
132 key <KP6> { [ KP_Right, 0x10006f6 ] };
134 key <KP1> { [ KP_End, 0x10006f1 ] };
135 key <KP2> { [ KP_Down, 0x10006f2 ] };
136 key <KP3> { [ KP_Next, 0x10006f3 ] };
138 key <KP0> { [ KP_Insert, 0x10006f0 ] };
139 key <KPDL> { [ KP_Delete, 0x100066b ] };
143 ////////////////////////////////////////
146 partial alphanumeric_keys
149 name[Group1]= "Kurdish (Iran, Latin Q)";
152 partial alphanumeric_keys
155 name[Group1]= "Kurdish (Iran, F)";
158 partial alphanumeric_keys
159 xkb_symbols "ku_alt" {
161 name[Group1]= "Kurdish (Iran, Latin Alt-Q)";
164 ////////////////////////////////////////
165 // Kurdish Soranî Bahdînî (Arabic) keyboard layout,
166 // based on the Kurdî Soranî Bahdînî keyboard from KurdITGroup
167 // which is based on National Iranian Keyboard Standard (ISIRI 2901:1994),
170 // Copyright (C) 2006 Erdal Ronahî, published under the GPL v2
172 // Special copyright note: author explicitly permitted to license this
173 // layout under MIT/X11 license, for details see
174 // https://bugs.freedesktop.org/show_bug.cgi?id=9541
176 // Author: Erdal Ronahî <erdal.ronahi@gmail.com>
178 // Kurdish Arabic-Latin Layout for Soranî
180 partial alphanumeric_keys
181 xkb_symbols "ku_ara" {
182 name[Group1]= "Kurdish (Iran, Arabic-Latin)";
184 // Other 3-Level symbols
185 key <TLDE> { [ 0x100200d, division, asciitilde ] };
186 key <BKSL> { [ backslash, bar, ccedilla, Ccedilla ] };
189 key <AE01> { [ 1, exclam, 0x10006f1, quoteleft ] };
190 key <AE02> { [ 2, at, 0x10006f2, at ] };
191 key <AE03> { [ 3, numbersign, 0x10006f3, 0x100066b ] };
192 key <AE04> { [ 4, dollar, 0x10006f4, 0x100fdfc ] };
193 key <AE05> { [ 5, percent, 0x10006f5, 0x100066a ] };
194 key <AE06> { [ 6, asciicircum, 0x10006f6, multiply ] };
195 key <AE07> { [ 7, ampersand, 0x10006f7, Arabic_comma ] };
196 key <AE08> { [ 8, asterisk, 0x10006f8, enfilledcircbullet ] };
197 key <AE09> { [ 9, parenright, 0x10006f9, 0x100200e ] };
198 key <AE10> { [ 0, parenleft, 0x10006f0, 0x100200f ] };
199 key <AE11> { [ minus, Arabic_tatweel, underscore ] };
200 key <AE12> { [ equal, plus, 0x1002212 ] };
202 key <AD01> { [ Arabic_qaf, X, q, Q ] };
203 key <AD02> { [ Arabic_waw, X, w, W ] };
204 key <AD03> { [ 0x10006d5, Arabic_heh, e, E ] };
205 key <AD04> { [ Arabic_ra , 0x1000695, r, R ] };
206 key <AD05> { [ Arabic_teh, Arabic_tah, t, T ] };
207 key <AD06> { [ 0x10006cc, 0x10006ce, y, Y ] };
208 key <AD07> { [ Arabic_hamzaonyeh, Arabic_hamza, u, U ] };
209 key <AD08> { [ Arabic_hah, Arabic_ain, i, I ] };
210 key <AD09> { [ 0x10006c6, Arabic_hamzaonwaw, o, O ] };
211 key <AD10> { [ 0x100067e, Arabic_theh, p, P ] };
212 key <AD11> { [ bracketright, braceright, ucircumflex, Ucircumflex ] };
213 key <AD12> { [ bracketleft, braceleft, scedilla, Scedilla ] };
215 key <AC01> { [ Arabic_alef, Arabic_maddaonalef, a, A ] };
216 key <AC02> { [ Arabic_seen, Arabic_sheen, s, S ] };
217 key <AC03> { [ Arabic_dal, Arabic_thal, d, D ] };
218 key <AC04> { [ Arabic_feh, Arabic_hamzaunderalef, f, F ] };
219 key <AC05> { [ 0x10006af, Arabic_ghain, g, G ] };
220 key <AC06> { [ Arabic_heh, 0x100200c, h, H ] };
221 key <AC07> { [ 0x1000698, Arabic_hamzaonalef, j, J ] };
222 key <AC08> { [ 0x10006a9, Arabic_kaf, k, K ] };
223 key <AC09> { [ Arabic_lam, 0x10006b5, l, L ] };
224 key <AC10> { [ Arabic_semicolon, colon, ecircumflex, Ecircumflex ] };
225 key <AC11> { [ apostrophe, quotedbl, icircumflex, Icircumflex ] };
227 key <AB01> { [ Arabic_zain, Arabic_dad, z, Z ] };
228 key <AB02> { [ Arabic_khah, Arabic_sad, x, X ] };
229 key <AB03> { [ Arabic_jeem, 0x1000686, c, C ] };
230 key <AB04> { [ 0x10006a4, Arabic_zah, v, V ] };
231 key <AB05> { [ Arabic_beh, 0x1000649, b, B ] };
232 key <AB06> { [ Arabic_noon, Arabic_tehmarbuta, n, N ] };
233 key <AB07> { [ Arabic_meem, Arabic_tatweel, m, M ] };
234 key <AB08> { [ Arabic_comma, greater, comma ] };
235 key <AB09> { [ period, less, apostrophe ] };
236 key <AB10> { [ slash, Arabic_question_mark, question ] };
238 include "nbsp(zwnj2nb3)"
239 include "level3(ralt_switch)"
244 /////////////////////////////////////////////////////////////////////////////////
246 // Generated keyboard layout file with the Keyboard Layout Editor.
247 // For more about the software, see http://code.google.com/p/keyboardlayouteditor
249 // Version 0.2, fixed AD09.
251 // Layout by Ernst Tremel, http://ubuntuforums.org/showpost.php?p=9365469&postcount=32
252 // Creation of this file by Simos Xenitellis.
254 partial alphanumeric_keys
257 name[Group1] = "Avestan";
259 key <AB01> { [ U10B30, U10B32 ] }; // 𐬰 𐬲
260 key <AB02> { [ U10B11, U10B12 ] }; // 𐬑 𐬒
261 key <AB03> { [ U10B17, UE102 ] }; // 𐬗
262 key <AB04> { [ U10B2C, U10B13 ] }; // 𐬬 𐬓
263 key <AB05> { [ U10B20, U10B21 ] }; // 𐬠 𐬡
264 key <AB06> { [ U10B25, U10B27 ] }; // 𐬥 𐬧
265 key <AB07> { [ U10B28, U10B29 ] }; // 𐬨 𐬩
266 key <AB08> { [ U10B3C, U10B39 ] }; // 𐬼 𐬹
267 key <AB09> { [ U10B3E, U10B3D ] }; // 𐬾 𐬽
268 key <AB10> { [ U10B3F, periodcentered ] }; // 𐬿 ·
270 key <AC01> { [ U10B00, U10B01 ] }; // 𐬀 𐬁
271 key <AC02> { [ U10B2F, U10B31 ] }; // 𐬯 𐬱
272 key <AC03> { [ U10B1B, U10B1C ] }; // 𐬛 𐬜
273 key <AC04> { [ U10B1F, U10B16 ] }; // 𐬟 𐬖
274 key <AC05> { [ U10B14, U10B15 ] }; // 𐬔 𐬕
275 key <AC06> { [ U10B35, UE100 ] }; // 𐬵
276 key <AC07> { [ U10B18, U10B24 ] }; // 𐬘 𐬤
277 key <AC08> { [ U10B10, UE101 ] }; // 𐬐
278 key <AC09> { [ U10B2E, UE103 ] }; // 𐬮
279 key <AC10> { [ U10B3B, U10B3A ] }; // 𐬻 𐬺
280 key <AC11> { [ U10B1D ] }; // 𐬝
282 key <AD01> { [ U10B22, U10B23 ] }; // 𐬢 𐬣
283 key <AD02> { [ U10B33, U10B34 ] }; // 𐬳 𐬴
284 key <AD03> { [ U10B08, U10B09 ] }; // 𐬈 𐬉
285 key <AD04> { [ U10B2D, U10B26 ] }; // 𐬭 𐬦
286 key <AD05> { [ U10B19, U10B1A ] }; // 𐬙 𐬚
287 key <AD06> { [ U10B2B, U10B2A ] }; // 𐬫 𐬪
288 key <AD07> { [ U10B0E, U10B0F ] }; // 𐬎 𐬏
289 key <AD08> { [ U10B0C, U10B0D ] }; // 𐬌 𐬍
290 key <AD09> { [ U10B0A, U10B0B ] }; // 𐬊 𐬋
291 key <AD10> { [ U10B1E ] }; // 𐬞
292 key <AD11> { [ U10B06, U10B07 ] }; // 𐬆 𐬇
293 key <AD12> { [ U10B02, U10B03 ] }; // 𐬂 𐬃
295 key <AE01> { [ U10B78 ] }; // 𐭸
296 key <AE02> { [ U10B79 ] }; // 𐭹
297 key <AE03> { [ U10B7A ] }; // 𐭺
298 key <AE04> { [ U10B7B ] }; // 𐭻
299 key <AE05> { [ U10B7C ] }; // 𐭼
300 key <AE06> { [ U10B7D ] }; // 𐭽
301 key <AE07> { [ U10B7E ] }; // 𐭾
302 key <AE08> { [ U10B7F ] }; // 𐭿
304 key <BKSL> { [ U10B04, U10B05 ] }; // 𐬄 𐬅
305 key <LSGT> { [ U10B04, U10B05 ] }; // 𐬄 𐬅