ara revision 1.1.1.9 1 default partial alphanumeric_keys
2 xkb_symbols "basic" {
3 name[Group1]= "Arabic";
4
5 // NOTES:
6 //
7 // There is also a combined shadda diacritic in the AltGr position of the
8 // simple diacritics fatha, fathatan, damma, dammatan, kasra and kasratan. (??)
9 // Should a third state be added to Group2?
10
11 key <TLDE> { [ Arabic_thal, Arabic_shadda ] };
12 key <AE01> { [ 1, exclam ] };
13 key <AE02> { [ 2, at ] };
14 key <AE03> { [ 3, numbersign ] };
15 key <AE04> { [ 4, dollar ] };
16 key <AE05> { [ 5, percent ] };
17 key <AE06> { [ 6, asciicircum ] };
18 key <AE07> { [ 7, ampersand ] };
19 key <AE08> { [ 8, asterisk ] };
20 key <AE09> { [ 9, parenright ] };
21 key <AE10> { [ 0, parenleft ] };
22 key <AE11> { [ minus, underscore ] };
23 key <AE12> { [ equal, plus ] };
24
25 key <AD01> { [ Arabic_dad, Arabic_fatha ] };
26 key <AD02> { [ Arabic_sad, Arabic_fathatan ] };
27 key <AD03> { [ Arabic_theh, Arabic_damma ] };
28 key <AD04> { [ Arabic_qaf, Arabic_dammatan ] };
29 key <AD05> { [ Arabic_feh, 0x100fef9, 0x10006a4 ] };
30 key <AD06> { [ Arabic_ghain, Arabic_hamzaunderalef] };
31 key <AD07> { [ Arabic_ain, grave ] };
32 key <AD08> { [ Arabic_ha, division ] };
33 key <AD09> { [ Arabic_khah, multiply ] };
34 key <AD10> { [ Arabic_hah, Arabic_semicolon ] };
35 key <AD11> { [ Arabic_jeem, less, 0x1000686 ] };
36 key <AD12> { [ Arabic_dal, greater ] };
37
38 key <AC01> { [ Arabic_sheen, Arabic_kasra ] };
39 key <AC02> { [ Arabic_seen, Arabic_kasratan ] };
40 key <AC03> { [ Arabic_yeh, bracketright ] };
41 key <AC04> { [ Arabic_beh, bracketleft, 0x100067e ] };
42 key <AC05> { [ Arabic_lam, 0x100fef7 ] };
43 // ARABIC LETTER ALEF WASLA on AltGr
44 key <AC06> { [ Arabic_alef, Arabic_hamzaonalef, 0x1000671 ] };
45 key <AC07> { [ Arabic_teh, Arabic_tatweel ] };
46 key <AC08> { [ Arabic_noon, Arabic_comma ] };
47 key <AC09> { [ Arabic_meem, slash ] };
48 key <AC10> { [ Arabic_kaf, colon, 0x10006af ] };
49 key <AC11> { [ Arabic_tah, quotedbl ] };
50
51 key <LSGT> { [ bar, brokenbar ] };
52 key <AB01> { [Arabic_hamzaonyeh, asciitilde, guillemotright ]};
53 key <AB02> { [ Arabic_hamza, Arabic_sukun, guillemotleft ]};
54 key <AB03> { [Arabic_hamzaonwaw, braceright ] };
55 key <AB04> { [ Arabic_ra, braceleft ] };
56 key <AB05> { [ 0x100fefb, 0x100fef5 ] };
57 // ARABIC LETTER SUPERSCRIPT ALEF on AltGr
58 key <AB06> { [Arabic_alefmaksura, Arabic_maddaonalef, 0x1000670 ] };
59 key <AB07> { [Arabic_tehmarbuta, apostrophe ] };
60 key <AB08> { [ Arabic_waw, comma ] };
61 key <AB09> { [ Arabic_zain, period ] };
62 key <AB10> { [ Arabic_zah, Arabic_question_mark ] };
63 };
64
65 partial alphanumeric_keys
66 xkb_symbols "qwerty" {
67 include "ara(basic)"
68 name[Group1]= "Arabic (qwerty)";
69 };
70
71 partial alphanumeric_keys
72 xkb_symbols "azerty" {
73 include "ara(basic)"
74 name[Group1]= "Arabic (azerty)";
75
76 // The North African Arabic keyboard differs from the Middle East one
77 // by the numeric row; it follows French keyboard style.
78 //
79 // PROBLEM: some characters are inaccessible: ! @ # $ % ^ *
80 // Should they go elsewhere? Replacing " ' that are now doubled?
81 // Also, dead_circumflex and dead_diaeresis from French keyboard
82 // as well as ugrave are missing, which questions the utility of the
83 // other accentuated Latin letters. Maybe this is useful only with
84 // a French keyboard in Group1? Then, shouldn't Group1 be filled?
85
86 key <AE01> { [ ampersand, 1 ] };
87 key <AE02> { [ eacute, 2 ] };
88 key <AE03> { [ quotedbl, 3 ] };
89 key <AE04> { [ apostrophe, 4 ] };
90 key <AE05> { [ parenleft, 5 ] };
91 key <AE06> { [ minus, 6 ] };
92 key <AE07> { [ egrave, 7 ] };
93 key <AE08> { [ underscore, 8 ] };
94 key <AE09> { [ ccedilla, 9 ] };
95 key <AE10> { [ agrave, 0 ] };
96 key <AE11> { [ parenright, degree ] };
97 };
98
99 partial hidden alphanumeric_keys
100 xkb_symbols "digits_KP" {
101
102 // Use Arabic-script digits on the keypad.
103
104 key <KP7> { [ KP_Home, 0x1000667 ] };
105 key <KP8> { [ KP_Up, 0x1000668 ] };
106 key <KP9> { [ KP_Prior, 0x1000669 ] };
107
108 key <KP4> { [ KP_Left, 0x1000664 ] };
109 key <KP5> { [ KP_Begin, 0x1000665 ] };
110 key <KP6> { [ KP_Right, 0x1000666 ] };
111
112 key <KP1> { [ KP_End, 0x1000661 ] };
113 key <KP2> { [ KP_Down, 0x1000662 ] };
114 key <KP3> { [ KP_Next, 0x1000663 ] };
115
116 key <KP0> { [ KP_Insert, 0x1000660 ] };
117 };
118
119 partial alphanumeric_keys
120 xkb_symbols "digits" {
121 include "ara(basic)"
122 name[Group1]= "Arabic (digits)";
123
124 // Use Arabic-script digits on the numeric row.
125
126 key <AE01> { [ 0x1000661, exclam ] };
127 key <AE02> { [ 0x1000662, at ] };
128 key <AE03> { [ 0x1000663, numbersign ] };
129 key <AE04> { [ 0x1000664, dollar ] };
130 key <AE05> { [ 0x1000665, Arabic_percent ] };
131 key <AE06> { [ 0x1000666, asciicircum ] };
132 key <AE07> { [ 0x1000667, ampersand ] };
133 key <AE08> { [ 0x1000668, asterisk ] };
134 key <AE09> { [ 0x1000669, parenright ] };
135 key <AE10> { [ 0x1000660, parenleft ] };
136
137 include "ara(digits_KP)"
138 };
139
140 partial alphanumeric_keys
141 xkb_symbols "qwerty_digits" {
142 include "ara(digits)"
143 name[Group1]= "Arabic (qwerty/digits)";
144 };
145
146 partial alphanumeric_keys
147 xkb_symbols "azerty_digits" {
148 include "ara(azerty)"
149 name[Group1]= "Arabic (azerty/digits)";
150
151 key <AE01> { [ ampersand, 0x1000661 ] };
152 key <AE02> { [ eacute, 0x1000662 ] };
153 key <AE03> { [ quotedbl, 0x1000663 ] };
154 key <AE04> { [ apostrophe, 0x1000664 ] };
155 key <AE05> { [ parenleft, 0x1000665 ] };
156 key <AE06> { [ minus, 0x1000666 ] };
157 key <AE07> { [ egrave, 0x1000667 ] };
158 key <AE08> { [ underscore, 0x1000668 ] };
159 key <AE09> { [ ccedilla, 0x1000669 ] };
160 key <AE10> { [ agrave, 0x1000660 ] };
161 };
162
163 // Arabic keyboard using Buckwalter transliteration
164 // http://www.qamus.org/transliteration.htm
165 // Martin Vidner
166
167 partial alphanumeric_keys
168 xkb_symbols "buckwalter" {
169 name[Group1]= "Arabic (Buckwalter)";
170
171 // ARABIC LETTER SUPERSCRIPT ALEF
172 key <TLDE> { [ 0x1000670, Arabic_shadda ] };
173
174 // Arabic_0 .. Arabic_9 do not work in Kate,
175 // Unicode never seems to work worse.
176 key <AE01> { [ 0x1000661, VoidSymbol ] };
177 key <AE02> { [ 0x1000662, VoidSymbol ] };
178 key <AE03> { [ 0x1000663, VoidSymbol ] };
179 key <AE04> { [ 0x1000664, Arabic_sheen ] };
180 key <AE05> { [ 0x1000665, Arabic_percent ] };
181 key <AE06> { [ 0x1000666, VoidSymbol ] };
182 key <AE07> { [ 0x1000667, Arabic_hamzaonwaw ] };
183 key <AE08> { [ 0x1000668, Arabic_thal ] };
184 // ORNATE LEFT PARENTHESIS
185 key <AE09> { [ 0x1000669, 0x100fd3e ] };
186 // ORNATE RIGHT PARENTHESIS
187 key <AE10> { [ 0x1000660, 0x100fd3f ] };
188 key <AE11> { [ minus, Arabic_tatweel ] };
189 key <AE12> { [ equal, plus ] };
190
191 key <AD01> { [ Arabic_qaf, VoidSymbol ] };
192 key <AD02> { [ Arabic_waw, Arabic_hamzaonwaw ] };
193 key <AD03> { [ VoidSymbol, Arabic_ain ] };
194 key <AD04> { [ Arabic_ra, VoidSymbol ] };
195 key <AD05> { [ Arabic_teh, Arabic_tah ] };
196 key <AD06> { [ Arabic_yeh, Arabic_alefmaksura ] };
197 key <AD07> { [ Arabic_damma, VoidSymbol ] };
198 key <AD08> { [ Arabic_kasra, Arabic_hamzaunderalef ] };
199 key <AD09> { [ Arabic_sukun, Arabic_hamzaonalef ] };
200 key <AD10> { [ Arabic_tehmarbuta, VoidSymbol ] };
201 // ARABIC LETTER ALEF WASLA
202 key <AD11> { [ VoidSymbol, 0x1000671 ] };
203 key <AD12> { [ VoidSymbol, Arabic_hamzaonyeh ] };
204
205 key <AC01> { [ Arabic_fatha, Arabic_alef ] };
206 key <AC02> { [ Arabic_seen, Arabic_sad ] };
207 key <AC03> { [ Arabic_dal, Arabic_dad ] };
208 key <AC04> { [ Arabic_feh, Arabic_fathatan ] };
209 key <AC05> { [ Arabic_ghain, VoidSymbol ] };
210 key <AC06> { [ Arabic_ha, Arabic_hah ] };
211 key <AC07> { [ Arabic_jeem, VoidSymbol ] };
212 key <AC08> { [ Arabic_kaf, Arabic_kasratan ] };
213 key <AC09> { [ Arabic_lam, VoidSymbol ] };
214 key <AC10> { [ Arabic_semicolon, VoidSymbol ] };
215 key <AC11> { [ Arabic_hamza, VoidSymbol ] };
216
217 key <BKSL> { [ VoidSymbol, Arabic_maddaonalef ] };
218
219 key <AB01> { [ Arabic_zain, Arabic_zah ] };
220 key <AB02> { [ Arabic_khah, VoidSymbol ] };
221 key <AB03> { [ VoidSymbol, VoidSymbol ] };
222 key <AB04> { [ Arabic_theh, VoidSymbol ] };
223 key <AB05> { [ Arabic_beh, VoidSymbol ] };
224 key <AB06> { [ Arabic_noon, Arabic_dammatan ] };
225 key <AB07> { [ Arabic_meem, VoidSymbol ] };
226 key <AB08> { [ Arabic_comma, Arabic_hamzaunderalef ] };
227 // ARABIC FULL STOP (Urdu)
228 key <AB09> { [ 0x10006d4, Arabic_hamzaonalef ] };
229 key <AB10> { [ VoidSymbol, Arabic_question_mark ] };
230 };
231
232 partial alphanumeric_keys
233 xkb_symbols "olpc" {
234
235 include "ara(basic)"
236
237 // As part of the OLPC design, some changes were made to the Arabic
238 // keyboard design. Major changes are:
239 //
240 // * Removed the lam-alef single character. People type as they
241 // pronounce, and lam-alef is just a visual formatting of the
242 // sequence and is not often used on the keyboard. It is
243 // similar to the Allah single character, which is also not on
244 // the keyboard.
245 // * Moved the following keys:
246 // o Thal from TLDE to AB05: due to space limitation on the
247 // keyboard, but also accessibility.
248 // o Shadda from TLDE to AD05.
249 // * Placed currency letters on number keys and moved the ^ and &
250 // characters to lower keys. (This change is worth revisiting
251 // before end of test period).
252
253 key <TLDE> { [ grave, asciitilde ] };
254
255 key <AE01> { [ 0x1000661, exclam ] };
256 key <AE02> { [ 0x1000662, at ] };
257 key <AE03> { [ 0x1000663, numbersign ] };
258 key <AE04> { [ 0x1000664, dollar ] };
259 key <AE05> { [ 0x1000665, Arabic_percent ] };
260 key <AE06> { [ 0x1000666, sterling ] };
261 key <AE07> { [ 0x1000667, EuroSign ] };
262 key <AE08> { [ 0x1000668, asterisk ] };
263 key <AE09> { [ 0x1000669, parenright ] };
264 key <AE10> { [ 0x1000660, parenleft ] };
265
266 key <AD05> { [ Arabic_feh, Arabic_shadda ] };
267
268 key <AD08> { [ Arabic_heh, division ] };
269 key <AD11> { [ Arabic_jeem, braceright ] };
270 key <AD12> { [ Arabic_dal, braceleft ] };
271
272 key <AC01> { [ Arabic_sheen, greater ] };
273 key <AC02> { [ Arabic_seen, less ] };
274 key <AC05> { [ Arabic_lam, ampersand ] };
275 key <AC10> { [ Arabic_kaf ] };
276 key <AC11> { [ Arabic_tah ] };
277
278 key <BKSL> { [ backslash, bar ] };
279
280 // REH isolated form?
281 key <AB03> { [ Arabic_hamzaonwaw, Arabic_kasra ] };
282 key <AB04> { [ Arabic_ra, Arabic_kasratan ] };
283 key <AB05> { [ Arabic_thal, asciicircum ] };
284
285 include "group(olpc)"
286 };
287
288 partial alphanumeric_keys
289 xkb_symbols "mac" {
290
291 //This is a layout that is compatible with macbooks
292
293 include "ara(digits)"
294 name[Group1]= "Arabic (Macintosh)";
295
296 key <AE11> { [ minus, underscore ] };
297 key <AE12> { [ equal, plus ] };
298
299 key <TLDE> { [ Arabic_tatweel, VoidSymbol ] };
300 key <AD03> { [ Arabic_theh, Arabic_kasra ] };
301 key <AD04> { [ Arabic_qaf, Arabic_kasratan ] };
302 key <AD05> { [ Arabic_feh, Arabic_damma ] };
303 key <AD06> { [ Arabic_ghain, Arabic_dammatan ] };
304 key <AD07> { [ Arabic_ain, Arabic_sukun ] };
305 key <AD08> { [ Arabic_ha, Arabic_shadda ] };
306 key <AD09> { [ Arabic_khah, bracketright ] };
307 key <AD10> { [ Arabic_hah, bracketleft ] };
308 key <AD11> { [ Arabic_jeem, braceright ] };
309 key <AD12> { [Arabic_tehmarbuta, braceleft ] };
310
311 key <AC01> { [ Arabic_sheen, guillemotright ] };
312 key <AC02> { [ Arabic_seen, guillemotleft ] };
313 key <AC03> { [ Arabic_yeh, Arabic_alefmaksura] };
314 key <AC04> { [ Arabic_beh, 0x1000670 ] };
315 key <AC05> { [ Arabic_lam, VoidSymbol ] };
316 key <AC06> { [ Arabic_alef, Arabic_maddaonalef ] };
317 key <AC07> { [ Arabic_teh, 0x1000671 ] };
318 key <AC08> { [ Arabic_noon, VoidSymbol ] };
319 key <AC09> { [ Arabic_meem, VoidSymbol ] };
320 key <AC10> { [ Arabic_kaf, colon ] };
321 key <AC11> { [ Arabic_semicolon, quotedbl ] };
322
323 key <BKSL> { [ backslash, bar ] };
324
325 key <LSGT> { [ Arabic_tatweel, VoidSymbol ] };
326 key <AB01> { [ Arabic_zah, VoidSymbol ] };
327 key <AB02> { [ Arabic_tah, VoidSymbol ] };
328 key <AB03> { [ Arabic_thal, Arabic_hamzaonyeh ] };
329 key <AB04> { [ Arabic_dal, Arabic_hamza ] };
330 key <AB05> { [ Arabic_zain, Arabic_hamzaonalef ] };
331 key <AB06> { [ Arabic_ra, Arabic_hamzaunderalef ] };
332 key <AB07> { [ Arabic_waw, Arabic_hamzaonwaw ] };
333 key <AB08> { [ Arabic_comma, greater ] };
334 key <AB09> { [ period, less ] };
335 key <AB10> { [ slash, Arabic_question_mark ] };
336
337 };
338
339 // EXTRAS:
340
341 partial alphanumeric_keys
342 xkb_symbols "sun_type6" {
343 include "sun_vndr/ara(sun_type6)"
344 };
345