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