This patch is against the latest XKeyboardConfig 1.1 , as your system might be using an older package, I'm attaching the Arabic layout file. Copy it to /usr/share/X11/xkb/symbols/ara (it might differ according to your setup), then restart X. On Thu, Jan 03, 2008 at 11:09:37AM +0400, OMLX wrote: > Thank you Mr. Khaled for the great work. I want to know how to apply > this patches for my system ? I am using CentOS 5 (like RedHat 5). > Thank you > > On 1/2/08, Khaled Hosny <khaledhosny at eglug dot org> wrote: > > I just submitted a patch[1] that removes the various Lam-Alef presentation > > forms from Arabic keyboard layout, this should temporally fix the > > well-known lam-alef problem[2]. To avoid confusing the user, the b, > > shoft-b, shitf-g and shift-t keys in the Arabic keyboard (should produce > > لا, لآ, لأ and لإ respectively) will now produce nothing. > > > > 1. https://bugs.freedesktop.org/show_bug.cgi?id=13894 > > 2. https://bugs.freedesktop.org/show_bug.cgi?id=8195 > > > > -- > > Khaled > > > > > -- > > my blog > > http://omlx.tadwen.com > _______________________________________________ > Developer mailing list > Developer at arabeyes dot org > http://lists.arabeyes.org/mailman/listinfo/developer -- Khaled
// $XKeyboardConfig: xkeyboard-config/symbols/ara,v 1.7 2007-08-07 15:17:56 svu Exp $ // based on a keyboard map from an 'xkb/symbols/ar' file 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, parenright ] }; key <AE10> { [ 0, parenleft ] }; 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, VoidSymbol ] }; 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, less ] }; key <AD12> { [ Arabic_dal, greater ] }; key <AC01> { [ Arabic_sheen, Arabic_kasra ] }; key <AC02> { [ Arabic_seen, Arabic_kasratan ] }; key <AC03> { [ Arabic_yeh, bracketright ] }; key <AC04> { [ Arabic_beh, bracketleft ] }; key <AC05> { [ Arabic_lam, VoidSymbol ] }; 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 <LSGT> { [ bar, brokenbar ] }; key <AB01> { [Arabic_hamzaonyeh, asciitilde ] }; key <AB02> { [ Arabic_hamza, Arabic_sukun ] }; key <AB03> { [Arabic_hamzaonwaw, braceright ] }; key <AB04> { [ Arabic_ra, braceleft ] }; key <AB05> { [ VoidSymbol, VoidSymbol ] }; 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 "ara(basic)" name[Group1]= "Arabic - qwerty"; }; partial alphanumeric_keys xkb_symbols "azerty" { include "ara(basic)" name[Group1]= "Arabic - azerty"; // 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 "ara(basic)" name[Group1]= "Arabic - digits"; // use arabic script digits key <AE01> { [ 0x1000661, exclam ] }; key <AE02> { [ 0x1000662, at ] }; key <AE03> { [ 0x1000663, numbersign ] }; key <AE04> { [ 0x1000664, dollar ] }; key <AE05> { [ 0x1000665, Arabic_percent ] }; key <AE06> { [ 0x1000666, asciicircum ] }; key <AE07> { [ 0x1000667, ampersand ] }; key <AE08> { [ 0x1000668, asterisk ] }; key <AE09> { [ 0x1000669, parenright ] }; key <AE10> { [ 0x1000660, parenleft ] }; }; partial alphanumeric_keys xkb_symbols "qwerty_digits" { include "ara(digits)" name[Group1]= "Arabic - qwerty/digits"; }; partial alphanumeric_keys xkb_symbols "azerty_digits" { include "ara(azerty)" name[Group1]= "Arabic - azerty/digits"; 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 ] }; }; // Arabic keyboard using Buckwalter transliteration // http://www.qamus.org/transliteration.htm // Martin Vidner // symbol names: see /usr/X11R6/include/X11/keysymdef.h (XFree86-devel.rpm) partial alphanumeric_keys xkb_symbols "buckwalter" { name[Group1]= "Arabic - Buckwalter"; // ARABIC LETTER SUPERSCRIPT ALEF key <TLDE> { [ 0x1000670, Arabic_shadda ] }; // Arabic_0 .. Arabic_9 do not work in Kate, // Unicode never seems to work worse. key <AE01> { [ 0x1000661, VoidSymbol ] }; key <AE02> { [ 0x1000662, VoidSymbol ] }; key <AE03> { [ 0x1000663, VoidSymbol ] }; key <AE04> { [ 0x1000664, Arabic_sheen ] }; key <AE05> { [ 0x1000665, Arabic_percent ] }; key <AE06> { [ 0x1000666, VoidSymbol ] }; key <AE07> { [ 0x1000667, Arabic_hamzaonwaw ] }; key <AE08> { [ 0x1000668, Arabic_thal ] }; // ORNATE LEFT PARENTHESIS key <AE09> { [ 0x1000669, 0x100fd3e ] }; // ORNATE RIGHT PARENTHESIS key <AE10> { [ 0x1000660, 0x100fd3f ] }; key <AE11> { [ minus, Arabic_tatweel ] }; key <AE12> { [ equal, plus ] }; key <AD01> { [ Arabic_qaf, VoidSymbol ] }; key <AD02> { [ Arabic_waw, Arabic_hamzaonwaw ] }; key <AD03> { [ VoidSymbol, Arabic_ain ] }; key <AD04> { [ Arabic_ra, VoidSymbol ] }; key <AD05> { [ Arabic_teh, Arabic_tah ] }; key <AD06> { [ Arabic_yeh, Arabic_alefmaksura ] }; key <AD07> { [ Arabic_damma, VoidSymbol ] }; key <AD08> { [ Arabic_kasra, Arabic_hamzaunderalef ] }; key <AD09> { [ Arabic_sukun, Arabic_hamzaonalef ] }; key <AD10> { [ Arabic_tehmarbuta, VoidSymbol ] }; // ARABIC LETTER ALEF WASLA key <AD11> { [ VoidSymbol, 0x1000671 ] }; key <AD12> { [ VoidSymbol, Arabic_hamzaonyeh ] }; key <AC01> { [ Arabic_fatha, Arabic_alef ] }; key <AC02> { [ Arabic_seen, Arabic_sad ] }; key <AC03> { [ Arabic_dal, Arabic_dad ] }; key <AC04> { [ Arabic_feh, Arabic_fathatan ] }; key <AC05> { [ Arabic_ghain, VoidSymbol ] }; key <AC06> { [ Arabic_ha, Arabic_hah ] }; key <AC07> { [ Arabic_jeem, VoidSymbol ] }; key <AC08> { [ Arabic_kaf, Arabic_kasratan ] }; key <AC09> { [ Arabic_lam, VoidSymbol ] }; key <AC10> { [ Arabic_semicolon, VoidSymbol ] }; key <AC11> { [ Arabic_hamza, VoidSymbol ] }; key <BKSL> { [ VoidSymbol, Arabic_maddaonalef ] }; // key <LSGT> { [ bar, brokenbar ] }; key <AB01> { [ Arabic_zain, Arabic_zah ] }; key <AB02> { [ Arabic_khah, VoidSymbol ] }; key <AB03> { [ VoidSymbol, VoidSymbol ] }; key <AB04> { [ Arabic_theh, VoidSymbol ] }; key <AB05> { [ Arabic_beh, VoidSymbol ] }; key <AB06> { [ Arabic_noon, Arabic_dammatan ] }; key <AB07> { [ Arabic_meem, VoidSymbol ] }; key <AB08> { [ Arabic_comma, Arabic_hamzaunderalef ] }; // ARABIC FULL STOP (Urdu) key <AB09> { [ 0x10006d4, Arabic_hamzaonalef ] }; key <AB10> { [ VoidSymbol, Arabic_question_mark ] }; // End alphanumeric section };
Attachment:
signature.asc
Description: Digital signature