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