Home | History | Annotate | Line # | Download | only in symbols
ir revision 1.5
      1 // $XKeyboardConfig$
      2 
      3 // Iranian keyboard layout
      4 
      5 ////////////////////////////////////////
      6 // Persian layout,
      7 // based on
      8 // Information Technology  Layout of Persian Letters and Symbols on Computer Keyboards
      9 // ISIRI 9147  1st Edition
     10 // Institute of Standards and Industrial Research of Iran
     11 // http://www.isiri.org/UserStd/DownloadStd.aspx?id=9147
     12 // http://behnam.esfahbod.info/standards/isiri-keyboard-9147.pdf
     13 //
     14 // Author: Behnam Esfahbod <behnam (a] esfahbod.info>
     15 //
     16 
     17 partial default alphanumeric_keys
     18 xkb_symbols "pes" {
     19     name[Group1]= "Iran";
     20 
     21     include "ir(pes_part_basic)"
     22     include "ir(pes_part_ext)"
     23 
     24     include "nbsp(zwnj2nb3nnb4)"
     25     include "level3(ralt_switch)"
     26 };
     27 
     28 
     29 partial alphanumeric_keys
     30 xkb_symbols "pes_keypad" {
     31     name[Group1]= "Iran - Persian, with Persian Keypad";
     32 
     33     include "ir(pes_part_basic)"
     34     include "ir(pes_part_keypad)"
     35 
     36     include "nbsp(zwnj2nb3nnb4)"
     37     include "level3(ralt_switch)"
     38 };
     39 
     40 partial hidden alphanumeric_keys
     41 xkb_symbols "pes_part_basic" {
     42 
     43     // Persian digits
     44     key <AE01> { [ Farsi_1,	exclam,		quoteleft		] };
     45     key <AE02> { [ Farsi_2,	0x100066c,	at			] };
     46     key <AE03> { [ Farsi_3,	0x100066b,	numbersign		] };
     47     key <AE04> { [ Farsi_4,	0x100fdfc,	dollar			] };
     48     key <AE05> { [ Farsi_5,	0x100066a,	percent			] };
     49     key <AE06> { [ Farsi_6,	multiply,	asciicircum		] };
     50     key <AE07> { [ Farsi_7,	Arabic_comma,	ampersand		] };
     51     key <AE08> { [ Farsi_8,	asterisk,	enfilledcircbullet	] };
     52     key <AE09> { [ Farsi_9,	parenright,	0x100200e		] };
     53     key <AE10> { [ Farsi_0,	parenleft,	0x100200f		] };
     54 
     55     // Persian letters and symbols
     56     key <AD01> { [ Arabic_dad,		Arabic_sukun,		degree		] };
     57     key <AD02> { [ Arabic_sad,		Arabic_dammatan,	VoidSymbol	] };
     58     key <AD03> { [ Arabic_theh,		Arabic_kasratan,	0x13a4		] };
     59     key <AD04> { [ Arabic_qaf,		Arabic_fathatan,	VoidSymbol	] };
     60     key <AD05> { [ Arabic_feh,		Arabic_damma,		VoidSymbol	] };
     61     key <AD06> { [ Arabic_ghain,	Arabic_kasra,		VoidSymbol	] };
     62     key <AD07> { [ Arabic_ain,		Arabic_fatha,		VoidSymbol	] };
     63     key <AD08> { [ Arabic_heh,		Arabic_shadda,		0x100202d	] };
     64     key <AD09> { [ Arabic_khah,		bracketright,		0x100202e	] };
     65     key <AD10> { [ Arabic_hah,		bracketleft,		0x100202c	] };
     66     key <AD11> { [ Arabic_jeem,		braceright,		0x100202a	] };
     67     key <AD12> { [ Arabic_tcheh,		braceleft,		0x100202b	] };
     68 
     69     key <AC01> { [ Arabic_sheen,	Arabic_hamzaonwaw,	VoidSymbol	] };
     70     key <AC02> { [ Arabic_seen,		Arabic_hamzaonyeh,	VoidSymbol	] };
     71     key <AC03> { [ Farsi_yeh,		Arabic_yeh,		Arabic_alefmaksura ] };
     72     key <AC04> { [ Arabic_beh,		Arabic_hamzaunderalef,	VoidSymbol	] };
     73     key <AC05> { [ Arabic_lam,		Arabic_hamzaonalef,	VoidSymbol	] };
     74     key <AC06> { [ Arabic_alef,		Arabic_maddaonalef,	0x1000671	] };
     75     key <AC07> { [ Arabic_teh,		Arabic_tehmarbuta,	VoidSymbol	] };
     76     key <AC08> { [ Arabic_noon,		guillemotright,		0x100fd3e	] };
     77     key <AC09> { [ Arabic_meem,		guillemotleft,		0x100fd3f	] };
     78     key <AC10> { [ Arabic_keheh,		colon,			semicolon	] };
     79     key <AC11> { [ Arabic_gaf,		Arabic_semicolon,	quotedbl	] };
     80 
     81     key <AB01> { [ Arabic_zah,		Arabic_kaf,		VoidSymbol	] };
     82     key <AB02> { [ Arabic_tah,		0x1000653,		VoidSymbol	] };
     83     key <AB03> { [ Arabic_zain,		Arabic_jeh,		VoidSymbol	] };
     84     key <AB04> { [ Arabic_ra,		Arabic_superscript_alef
     85 ,		0x1000656	] };
     86     key <AB05> { [ Arabic_thal,		0x100200c,		0x100200d	] };
     87     key <AB06> { [ Arabic_dal,		Arabic_hamza_above
     88 ,		Arabic_hamza_below	] };
     89     key <AB07> { [ Arabic_peh,		Arabic_hamza,		ellipsis	] };
     90     key <AB08> { [ Arabic_waw,		greater,		comma		] };
     91     key <AB09> { [ period,		less,			apostrophe	] };
     92     key <AB10> { [ slash,		Arabic_question_mark,	question	] };
     93 
     94     key <TLDE> { [ 0x100200d,		division,		asciitilde	] };
     95     key <AE11> { [ minus,		Arabic_tatweel,		underscore	] };
     96     key <AE12> { [ equal,		plus,			0x1002212	] };
     97     key <BKSL> { [ backslash,		bar,			0x1002010	] };
     98 };
     99 
    100 partial hidden alphanumeric_keys
    101 xkb_symbols "pes_part_ext" {
    102 
    103     // Persian and ASCII digits
    104     key <AE01> { [ 0x10006f1,	exclam,		quoteleft,		1	] };
    105     key <AE02> { [ 0x10006f2,	0x100066c,	at,			2	] };
    106     key <AE03> { [ 0x10006f3,	0x100066b,	numbersign,		3	] };
    107     key <AE04> { [ 0x10006f4,	0x100fdfc,	dollar,			4	] };
    108     key <AE05> { [ 0x10006f5,	0x100066a,	percent,		5	] };
    109     key <AE06> { [ 0x10006f6,	multiply,	asciicircum,		6	] };
    110     key <AE07> { [ 0x10006f7,	Arabic_comma,	ampersand,		7	] };
    111     key <AE08> { [ 0x10006f8,	asterisk,	enfilledcircbullet,	8	] };
    112     key <AE09> { [ 0x10006f9,	parenright,	0x100200e,		9	] };
    113     key <AE10> { [ 0x10006f0,	parenleft,	0x100200f,		0	] };
    114 };
    115 
    116 partial hidden alphanumeric_keys
    117 xkb_symbols "pes_part_keypad" {
    118 
    119     // Persian digits and Mathematical operators
    120     key <KPDV> { [ division,	XF86_Ungrab	] };
    121     key <KPMU> { [ multiply,	XF86_ClearGrab	] };
    122     key <KPSU> { [ 0x1002212,	XF86_Prev_VMode	] };
    123     key <KPAD> { [ plus,	XF86_Next_VMode	] };
    124 
    125     key <KPEN> { [ KP_Enter	] };
    126     key <KPEQ> { [ equal	] };
    127 
    128     key <KP7>  { [ KP_Home,	0x10006f7	] };
    129     key <KP8>  { [ KP_Up,	0x10006f8	] };
    130     key <KP9>  { [ KP_Prior,	0x10006f9	] };
    131 
    132     key <KP4>  { [ KP_Left,	0x10006f4	] };
    133     key <KP5>  { [ KP_Begin,	0x10006f5	] };
    134     key <KP6>  { [ KP_Right,	0x10006f6	] };
    135 
    136     key <KP1>  { [ KP_End,	0x10006f1	] };
    137     key <KP2>  { [ KP_Down,	0x10006f2	] };
    138     key <KP3>  { [ KP_Next,	0x10006f3	] };
    139 
    140     key <KP0>  { [ KP_Insert,	0x10006f0	] };
    141     key <KPDL> { [ KP_Delete,	0x100066b	] };
    142 };
    143 
    144 
    145 ////////////////////////////////////////
    146 // Kurdish Layout
    147 
    148 partial alphanumeric_keys
    149 xkb_symbols "ku" {
    150     include "tr(ku)"
    151     name[Group1]= "Iran - Kurdish, Latin Q";
    152 };
    153 
    154 partial alphanumeric_keys
    155 xkb_symbols "ku_f" {
    156     include "tr(ku_f)"
    157     name[Group1]= "Iran - Kurdish, (F)";
    158 };
    159 
    160 partial alphanumeric_keys
    161 xkb_symbols "ku_alt" {
    162     include "tr(ku_alt)"
    163     name[Group1]= "Iran - Kurdish, Latin Alt-Q";
    164 };
    165 
    166 ////////////////////////////////////////
    167 // Kurdish Soran Bahdn (Arabic) keyboard layout,
    168 // based on the Kurd Soran Bahdn keyboard from KurdITGroup
    169 // which is based on National Iranian Keyboard Standard (ISIRI 2901:1994),
    170 // with additions.
    171 //
    172 // Copyright (C) 2006 Erdal Ronah, published under the GPL v2
    173 //
    174 // Special copyright note: author explicitly permitted to license this 
    175 // layout under MIT/X11 license, for details see
    176 // https://bugs.freedesktop.org/show_bug.cgi?id=9541
    177 //
    178 // Author: Erdal Ronah  <erdal.ronahi (a] gmail.com>
    179 //
    180 // Kurdish Arabic-Latin Layout for Soran
    181 
    182 partial alphanumeric_keys
    183 xkb_symbols "ku_ara" {
    184     name[Group1]= "Iran - Kurdish, Arabic-Latin";
    185 
    186     // Other 3-Level symbols
    187     key <TLDE> { [ 0x100200d,		division,		asciitilde	] };
    188     key <BKSL> { [ backslash,		bar,			ccedilla, Ccedilla	] };
    189 
    190     // Digits
    191     key <AE01> { [ 1,	exclam,		0x10006f1,	quoteleft	] };
    192     key <AE02> { [ 2,	at, 		0x10006f2,	at		] };
    193     key <AE03> { [ 3,	numbersign,	0x10006f3,	0x100066b	] };
    194     key <AE04> { [ 4,	dollar,		0x10006f4, 	0x100fdfc	] };
    195     key <AE05> { [ 5,	percent,	0x10006f5,	0x100066a	] };
    196     key <AE06> { [ 6,	asciicircum,	0x10006f6,	multiply	] };
    197     key <AE07> { [ 7,	ampersand,	0x10006f7, 	Arabic_comma	] };
    198     key <AE08> { [ 8,	asterisk,	0x10006f8,	enfilledcircbullet	] };
    199     key <AE09> { [ 9,	parenright,	0x10006f9,	0x100200e	] };
    200     key <AE10> { [ 0,	parenleft,	0x10006f0,	0x100200f	] };
    201     key <AE11> { [ minus,		Arabic_tatweel,		underscore	] };
    202     key <AE12> { [ equal,		plus,			0x1002212	] };
    203 
    204     key <AD01> { [         Arabic_qaf,            X,  q,  Q ] };
    205     key <AD02> { [         Arabic_waw,            X,  w,  W ] };
    206     key <AD03> { [          0x10006d5,   Arabic_heh,  e,  E ] };
    207     key <AD04> { [         Arabic_ra ,    0x1000695,  r,  R ] };
    208     key <AD05> { [         Arabic_teh,   Arabic_tah,  t,  T ] };
    209     key <AD06> { [          0x10006cc,    0x10006ce,  y,  Y ] };
    210     key <AD07> { [  Arabic_hamzaonyeh, Arabic_hamza,  u,  U ] };
    211     key <AD08> { [         Arabic_hah,   Arabic_ain,  i,  I ] };
    212     key <AD09> { [          0x10006c6, Arabic_hamzaonwaw,  o,  O ] };
    213     key <AD10> { [          0x100067e,  Arabic_theh,  p,  P ] };
    214     key <AD11> { [ bracketright,	braceright,	ucircumflex, Ucircumflex	] };
    215     key <AD12> { [ bracketleft,		braceleft,	scedilla, Scedilla	] };
    216 
    217     key <AC01> { [ Arabic_alef,	Arabic_maddaonalef,	a, A	] };
    218     key <AC02> { [ Arabic_seen,		Arabic_sheen,	s, S	] };
    219     key <AC03> { [  Arabic_dal,		Arabic_thal,	d, D	] };
    220     key <AC04> { [  Arabic_feh,	Arabic_hamzaunderalef,	f, F	] };
    221     key <AC05> { [   0x10006af,		Arabic_ghain,	g, G	] };
    222     key <AC06> { [  Arabic_heh,		0x100200c,	h, H	] };
    223     key <AC07> { [   0x1000698,	Arabic_hamzaonalef,	j, J	] };
    224     key <AC08> { [   0x10006a9,		Arabic_kaf,	k, K	] };
    225     key <AC09> { [  Arabic_lam,		0x10006b5,	l, L	] };
    226     key <AC10> { [  Arabic_semicolon, 	colon,		ecircumflex, Ecircumflex	] };
    227     key <AC11> { [  apostrophe, 	quotedbl,	icircumflex, Icircumflex	] };
    228 
    229     key <AB01> { [ Arabic_zain,		Arabic_dad,	z, Z	] };
    230     key <AB02> { [ Arabic_khah,		Arabic_sad,	x, X	] };
    231     key <AB03> { [ Arabic_jeem,		0x1000686,	c, C	] };
    232     key <AB04> { [   0x10006a4,		Arabic_zah,	v, V	] };
    233     key <AB05> { [ Arabic_beh,		0x1000649,	b, B	] };
    234     key <AB06> { [ Arabic_noon,	Arabic_tehmarbuta,	n, N	] };
    235     key <AB07> { [ Arabic_meem,	Arabic_tatweel,		m, M	] };
    236     key <AB08> { [ Arabic_comma,	greater,	comma		] };
    237     key <AB09> { [ period,		less,		apostrophe	] };
    238     key <AB10> { [ slash,		Arabic_question_mark, 	question	] };
    239 
    240     include "nbsp(zwnj2nb3)"
    241     include "level3(ralt_switch)"
    242 };
    243 
    244