// IBM_PROLOG_BEGIN_TAG // This is an automatically generated prolog. // // gos720 src/gos/2d/XTOP_R7/data/xkeyboard-config/symbols/ara 1.1.1.1 // // Licensed Materials - Property of IBM // // COPYRIGHT International Business Machines Corp. 2007,2011 // All Rights Reserved // // US Government Users Restricted Rights - Use, duplication or // disclosure restricted by GSA ADP Schedule Contract with IBM Corp. // // IBM_PROLOG_END_TAG // $XKeyboardConfig: xkbdesc/symbols/ara,v 1.6 2006/09/18 13:25:31 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 { [ Arabic_thal, Arabic_shadda ] }; key { [ 1, exclam ] }; key { [ 2, at ] }; key { [ 3, numbersign ] }; key { [ 4, dollar ] }; key { [ 5, percent ] }; key { [ 6, asciicircum ] }; key { [ 7, ampersand ] }; key { [ 8, asterisk ] }; key { [ 9, parenright ] }; key { [ 0, parenleft ] }; key { [ minus, underscore ] }; key { [ equal, plus ] }; key { [ Arabic_dad, Arabic_fatha ] }; key { [ Arabic_sad, Arabic_fathatan ] }; key { [ Arabic_theh, Arabic_damma ] }; key { [ Arabic_qaf, Arabic_dammatan ] }; key { [ Arabic_feh, 0x100fef9 ] }; key { [ Arabic_ghain, Arabic_hamzaunderalef ] }; key { [ Arabic_ain, grave ] }; key { [ Arabic_ha, division ] }; key { [ Arabic_khah, multiply ] }; key { [ Arabic_hah, Arabic_semicolon ] }; key { [ Arabic_jeem, less ] }; key { [ Arabic_dal, greater ] }; key { [ Arabic_sheen, Arabic_kasra ] }; key { [ Arabic_seen, Arabic_kasratan ] }; key { [ Arabic_yeh, bracketright ] }; key { [ Arabic_beh, bracketleft ] }; key { [ Arabic_lam, 0x100fef7 ] }; key { [ Arabic_alef, Arabic_hamzaonalef ] }; key { [ Arabic_teh, Arabic_tatweel ] }; key { [ Arabic_noon, Arabic_comma ] }; key { [ Arabic_meem, slash ] }; key { [ Arabic_kaf, colon ] }; key { [ Arabic_tah, quotedbl ] }; key { [ bar, brokenbar ] }; key { [Arabic_hamzaonyeh, asciitilde ] }; key { [ Arabic_hamza, Arabic_sukun ] }; key { [Arabic_hamzaonwaw, braceright ] }; key { [ Arabic_ra, braceleft ] }; key { [ 0x100fefb, 0x100fef5 ] }; key { [Arabic_alefmaksura, Arabic_maddaonalef ] }; key { [Arabic_tehmarbuta, apostrophe ] }; key { [ Arabic_waw, comma ] }; key { [ Arabic_zain, period ] }; key { [ 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 { [ 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 "ara(basic)" name[Group1]= "Arabic - digits"; // use arabic script digits key { [ 0x1000661, exclam ] }; key { [ 0x1000662, at ] }; key { [ 0x1000663, numbersign ] }; key { [ 0x1000664, dollar ] }; key { [ 0x1000665, Arabic_percent ] }; key { [ 0x1000666, asciicircum ] }; key { [ 0x1000667, ampersand ] }; key { [ 0x1000668, asterisk ] }; key { [ 0x1000669, parenright ] }; key { [ 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 { [ 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 ] }; }; // 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 { [ 0x1000670, Arabic_shadda ] }; // Arabic_0 .. Arabic_9 do not work in Kate, // Unicode never seems to work worse. key { [ 0x1000661, VoidSymbol ] }; key { [ 0x1000662, VoidSymbol ] }; key { [ 0x1000663, VoidSymbol ] }; key { [ 0x1000664, Arabic_sheen ] }; key { [ 0x1000665, Arabic_percent ] }; key { [ 0x1000666, VoidSymbol ] }; key { [ 0x1000667, Arabic_hamzaonwaw ] }; key { [ 0x1000668, Arabic_thal ] }; // ORNATE LEFT PARENTHESIS key { [ 0x1000669, 0x100fd3e ] }; // ORNATE RIGHT PARENTHESIS key { [ 0x1000660, 0x100fd3f ] }; key { [ minus, Arabic_tatweel ] }; key { [ equal, plus ] }; key { [ Arabic_qaf, VoidSymbol ] }; key { [ Arabic_waw, Arabic_hamzaonwaw ] }; key { [ VoidSymbol, Arabic_ain ] }; key { [ Arabic_ra, VoidSymbol ] }; key { [ Arabic_teh, Arabic_tah ] }; key { [ Arabic_yeh, Arabic_alefmaksura ] }; key { [ Arabic_damma, VoidSymbol ] }; key { [ Arabic_kasra, Arabic_hamzaunderalef ] }; key { [ Arabic_sukun, Arabic_hamzaonalef ] }; key { [ Arabic_tehmarbuta, VoidSymbol ] }; // ARABIC LETTER ALEF WASLA key { [ VoidSymbol, 0x1000671 ] }; key { [ VoidSymbol, Arabic_hamzaonyeh ] }; key { [ Arabic_fatha, Arabic_alef ] }; key { [ Arabic_seen, Arabic_sad ] }; key { [ Arabic_dal, Arabic_dad ] }; key { [ Arabic_feh, Arabic_fathatan ] }; key { [ Arabic_ghain, VoidSymbol ] }; key { [ Arabic_ha, Arabic_hah ] }; key { [ Arabic_jeem, VoidSymbol ] }; key { [ Arabic_kaf, Arabic_kasratan ] }; key { [ Arabic_lam, VoidSymbol ] }; key { [ Arabic_semicolon, VoidSymbol ] }; key { [ Arabic_hamza, VoidSymbol ] }; key { [ VoidSymbol, Arabic_maddaonalef ] }; // key { [ bar, brokenbar ] }; key { [ Arabic_zain, Arabic_zah ] }; key { [ Arabic_khah, VoidSymbol ] }; key { [ VoidSymbol, VoidSymbol ] }; key { [ Arabic_theh, VoidSymbol ] }; key { [ Arabic_beh, VoidSymbol ] }; key { [ Arabic_noon, Arabic_dammatan ] }; key { [ Arabic_meem, VoidSymbol ] }; key { [ Arabic_comma, Arabic_hamzaunderalef ] }; // ARABIC FULL STOP (Urdu) key { [ 0x10006d4, Arabic_hamzaonalef ] }; key { [ VoidSymbol, Arabic_question_mark ] }; // End alphanumeric section }; partial alphanumeric_keys xkb_symbols "olpc" { include "ara(basic)" // As part of the olpc design some changes were made to the Arabic // keyboard design. Major changes are: // // * Removed the lam-alef single character. Poeple type as they // pronounce, and lam-alef is just a visual formatting of the // sequence and is not often used on the keyboard. It is // similar to the Allah single character, which is also not on // the keyboard. // * Moved the following keys: // o Thal from TLDE to AB05: Due to space limitation on the // keybaord, but also accessibility // o Shadda from TLDE to AD05 // * Placed currency letters on number keys and moved the ^ and & // characters to lower keys (This change is worth revisiting // before end of test period) key { [ grave, asciitilde ] }; key { [ 0x1000661, exclam ] }; key { [ 0x1000662, at ] }; key { [ 0x1000663, numbersign ] }; key { [ 0x1000664, dollar ] }; key { [ 0x1000665, Arabic_percent ] }; key { [ 0x1000666, sterling ] }; key { [ 0x1000667, EuroSign ] }; key { [ 0x1000668, asterisk ] }; key { [ 0x1000669, parenright ] }; key { [ 0x1000660, parenleft ] }; key { [ Arabic_feh, Arabic_shadda ] }; key { [ Arabic_heh, division ] }; key { [ Arabic_jeem, braceright ] }; key { [ Arabic_dal, braceleft ] }; key { [ Arabic_sheen, greater ] }; key { [ Arabic_seen, less ] }; key { [ Arabic_lam, ampersand ] }; key { [ Arabic_kaf ] }; key { [ Arabic_tah ] }; key { [ backslash, bar ] }; // REH isolated form? key { [ Arabic_hamzaonwaw, Arabic_kasra ] }; key { [ Arabic_ra, Arabic_kasratan ] }; key { [ Arabic_thal, asciicircum ] }; include "group(olpc)" }; // Added to match IBM KBID 238: ftp://ftp.software.ibm.com/software/globalization/keyboards/KBD238.pdf // 102 key model. Note that only L1 and L3 are used for the Arabic group of this keyboard. // Arabic characters are assigned U+6xx (intrinsic/base) range and not U+Fxxx (presentation) range // to match AIX design which expects unshaped characters. This does not necessarily coincide with // the assignments in the KBD238 definition. partial alphanumeric_keys modifier_keys xkb_symbols "aix-238" { name[Group1]= "Arabic (Arabic) - AIX KBD238"; key { [ less, NoSymbol, greater ] }; key { [ 0x1000661, NoSymbol, exclam ] }; key { [ 0x1000662, NoSymbol, at ] }; key { [ 0x1000663, NoSymbol, numbersign ] }; key { [ 0x1000664, NoSymbol, dollar ] }; key { [ 0x1000665, NoSymbol, Arabic_percent ] }; key { [ 0x1000666, NoSymbol, asciicircum ] }; key { [ 0x1000667, NoSymbol, ampersand ] }; key { [ 0x1000668, NoSymbol, 0x100066D ] }; key { [ 0x1000669, NoSymbol, parenleft ] }; key { [ 0x1000660, NoSymbol, comma ] }; key { [ minus, NoSymbol, underscore ] }; key { [ equal, NoSymbol, plus ] }; key { [ Arabic_dad, NoSymbol, Q ] }; key { [ Arabic_sad, NoSymbol, W ] }; key { [ Arabic_theh, NoSymbol, E ] }; key { [ Arabic_qaf, NoSymbol, R ] }; key { [ Arabic_feh, NoSymbol, T ] }; key { [ Arabic_ghain, NoSymbol, Y ] }; key { [ Arabic_ain, NoSymbol, U ] }; key { [ Arabic_heh, NoSymbol, I ] }; key { [ Arabic_khah, NoSymbol, O ] }; key { [ Arabic_hah, NoSymbol, P ] }; key { [ Arabic_jeem, NoSymbol, braceleft ] }; key { [ Arabic_dal, NoSymbol, braceright ] }; key { [ Arabic_sheen, NoSymbol, A ] }; key { [ Arabic_seen, NoSymbol, S ] }; key { [ Arabic_yeh, NoSymbol, D ] }; key { [ Arabic_beh, NoSymbol, F ] }; key { [ Arabic_lam, NoSymbol, G ] }; key { [ Arabic_alef, NoSymbol, H ] }; key { [ Arabic_teh, NoSymbol, J ] }; key { [ Arabic_noon, NoSymbol, K ] }; key { [ Arabic_meem, NoSymbol, L ] }; key { [ Arabic_kaf, NoSymbol, colon ] }; key { [ Arabic_tah, NoSymbol, quotedbl ] }; key { [ Arabic_thal, NoSymbol, asciitilde ] }; key { [ Arabic_tatweel, NoSymbol, bar ] }; key { [ Arabic_hamzaonyeh, NoSymbol, Z ] }; key { [ Arabic_hamza, NoSymbol, X ] }; key { [ Arabic_hamzaonwaw, NoSymbol, C ] }; key { [ Arabic_ra, NoSymbol, V ] }; // LamAlef on this key (UFEFB), should be converted into U0644 U0627 for AIX. key { [ 0x100fefb, NoSymbol, B ] }; key { [ Arabic_alefmaksura, NoSymbol, N ] }; key { [ Arabic_tehmarbuta, NoSymbol, M ] }; key { [ Arabic_waw, NoSymbol, comma ] }; key { [ Arabic_zain, NoSymbol, period ] }; key { [ Arabic_zah, NoSymbol, question ] }; include "level3(ralt_switch)" }; // Added to match IBM KBID 253: ftp://ftp.software.ibm.com/software/globalization/keyboards/KBD253.pdf // 102 key model. // Note on L1 for keys E01-E10: // While IBM keyboard specifies that the digits should be in U+6xx // range, this does not coincide with the imkeymap assignments // for ar_AA.ISO8859-6. National numbers are added on L3 and can be // accessed through AltGr. // partial alphanumeric_keys modifier_keys xkb_symbols "aix-253" { include "ara(basic)" name[Group1]= "Arabic (Arabic) - AIX KBD253"; key { [ less, greater ] }; key { [ 1, exclam, 0x1000661 ] }; key { [ 2, at, 0x1000662 ] }; key { [ 3, numbersign, 0x1000663 ] }; key { [ 4, dollar, 0x1000664 ] }; // Follow imkeymap by assigning percent to L2 and add Arabic_percent on L4 key { [ 5, percent, 0x1000665, Arabic_percent ] }; key { [ 6, asciicircum, 0x1000666 ] }; key { [ 7, ampersand, 0x1000667 ] }; key { [ 8, asterisk, 0x1000668 ] }; key { [ 9, parenleft, 0x1000669 ] }; key { [ 0, parenright, 0x1000660 ] }; // LamAlef on D05 (UFEF9), should be converted into U0644 U0625 for AIX. // key { [ Arabic_feh, 0x100fef9 ] }; key { [ Arabic_jeem, braceleft ] }; key { [ Arabic_dal, braceright ] }; key { [ Arabic_sheen, backslash ] }; // LamAlef on C05 (UFEF7), should be converted into U0644 U0623 for AIX. // key { [ Arabic_lam, 0x100fef7 ] }; key { [ Arabic_thal, Arabic_shadda ] }; key { [ Arabic_tatweel, bar ] }; key { [Arabic_hamzaonwaw, Arabic_kasra ] }; key { [ Arabic_ra, Arabic_kasratan ] }; // LamAlef on B05L1 (UFEFB), should be converted into U0644 U0627 for AIX. // LamAlef on B05L2 (UFEF5), should be converted into U0644 U0622 for AIX. // key { [ 0x100fefb, 0x100fef5 ] }; include "level3(ralt_switch)" }; // Added to match IBM KBID 470: ftp://ftp.software.ibm.com/software/globalization/keyboards/KBD470.pdf // 101 key model inherited from ara(basic) with modifications shown. partial alphanumeric_keys xkb_symbols "aix-470" { include "ara(basic)" name[Group1]= "Arabic - AIX KBD470"; key { [ 0x1000661, exclam ] }; key { [ 0x1000662, at ] }; key { [ 0x1000663, numbersign ] }; key { [ 0x1000664, dollar ] }; key { [ 0x1000665, Arabic_percent ] }; key { [ 0x1000666, asciicircum ] }; key { [ 0x1000667, ampersand ] }; key { [ 0x1000668, 0x100066D ] }; key { [ 0x1000669, parenleft ] }; key { [ 0x1000660, parenright ] }; key { [ Arabic_dad, Arabic_dad ] }; key { [ Arabic_sad, Arabic_sad ] }; key { [ Arabic_theh, Arabic_theh ] }; key { [ Arabic_qaf, Arabic_qaf ] }; key { [ Arabic_feh, Arabic_feh ] }; key { [ Arabic_ghain, Arabic_ghain ] }; key { [ Arabic_ain, Arabic_ain ] }; key { [ Arabic_jeem, greater ] }; key { [ Arabic_dal, less ] }; key { [ bar, backslash ] }; key { [ Arabic_sheen, Arabic_sheen ] }; key { [ Arabic_seen, Arabic_seen ] }; key { [ Arabic_yeh, Arabic_yeh ] }; key { [ Arabic_beh, Arabic_beh ] }; // LamAlef on C05 (UFEF7), should be converted into U0644 U0623 for AIX. // key { [ Arabic_lam, 0x100fef7 ] }; key { [Arabic_hamzaonyeh,Arabic_hamzaonyeh ] }; key { [ Arabic_hamza, Arabic_hamza ] }; key { [Arabic_hamzaonwaw, Arabic_hamzaonwaw ] }; key { [ Arabic_ra, Arabic_ra ] }; // LamAlef on B05L1 (UFEFB), should be converted into U0644 U0627 for AIX. // LamAlef on B05L2 (UFEF5), should be converted into U0644 U0622 for AIX. // key { [ 0x100fefb, 0x100fef5 ] }; key { [Arabic_tehmarbuta,Arabic_tehmarbuta ] }; }; // Added to match IBM KBID 462: ftp://ftp.software.ibm.com/software/globalization/keyboards/KBD462.pdf // 102 key model inherited from ara(basic) with modifications shown. partial alphanumeric_keys xkb_symbols "aix-462" { include "ara(basic)" name[Group1]= "Arabic - AIX KBD462"; key { [ greater, less ] }; key { [ ampersand, 1 ] }; key { [ NoSymbol, 2 ] }; key { [ quotedbl, 3 ] }; key { [ apostrophe, 4 ] }; key { [ parenleft, 5 ] }; key { [ minus, 6 ] }; key { [ NoSymbol, 7 ] }; key { [ underscore, 8 ] }; key { [ NoSymbol, 9 ] }; key { [ NoSymbol, 0 ] }; key { [ parenright, degree ] }; // LamAlef on D05 (UFEF9), should be converted into U0644 U0625 for AIX. // key { [ Arabic_feh, 0x100fef9 ] }; key { [ Arabic_jeem, braceleft ] }; key { [ Arabic_dal, braceright ] }; key { [ Arabic_sheen, backslash ] }; key { [ Arabic_yeh, bracketleft ] }; key { [ Arabic_beh, bracketright ] }; // LamAlef on C05 (UFEF7), should be converted into U0644 U0623 for AIX. // key { [ Arabic_lam, 0x100fef7 ] }; key { [ Arabic_tah, diaeresis ] }; key { [ Arabic_thal, Arabic_shadda ] }; key { [ Arabic_tatweel, bar ] }; key { [ Arabic_hamzaonwaw, Arabic_kasra ] }; key { [ Arabic_ra, Arabic_kasratan] }; // LamAlef on B05L1 (UFEFB), should be converted into U0644 U0627 for AIX. // LamAlef on B05L2 (UFEF5), should be converted into U0644 U0622 for AIX. // key { [ 0x100fefb, 0x100fef5 ] }; };