summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Udaltsov <sergey.udaltsov@gmail.com>2017-09-03 01:16:03 +0100
committerSergey Udaltsov <sergey.udaltsov@gmail.com>2017-09-03 01:16:03 +0100
commit750db0173a8b25cfb169bb204d97daea393ce412 (patch)
tree5bb5d009b1c5c4c251b9dba5a23c245f0f3ccde1
parent0407c1846979539dd9ea55cd172f504ef61a3684 (diff)
Add a Arabic version of Jawi keyboard layout and it's own phonetic version
https://bugs.freedesktop.org/show_bug.cgi?id=102027
-rw-r--r--rules/base.xml.in11
-rw-r--r--symbols/my140
2 files changed, 145 insertions, 6 deletions
diff --git a/rules/base.xml.in b/rules/base.xml.in
index a6f8f2a..67ebba8 100644
--- a/rules/base.xml.in
+++ b/rules/base.xml.in
@@ -6001,7 +6001,7 @@
<configItem>
<name>my</name>
<shortDescription>ms</shortDescription>
- <description>Malay (Jawi)</description>
+ <description>Malay (Jawi, Arabic Keyboard)</description>
<languageList>
<iso639Id>ind</iso639Id>
<iso639Id>msa</iso639Id>
@@ -6012,7 +6012,14 @@
<iso639Id>mfa</iso639Id>
</languageList>
</configItem>
- <variantList></variantList>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>phonetic</name>
+ <description>Malay (Jawi, phonetic)</description>
+ </configItem>
+ </variant>
+ </variantList>
</layout>
</layoutList>
<optionList>
diff --git a/symbols/my b/symbols/my
index 22cebef..01775ab 100644
--- a/symbols/my
+++ b/symbols/my
@@ -1,7 +1,139 @@
-default partial alphanumeric_keys
-xkb_symbols "jawi" {
- include "id(jawi)"
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group1]= "Malay (Jawi, Arabic Keyboard)";
- name[Group1]= "Malay (Jawi)";
+//Numbers
+
+ key <AE01> { [ 0x1000661, exclam, 1 ] };
+ key <AE02> { [ 0x1000662, at, 2 ] };
+ key <AE03> { [ 0x1000663, numbersign, 3 ] };
+ key <AE04> { [ 0x1000664, dollar, 4 ] };
+ key <AE05> { [ 0x1000665, Arabic_percent, 5 ] };
+ key <AE06> { [ 0x1000666, asciicircum, 6 ] };
+ key <AE07> { [ 0x1000667, ampersand, 7 ] };
+ key <AE08> { [ 0x1000668, asterisk, 8 ] };
+ key <AE09> { [ 0x1000669, parenright, 9 ] };
+ key <AE10> { [ 0x1000660, parenleft, 0 ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+
+// Alphabets
+
+ key <AD01> { [ Arabic_dad, U0686 ] };
+ key <AD02> { [ Arabic_sad, U06A0 ] };
+ key <AD03> { [ Arabic_theh, U06AC ] };
+ key <AD04> { [ Arabic_qaf, U0640 ] };
+ key <AD05> { [ Arabic_feh, 0x100fef9, 0x10006a4 ] };
+ key <AD06> { [ Arabic_ghain, Arabic_hamzaunderalef ] };
+ key <AD07> { [ Arabic_ain, grave ] };
+ key <AD08> { [ Arabic_ha, division ] };
+ key <AD09> { [ Arabic_khah, multiply ] };
+ key <AD10> { [ U06A9, Arabic_semicolon ] };
+ key <AD11> { [ Arabic_jeem, less, 0x1000686 ] };
+ key <AD12> { [ Arabic_dal, greater ] };
+
+ key <AC01> { [ Arabic_sheen, U06CF ] };
+ key <AC02> { [ Arabic_seen, U06A8 ] };
+ key <AC03> { [ Arabic_yeh, bracketright ] };
+ key <AC04> { [ Arabic_beh, bracketleft, 0x100067e ] };
+ key <AC05> { [ Arabic_lam, 0x100fef7 ] };
+ 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> { [ U06A9, colon, 0x10006af ] };
+ key <AC11> { [ Arabic_tah, quotedbl ] };
+
+ key <LSGT> { [ bar, brokenbar ] };
+ key <AB01> { [Arabic_hamzaonyeh, asciitilde, guillemotright ] };
+ key <AB02> { [ Arabic_hamza, U06BD, guillemotleft ] };
+ key <AB03> { [Arabic_hamzaonwaw, braceright ] };
+ key <AB04> { [ Arabic_ra, braceleft ] };
+ key <AB05> { [ 0x100fefb, 0x100fef5 ] };
+ key <AB06> { [Arabic_alefmaksura, Arabic_maddaonalef ] };
+ key <AB07> { [Arabic_tehmarbuta, apostrophe ] };
+ key <AB08> { [ Arabic_waw, U200C, comma ] };
+ key <AB09> { [ Arabic_zain, period ] };
+ key <AB10> { [ Arabic_zah, Arabic_question_mark ] };
+
+//others
+
+ key <ESC> { [ Escape ] };
+
+ include "level3(ralt_switch)"
+
+ // End alphanumeric section
};
+
+// symbol names: see /usr/X11R6/include/X11/keysymdef.h (XFree86-devel.rpm)
+
+partial alphanumeric_keys
+xkb_symbols "phonetic"
+{
+ name[Group1] = "Malay (Jawi, phonetic)";
+
+//Numbers
+
+ key <AE01> { [ 0x1000661, exclam, 1 ] };
+ key <AE02> { [ 0x1000662, Arabic_hamza, 2 ] };
+ key <AE03> { [ 0x1000663, Arabic_hamzaonalef, 3 ] };
+ key <AE04> { [ 0x1000664, Arabic_maddaonalef, 4 ] };
+ key <AE05> { [ 0x1000665, Arabic_hamzaunderalef, 5 ] };
+ key <AE06> { [ 0x1000666, Arabic_hamzaonyeh, 6 ] };
+ key <AE07> { [ 0x1000667, Arabic_hamzaonwaw, 7 ] };
+ key <AE08> { [ 0x1000668, NoSymbol, 8 ] };
+ key <AE09> { [ 0x1000669, parenright, 9 ] };
+ key <AE10> { [ 0x1000660, parenleft, 0 ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+
+// Alphabets
+ key <LSGT> { [ bar, brokenbar ] };
+ key <AB01> { [ Arabic_zain, Arabic_thal ] };
+ key <AB02> { [ Arabic_khah, Arabic_hah ] };
+ key <AB03> { [ Arabic_tcheh, UFEB9 ] };
+ key <AB04> { [ U06CF, Arabic_zah ] };
+ key <AB05> { [ Arabic_beh, Arabic_peh ] };
+ key <AB06> { [ Arabic_noon, U06BD ] };
+ key <AB07> { [ Arabic_meem, Arabic_madonalef ] };
+ key <AB08> { [ Arabic_comma, rightcaret ] };
+ key <AB09> { [ period, leftcaret ] };
+ key <AB10> { [ slash, Arabic_question_mark ] };
+
+ key <AC01> { [ Arabic_alef, Arabic_maddaonalef ] };
+ key <AC02> { [ Arabic_seen, Arabic_sheen ] };
+ key <AC03> { [ Arabic_dal, Arabic_dad ] };
+ key <AC04> { [ Arabic_feh, Arabic_veh ] };
+ key <AC05> { [ U06AC, U06A0 ] };
+ key <AC06> { [ Arabic_ha, Arabic_hah ] };
+ key <AC07> { [ Arabic_jeem, Arabic_tcheh ] };
+ key <AC08> { [ Arabic_kaf, Arabic_qaf ] };
+ key <AC09> { [ Arabic_lam, UFEFB ] };
+ key <AC10> { [ Arabic_semicolon, colon ] };
+ key <AC11> { [ apostrophe, quotedbl ] };
+
+ key <AD01> { [ Arabic_qaf, Arabic_veh ] };
+ key <AD02> { [ Arabic_waw, Arabic_shadda ] };
+ key <AD03> { [ Arabic_ain, Arabic_ghain ] };
+ key <AD04> { [ Arabic_ra, Arabic_ghain ] };
+ key <AD05> { [ Arabic_teh, Arabic_tehmarbuta ] };
+ key <AD06> { [ Arabic_yeh, Arabic_alefmaksura ] };
+ key <AD07> { [ Arabic_waw, Arabic_tah ] };
+ key <AD08> { [ Arabic_yeh, U0640 ] }; // U0640 - tatweel
+ key <AD09> { [ Arabic_ain, U200C ] }; // U200C - ZWNJ
+ key <AD10> { [ Arabic_veh, Arabic_teh ] };
+ key <AD11> { [ bracketright, braceright ] };
+ key <AD12> { [ bracketleft, braceleft ] };
+ key <AD13> { [ backslash, bar ] };
+
+
+//others
+
+ key <ESC> { [ Escape ] };
+
+ include "level3(ralt_switch)"
+
+ // End alphanumeric section
+
+};