diff options
Diffstat (limited to 'symbols/ar')
-rw-r--r-- | symbols/ar | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/symbols/ar b/symbols/ar new file mode 100644 index 00000000..373fb6b4 --- /dev/null +++ b/symbols/ar @@ -0,0 +1,142 @@ + +// based on a keyboard map from an 'xkb/symbols/ar' file +// +// $XFree86$ + +partial default alphanumeric_keys +xkb_symbols "basic" { + name[Group1]= "Arabic"; + +// NOTES: +// +// there is also combined shadda diacritis in AltGr position of simple +// diacritics fatha, fathatan, damma, dammatan, kasra and kasratan +// should a third state be added to Group2 ? +// + + key <TLDE> { [ Arabic_thal, Arabic_shadda ] }; + key <AE01> { [ 1, exclam ] }; + key <AE02> { [ 2, at ] }; + key <AE03> { [ 3, numbersign ] }; + key <AE04> { [ 4, dollar ] }; + key <AE05> { [ 5, percent ] }; + key <AE06> { [ 6, asciicircum ] }; + key <AE07> { [ 7, ampersand ] }; + key <AE08> { [ 8, asterisk ] }; + key <AE09> { [ 9, parenleft ] }; + key <AE10> { [ 0, parenright ] }; + key <AE11> { [ minus, underscore ] }; + key <AE12> { [ equal, plus ] }; + + key <AD01> { [ Arabic_dad, Arabic_fatha ] }; + key <AD02> { [ Arabic_sad, Arabic_fathatan ] }; + key <AD03> { [ Arabic_theh, Arabic_damma ] }; + key <AD04> { [ Arabic_qaf, Arabic_dammatan ] }; + key <AD05> { [ Arabic_feh, 0x100fef9 ] }; + key <AD06> { [ Arabic_ghain, Arabic_hamzaunderalef ] }; + key <AD07> { [ Arabic_ain, grave ] }; + key <AD08> { [ Arabic_ha, division ] }; + key <AD09> { [ Arabic_khah, multiply ] }; + key <AD10> { [ Arabic_hah, Arabic_semicolon ] }; + key <AD11> { [ Arabic_jeem, braceleft ] }; + key <AD12> { [ Arabic_dal, braceright ] }; + + key <AC01> { [ Arabic_sheen, backslash ] }; + key <AC02> { [ Arabic_seen, S ] }; + key <AC03> { [ Arabic_yeh, bracketleft ] }; + key <AC04> { [ Arabic_beh, bracketright ] }; + key <AC05> { [ Arabic_lam, 0x100fef7 ] }; + key <AC06> { [ Arabic_alef, Arabic_hamzaonalef ] }; + key <AC07> { [ Arabic_teh, Arabic_tatweel ] }; + key <AC08> { [ Arabic_noon, Arabic_comma ] }; + key <AC09> { [ Arabic_meem, slash ] }; + key <AC10> { [ Arabic_kaf, colon ] }; + key <AC11> { [ Arabic_tah, quotedbl ] }; + key <BKSL> { [ less, greater ] }; + + key <LSGT> { [ bar, brokenbar ] }; + key <AB01> { [Arabic_hamzaonyeh, asciitilde ] }; + key <AB02> { [ Arabic_hamza, Arabic_sukun ] }; + key <AB03> { [Arabic_hamzaonwaw, Arabic_kasra ] }; + key <AB04> { [ Arabic_ra, Arabic_kasratan ] }; + key <AB05> { [ 0x100fefb, 0x100fef5 ] }; + key <AB06> { [Arabic_alefmaksura, Arabic_maddaonalef ] }; + key <AB07> { [Arabic_tehmarbuta, apostrophe ] }; + key <AB08> { [ Arabic_waw, comma ] }; + key <AB09> { [ Arabic_zain, period ] }; + key <AB10> { [ Arabic_zah, Arabic_question_mark ] }; + + // End alphanumeric section +}; + +partial alphanumeric_keys +xkb_symbols "qwerty" { + include "pc/ar(basic)" +}; + +partial alphanumeric_keys +xkb_symbols "azerty" { + include "pc/ar(basic)" + + // the north african arabic keyboard differs from the middle east one + // by the numeric row; it follows French keyboard style + // + // PROBLEM: some chars are inaccessible: ! @ # $ % ^ * + // should they go elsewhere? replace " ' that are now in double ? + // also, dead_circumflex and dead_diaeresis from French keyboard + // as well as ugrave are missing, which questions the utility of the + // other accentuated latin letters. Maybe this is useful only with + // a French keyboard in Group1 ? Then, shouldn't Group1 be filled ? + + key <AE01> { [ ampersand, 1 ] }; + key <AE02> { [ eacute, 2 ] }; + key <AE03> { [ quotedbl, 3 ] }; + key <AE04> { [ apostrophe, 4 ] }; + key <AE05> { [ parenleft, 5 ] }; + key <AE06> { [ minus, 6 ] }; + key <AE07> { [ egrave, 7 ] }; + key <AE08> { [ underscore, 8 ] }; + key <AE09> { [ ccedilla, 9 ] }; + key <AE10> { [ agrave, 0 ] }; + key <AE11> { [ parenright, degree ] }; +}; + +partial alphanumeric_keys +xkb_symbols "digits" { + include "pc/ar(basic)" + + // use arabic script digits + + key <AE01> { [ 0x1000661, exclam ] }; + key <AE02> { [ 0x1000662, at ] }; + key <AE03> { [ 0x1000663, numbersign ] }; + key <AE04> { [ 0x1000664, dollar ] }; + key <AE05> { [ 0x1000665, percent ] }; + key <AE06> { [ 0x1000666, asciicircum ] }; + key <AE07> { [ 0x1000667, ampersand ] }; + key <AE08> { [ 0x1000668, asterisk ] }; + key <AE09> { [ 0x1000669, parenleft ] }; + key <AE10> { [ 0x1000660, parenright ] }; +}; + +partial alphanumeric_keys +xkb_symbols "qwerty_digits" { + include "pc/ar(digits)" +}; + +partial alphanumeric_keys +xkb_symbols "azerty_digits" { + include "pc/ar(azerty)" + + key <AE01> { [ ampersand, 0x1000661 ] }; + key <AE02> { [ eacute, 0x1000662 ] }; + key <AE03> { [ quotedbl, 0x1000663 ] }; + key <AE04> { [ apostrophe, 0x1000664 ] }; + key <AE05> { [ parenleft, 0x1000665 ] }; + key <AE06> { [ minus, 0x1000666 ] }; + key <AE07> { [ egrave, 0x1000667 ] }; + key <AE08> { [ underscore, 0x1000668 ] }; + key <AE09> { [ ccedilla, 0x1000669 ] }; + key <AE10> { [ agrave, 0x1000660 ] }; +}; + |