// 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 { [ 0x100064d , 0x100064b ] }; key { [ 0x1000031 , 0x1000021 ] }; key { [ 0x1000032 , 0x100066C ] }; key { [ 0x1000033 , 0x1000600 ] }; key { [ 0x1000034 , 0x1000626 ] }; key { [ 0x1000035 , 0x1000003 ] }; key { [ 0x1000036 , 0x10006d6 ] }; key { [ 0x1000037 , 0x1000654 ] }; key { [ 0x1000038 , 0x100064c ] }; key { [ 0x1000039 , 0x1000029 ] }; key { [ 0x1000030 , 0x1000028 ] }; key { [ 0x1000623 , 0x1000651 ] }; key { [ 0x1000624 , 0x1000622 ] }; key { [ 0x1000642 , 0x1000652 ] }; key { [ 0x1000648 , 0x1000624 ] }; key { [ 0x1000639 , 0x1000651 ] }; key { [ 0x1000631 , 0x1000691 ] }; key { [ 0x100062a , 0x1000679 ] }; key { [ 0x10006d2 , 0x1000601 ] }; key { [ 0x1000626 , 0x1000621 ] }; key { [ 0x10006cc , 0x1000670 ] }; key { [ 0x10006c1 , 0x10006c3 ] }; key { [ 0x100067e , 0x100064f ] }; key { [ 0x100005d , 0x1000670 ] }; key { [ 0x100005b , 0x1000670 ] }; key { [ 0x1000627 , 0x1000622 ] }; key { [ 0x1000633 , 0x1000635 ] }; key { [ 0x100062f , 0x1000688 ] }; key { [ 0x1000641 , 0x1000003 ] }; key { [ 0x10006af , 0x100063a ] }; key { [ 0x10006be , 0x100062d ] }; key { [ 0x100062c , 0x1000636 ] }; key { [ 0x10006a9 , 0x100062e ] }; key { [ 0x1000644 , 0x1000613 ] }; key { [ 0x100061b , 0x100003a ] }; key { [ 0x1000670 , 0x1000022 ] }; key { [ 0x100060e , 0x1000614 ] }; key { [ bar , brokenbar ] }; key { [ 0x1000632 , 0x1000630 ] }; key { [ 0x1000634 , 0x1000698 ] }; key { [ 0x1000686 , 0x100062b ] }; key { [ 0x1000637 , 0x1000638 ] }; key { [ 0x1000628 , 0x1000612 ] }; key { [ 0x1000646 , 0x10006ba ] }; key { [ 0x1000645 , 0x1000003 ] }; key { [ 0x100060c , 0x1000650 ] }; key { [ 0x10006d4 , 0x100064e ] }; key { [ 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 { [ ampersand, 1 ] }; key { [ eacute, 2 ] }; key { [ quotedbl, 3 ] }; key { [ apostrophe, 4 ] }; key { [ parenleft, 5 ] }; key { [ minus, 6 ] }; key { [ egrave, 7 ] }; key { [ underscore, 8 ] }; key { [ ccedilla, 9 ] }; key { [ agrave, 0 ] }; key { [ parenright, degree ] }; }; partial alphanumeric_keys xkb_symbols "digits" { include "pc/ar(basic)" // use arabic script digits key { [ 0x1000661, exclam ] }; key { [ 0x1000662, at ] }; key { [ 0x1000663, numbersign ] }; key { [ 0x1000664, dollar ] }; key { [ 0x1000665, percent ] }; key { [ 0x1000666, asciicircum ] }; key { [ 0x1000667, ampersand ] }; key { [ 0x1000668, asterisk ] }; key { [ 0x1000669, parenleft ] }; key { [ 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 { [ ampersand, 0x1000661 ] }; key { [ eacute, 0x1000662 ] }; key { [ quotedbl, 0x1000663 ] }; key { [ apostrophe, 0x1000664 ] }; key { [ parenleft, 0x1000665 ] }; key { [ minus, 0x1000666 ] }; key { [ egrave, 0x1000667 ] }; key { [ underscore, 0x1000668 ] }; key { [ ccedilla, 0x1000669 ] }; key { [ agrave, 0x1000660 ] }; };