From 28a8cada8982a780b8e655f3cc548c5ed516494e Mon Sep 17 00:00:00 2001 From: Behnam Esfahbod Date: Thu, 10 Sep 2009 04:26:37 +0430 Subject: [PATCH] Update Iran - Persian layout - Update the standard info to ISIRI 9147 - Reduce the number of Persian layouts to only 2 - Use "pes_" for the name of Persian parts - Add Narrow NBSP --- rules/base.xml.in | 16 ++------- symbols/ir | 97 ++++++++++++++++++++++++++----------------------------- 2 files changed, 48 insertions(+), 65 deletions(-) diff --git a/rules/base.xml.in b/rules/base.xml.in index 82c301c..708077f 100644 --- a/rules/base.xml.in +++ b/rules/base.xml.in @@ -2161,20 +2161,8 @@ - pro - <_description>Pro - - - - - keypad - <_description>Keypad - - - - - pro_keypad - <_description>Pro Keypad + pes_keypad + <_description>Persian, with Persian Keypad diff --git a/symbols/ir b/symbols/ir index af662cf..85f18b1 100644 --- a/symbols/ir +++ b/symbols/ir @@ -1,17 +1,38 @@ // $XKeyboardConfig$ -// Iranian keyboard layout, -// based on National Iranian Keyboard Standard (ISIRI 2901:1994), -// with additions. + +// Iranian keyboard layout + +//////////////////////////////////////// +// Persian layout, +// based on +// Information Technology – Layout of Persian Letters and Symbols on Computer Keyboards +// ISIRI 9147 – 1st Edition +// Institute of Standards and Industrial Research of Iran +// http://www.isiri.org/UserStd/DownloadStd.aspx?id=9147 +// http://behnam.esfahbod.info/standards/isiri-keyboard-9147.pdf // // Author: Behnam Esfahbod // - -// 3-Level layout - partial default alphanumeric_keys -xkb_symbols "basic" { +xkb_symbols "pes" { + include "ir(pes_part_basic)" + include "ir(pes_part_ext)" + name[Group1]= "Iran"; +}; + + +partial alphanumeric_keys +xkb_symbols "pes_keypad" { + include "ir(pes_part_basic)" + include "ir(pes_part_keypad)" + + name[Group1]= "Iran - Persian, with Persian Keypad"; +}; + +partial hidden alphanumeric_keys +xkb_symbols "pes_part_basic" { // Persian digits key { [ 0x10006f1, exclam, quoteleft ] }; @@ -25,13 +46,7 @@ xkb_symbols "basic" { 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 ] }; - + // Persian letters and symbols key { [ Arabic_dad, Arabic_sukun, degree ] }; key { [ Arabic_sad, Arabic_dammatan, VoidSymbol ] }; key { [ Arabic_theh, Arabic_kasratan, 0x13a4 ] }; @@ -68,14 +83,20 @@ xkb_symbols "basic" { key { [ period, less, apostrophe ] }; key { [ slash, Arabic_question_mark, question ] }; + key { [ 0x100200d, division, asciitilde ] }; + key { [ minus, Arabic_tatweel, underscore ] }; + key { [ equal, plus, 0x1002212 ] }; + key { [ backslash, bar, 0x1002010 ] }; + + key { [ space, 0x100200c, nobreakspace ] }; + include "level3(ralt_switch)" }; - partial hidden alphanumeric_keys -xkb_symbols "part_pro" { +xkb_symbols "pes_part_ext" { - // Persian and English (ASCII) digits + // Persian and ASCII digits key { [ 0x10006f1, exclam, quoteleft, 1 ] }; key { [ 0x10006f2, 0x100066c, at, 2 ] }; key { [ 0x10006f3, 0x100066b, numbersign, 3 ] }; @@ -86,10 +107,12 @@ xkb_symbols "part_pro" { key { [ 0x10006f8, asterisk, enfilledcircbullet, 8 ] }; key { [ 0x10006f9, parenright, 0x100200e, 9 ] }; key { [ 0x10006f0, parenleft, 0x100200f, 0 ] }; + + key { [ space, 0x100200c, nobreakspace, 0x100202F ] }; }; partial hidden alphanumeric_keys -xkb_symbols "part_keypad" { +xkb_symbols "pes_part_keypad" { // Persian digits and Mathematical operators key { [ division, XF86_Ungrab ] }; @@ -116,39 +139,9 @@ xkb_symbols "part_keypad" { 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"; -}; +//////////////////////////////////////// +// Kurdish Layout partial alphanumeric_keys xkb_symbols "ku" { @@ -168,6 +161,7 @@ xkb_symbols "ku_alt" { name[Group1]= "Iran - Kurdish, Latin Alt-Q"; }; +//////////////////////////////////////// // Kurdish Soranî Bahdînî (Arabic) keyboard layout, // based on the Kurdî Soranî Bahdînî keyboard from KurdITGroup // which is based on National Iranian Keyboard Standard (ISIRI 2901:1994), @@ -182,6 +176,7 @@ xkb_symbols "ku_alt" { // Author: Erdal Ronahî // // Kurdish Arabic-Latin Layout for Soranî + partial alphanumeric_keys xkb_symbols "ku_ara" { name[Group1]= "Iran - Kurdish, Arabic-Latin"; @@ -242,5 +237,5 @@ xkb_symbols "ku_ara" { key { [ slash, Arabic_question_mark, question ] }; include "level3(ralt_switch)" - }; + -- 2.7.4