// based on a keyboard map from an 'xkb/symbols/ur' file
// Contact: Nadir Durrani
// E-mail : aquadurrani@hotmail.com
// $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> { [ 0x100064d , 0x100064b ] };
key <AE01> { [ 0x10006F1 , 0x1000021 ] };
key <AE02> { [ 0x10006F2 , 0x1000003 ] };
key <AE03> { [ 0x10006F3 , 0x100002f ] };
key <AE04> { [ 0x10006F4 , 0x1000626 ] };
key <AE05> { [ 0x10006F5 , 0x1000003 ] };
key <AE06> { [ 0x10006F6 , 0x10006d6 ] };
key <AE07> { [ 0x10006F7 , 0x1000654 ] };
key <AE08> { [ 0x10006F8 , 0x100064c ] };
key <AE09> { [ 0x10006F9 , 0x1000029 ] };
key <AE10> { [ 0x10006F0 , 0x1000028 ] };
key <AE11> { [ 0x1000623 , 0x1000651 ] };
key <AE12> { [ 0x1000624 , 0x1000622 ] };
key <AD01> { [ 0x1000642 , 0x1000652 ] };
key <AD02> { [ 0x1000648 , 0x10000a3 ] };
key <AD03> { [ 0x1000639 , 0x10000a5 ] };
key <AD04> { [ 0x1000631 , 0x1000691 ] };
key <AD05> { [ 0x100062a , 0x1000679 ] };
key <AD06> { [ 0x10006d2 , 0x1000601 ] };
key <AD07> { [ 0x1000621 , 0x100060c ] };
key <AD08> { [ 0x10006cc , 0x1000670 ] };
key <AD09> { [ 0x10006c1 , 0x10006c3 ] };
key <AD10> { [ 0x100067e , 0x100064f ] };
key <AD11> { [ 0x100005d , 0x1000670 ] };
key <AD12> { [ 0x100005b , 0x1000670 ] };
key <AC01> { [ 0x1000627 , 0x1000653 ] };
key <AC02> { [ 0x1000633 , 0x1000635 ] };
key <AC03> { [ 0x100062f , 0x1000688 ] };
key <AC04> { [ 0x1000641 , 0x1000003 ] };
key <AC05> { [ 0x10006af , 0x100063a ] };
key <AC06> { [ 0x10006be , 0x100062d ] };
key <AC07> { [ 0x100062c , 0x1000636 ] };
key <AC08> { [ 0x10006a9 , 0x100062e ] };
key <AC09> { [ 0x1000644 , 0x1000613 ] };
key <AC10> { [ 0x100061b , 0x100003a ] };
key <AC11> { [ 0x1000670 , 0x1000022 ] };
key <BKSL> { [ 0x100060e , 0x1000614 ] };
key <LSGT> { [ bar , brokenbar ] };
key <AB01> { [ 0x1000632 , 0x1000630 ] };
key <AB02> { [ 0x1000634 , 0x1000698 ] };
key <AB03> { [ 0x1000686 , 0x100062b ] };
key <AB04> { [ 0x1000637 , 0x1000638 ] };
key <AB05> { [ 0x1000628 , 0x1000612 ] };
key <AB06> { [ 0x1000646 , 0x10006ba ] };
key <AB07> { [ 0x1000645 , 0x1000003 ] };
key <AB08> { [ 0x100060c , 0x1000650 ] };
key <AB09> { [ 0x10006d4 , 0x100064e ] };
key <AB10> { [ 0x1000003 , 0x100061f ] };
// 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 ] };
};