ara revision 9184b9c8
1default partial alphanumeric_keys 2xkb_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 65partial alphanumeric_keys 66xkb_symbols "qwerty" { 67 include "ara(basic)" 68 name[Group1]= "Arabic (QWERTY)"; 69}; 70 71partial alphanumeric_keys 72xkb_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 99partial hidden alphanumeric_keys 100xkb_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 119partial alphanumeric_keys 120xkb_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 140partial alphanumeric_keys 141xkb_symbols "qwerty_digits" { 142 include "ara(digits)" 143 name[Group1]= "Arabic (qwerty/digits)"; 144}; 145 146partial alphanumeric_keys 147xkb_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 167partial alphanumeric_keys 168xkb_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 232partial alphanumeric_keys 233xkb_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 288partial alphanumeric_keys 289xkb_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 341partial alphanumeric_keys 342 xkb_symbols "sun_type6" { 343 include "sun_vndr/ara(sun_type6)" 344}; 345