// $XKeyboardConfig$ // Iranian keyboard layout, // based on National Iranian Keyboard Standard (ISIRI 2901:1994), // with additions. // // Copyright (C) 2004,2005 Sharif FarsiWeb, Inc. // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // A copy of the GNU General Public License is available from // . // // Author: Behnam Esfahbod // // 3-Level layout partial default alphanumeric_keys xkb_symbols "basic" { name[Group1]= "Iran"; // Persian digits key { [ 0x10006f1, exclam, quoteleft ] }; key { [ 0x10006f2, 0x100066c, at ] }; key { [ 0x10006f3, 0x100066b, numbersign ] }; key { [ 0x10006f4, 0x100fdfc, dollar ] }; key { [ 0x10006f5, 0x100066a, percent ] }; key { [ 0x10006f6, multiply, asciicircum ] }; key { [ 0x10006f7, Arabic_comma, ampersand ] }; key { [ 0x10006f8, asterisk, enfilledcircbullet ] }; key { [ 0x10006f9, parenright, 0x100200e ] }; key { [ 0x10006f0, parenleft, 0x100200f ] }; // Other 3-Level symbols key { [ 0x100200d, division, asciitilde ] }; key { [ minus, Arabic_tatweel, underscore ] }; key { [ equal, plus, 0x1002212 ] }; key { [ backslash, bar, 0x1002010 ] }; key { [ space, 0x100200c, nobreakspace ] }; key { [ Arabic_dad, Arabic_sukun, degree ] }; key { [ Arabic_sad, Arabic_dammatan, VoidSymbol ] }; key { [ Arabic_theh, Arabic_kasratan, 0x13a4 ] }; key { [ Arabic_qaf, Arabic_fathatan, VoidSymbol ] }; key { [ Arabic_feh, Arabic_damma, VoidSymbol ] }; key { [ Arabic_ghain, Arabic_kasra, VoidSymbol ] }; key { [ Arabic_ain, Arabic_fatha, VoidSymbol ] }; key { [ Arabic_heh, Arabic_shadda, 0x100202d ] }; key { [ Arabic_khah, bracketright, 0x100202e ] }; key { [ Arabic_hah, bracketleft, 0x100202c ] }; key { [ Arabic_jeem, braceright, 0x100202a ] }; key { [ 0x1000686, braceleft, 0x100202b ] }; key { [ Arabic_sheen, Arabic_hamzaonwaw, VoidSymbol ] }; key { [ Arabic_seen, Arabic_hamzaonyeh, VoidSymbol ] }; key { [ 0x10006cc, Arabic_yeh, Arabic_alefmaksura ] }; key { [ Arabic_beh, Arabic_hamzaunderalef, VoidSymbol ] }; key { [ Arabic_lam, Arabic_hamzaonalef, VoidSymbol ] }; key { [ Arabic_alef, Arabic_maddaonalef, 0x1000671 ] }; key { [ Arabic_teh, Arabic_tehmarbuta, VoidSymbol ] }; key { [ Arabic_noon, guillemotright, 0x100fd3e ] }; key { [ Arabic_meem, guillemotleft, 0x100fd3f ] }; key { [ 0x10006a9, colon, semicolon ] }; key { [ 0x10006af, Arabic_semicolon, quotedbl ] }; key { [ Arabic_zah, Arabic_kaf, VoidSymbol ] }; key { [ Arabic_tah, 0x1000653, VoidSymbol ] }; key { [ Arabic_zain, 0x1000698, VoidSymbol ] }; key { [ Arabic_ra, 0x1000670, 0x1000656 ] }; key { [ Arabic_thal, 0x100200c, 0x100200d ] }; key { [ Arabic_dal, 0x1000654, 0x1000655 ] }; key { [ 0x100067e, Arabic_hamza, ellipsis ] }; key { [ Arabic_waw, greater, comma ] }; key { [ period, less, apostrophe ] }; key { [ slash, Arabic_question_mark, question ] }; include "level3(ralt_switch)" }; partial hidden alphanumeric_keys xkb_symbols "part_pro" { // Persian and English (ASCII) digits key { [ 0x10006f1, exclam, quoteleft, 1 ] }; key { [ 0x10006f2, 0x100066c, at, 2 ] }; key { [ 0x10006f3, 0x100066b, numbersign, 3 ] }; key { [ 0x10006f4, 0x100fdfc, dollar, 4 ] }; key { [ 0x10006f5, 0x100066a, percent, 5 ] }; key { [ 0x10006f6, multiply, asciicircum, 6 ] }; key { [ 0x10006f7, Arabic_comma, ampersand, 7 ] }; key { [ 0x10006f8, asterisk, enfilledcircbullet, 8 ] }; key { [ 0x10006f9, parenright, 0x100200e, 9 ] }; key { [ 0x10006f0, parenleft, 0x100200f, 0 ] }; }; partial hidden alphanumeric_keys xkb_symbols "part_keypad" { // Persian digits and Mathematical operators key { [ division, XF86_Ungrab ] }; key { [ multiply, XF86_ClearGrab ] }; key { [ 0x1002212, XF86_Prev_VMode ] }; key { [ plus, XF86_Next_VMode ] }; key { [ KP_Enter ] }; key { [ equal ] }; key { [ KP_Home, 0x10006f7 ] }; key { [ KP_Up, 0x10006f8 ] }; key { [ KP_Prior, 0x10006f9 ] }; key { [ KP_Left, 0x10006f4 ] }; key { [ KP_Begin, 0x10006f5 ] }; key { [ KP_Right, 0x10006f6 ] }; key { [ KP_End, 0x10006f1 ] }; key { [ KP_Down, 0x10006f2 ] }; key { [ KP_Next, 0x10006f3 ] }; key { [ KP_Insert, 0x10006f0 ] }; key { [ KP_Delete, 0x100066b ] }; }; // 4-Level leyout partial alphanumeric_keys xkb_symbols "pro" { include "ir(basic)" include "ir(part_pro)" name[Group1]= "Iran - Pro"; }; // Persian Keypad leyout partial alphanumeric_keys xkb_symbols "keypad" { include "ir(basic)" include "ir(part_keypad)" name[Group1]= "Iran - Keypad"; }; // 4-Level leyout with Persian Keypad leyout partial alphanumeric_keys xkb_symbols "pro_keypad" { include "ir(basic)" include "ir(part_keypad)" include "ir(part_pro)" name[Group1]= "Iran - Pro Keypad"; };