1default partial alphanumeric_keys
2xkb_symbols "basic" {
3
4    include "us(basic)"
5
6    name[Group1]= "Indonesian (Latin)";
7};
8
9// A layout for the Javanese script, usable for
10// Javanese, Sundanese, Madurese, and others.
11partial alphanumeric_keys
12xkb_symbols "javanese" {
13    name[Group1]= "Javanese";
14
15    key <TLDE> {[  UA9DE,  UA9DF      ]}; // pada tirta tumetes, PADA ISEN-ISEN
16    key <AE01> {[  UA9D1,  UA9C6      ]}; // PADA WINDU
17    key <AE02> {[  UA9D2,  UA9CF      ]}; // PANGRANGKEP
18    key <AE03> {[  UA9D3,  UA9C3      ]}; // ANDAP
19    key <AE04> {[  UA9D4,  UA9C4      ]}; // MADYA
20    key <AE05> {[  UA9D5,  UA9C5      ]}; // LUHUR
21    key <AE06> {[  UA9D6,  UA9BF      ]}; // CAKRA (ra)
22    key <AE07> {[  UA9D7,  UA9BD      ]}; // KERET (rae)
23    key <AE08> {[  UA9D8,  UA9B3      ]}; // CECAK TELU (nukta)
24    key <AE09> {[  UA9D9,  UA9C1      ]}; // Left RERENGAN
25    key <AE10> {[  UA9D0,  UA9C2      ]}; // Right RERENGAN
26    key <AE11> {[  UA98E,  underscore ]}; // o
27    key <AE12> {[  UA989,  UA98B      ]}; // cerek (rae), NGA LELET RASWADI (loe)
28
29    key <AD01> {[  UA990,  UA9B0      ]}; // ka sasak (qa), SA MAHAPRANA (ssa)
30    key <AD02> {[  UA9AE,  UA98D      ]}; // wa, AI
31    key <AD03> {[  UA9BC,  UA98C      ]}; // pepet (ae), E
32    key <AD04> {[  UA9AB,  UA9AC      ]}; // ra, RA AGUNG
33    key <AD05> {[  UA9A0,  UA9A1      ]}; // ta, TA MURDA (tha)
34    key <AD06> {[  UA9AA,  UA9BE      ]}; // ya, PENGKAL
35    key <AD07> {[  UA9B8,  UA9B9      ]}; // suku (u), SUKU MENDUT (uu)
36    key <AD08> {[  UA9B6,  UA9B7      ]}; // wulu (i), WULU MELIK (ii)
37    key <AD09> {[  UA9BA,  UA9B4      ]}; // taling (e), TARUNG (aa)
38    key <AD10> {[  UA9A5,  UA9A6      ]}; // pa, PA MURDA (pha)
39    key <AD11> {[  UA9CA,  UA9CB      ]}; // pada adeg, PADA ADEG ADEG
40    key <AD12> {[  UA9CC,  UA9CD      ]}; // pada piseleh, Turned PADA PISELEH
41
42    key <AC01> {[  UA9BB,  UA984      ]}; // ai, A
43    key <AC02> {[  UA9B1,  UA9AF      ]}; // sa, SA MURDA (sha)
44    key <AC03> {[  UA9A2,  UA9A3      ]}; // da, DA MAHAPRANA (dha)
45    key <AC04> {[  UA99D,  UA99E      ]}; // dda, DDA MAHAPRANA (ddha)
46    key <AC05> {[  UA992,  UA993      ]}; // ga, GA MURDA (gha)
47    key <AC06> {[  UA9B2,  UA983      ]}; // ha, WIGNYAN
48    key <AC07> {[  UA997,  UA999      ]}; // ja, JA MAHAPRANA (jha)
49    key <AC08> {[  UA98F,  UA991      ]}; // ka, KA MURDA (kha)
50    key <AC09> {[  UA9AD,  UA98A      ]}; // la, NGA LELET
51    key <AC10> {[  UA9C7,  UA988      ]}; // pada pangkat, U
52    key <AC11> {[  UA9B5,  quotedbl   ]}; // tolong (o)
53
54    key <BKSL> {[  UA9C0,  UA985      ]}; // pangkon, I KAWI
55
56    key <LSGT> {[    bar,  brokenbar  ]};
57
58    key <AB01> {[  UA994,  UA981      ]}; // nga, CECAK (ng)
59    key <AB02> {[  UA99A,  UA998      ]}; // nya, NYA MURDA (jnya)
60    key <AB03> {[  UA995,  UA996      ]}; // ca, CA MURDA (cha)
61    key <AB04> {[  UA99B,  UA99C      ]}; // tta, TTA MAHAPRANA (ttha)
62    key <AB05> {[  UA9A7,  UA9A8      ]}; // ba, BA MURDA (bha)
63    key <AB06> {[  UA9A4,  UA99F      ]}; // na, NA MURDA (nna)
64    key <AB07> {[  UA9A9,  UA980      ]}; // ma, CANDRABINDU
65    key <AB08> {[  UA9C8,  UA986      ]}; // lingsa, I
66    key <AB09> {[  UA9C9,  UA987      ]}; // lungsi, II
67    key <AB10> {[  UA982,  question   ]}; // layar (r)
68};
69
70//
71// Default phonetic layout for Arab Melayu script.
72//
73partial alphanumeric_keys
74xkb_symbols "melayu-phonetic" {
75
76    name[Group1]= "Indonesian (Arab Melayu, phonetic)";
77
78    key <TLDE> {[  grave,     asciitilde,      VoidSymbol,  VoidSymbol  ]};
79    key <AE01> {[  Arabic_1,  exclam,          1,           VoidSymbol  ]};
80    key <AE02> {[  Arabic_2,  at,              2,           VoidSymbol  ]};
81    key <AE03> {[  Arabic_3,  numbersign,      3,           VoidSymbol  ]};
82    key <AE04> {[  Arabic_4,  VoidSymbol,      4,           dollar      ]};
83    key <AE05> {[  Arabic_5,  Arabic_percent,  5,           percent     ]};
84    key <AE06> {[  Arabic_6,  asciicircum,     6,           VoidSymbol  ]};
85    key <AE07> {[  Arabic_7,  ampersand,       7,           VoidSymbol  ]};
86    key <AE08> {[  Arabic_8,  asterisk,        8,           VoidSymbol  ]};
87    key <AE09> {[  Arabic_9,  parenright,      9,           VoidSymbol  ]};
88    key <AE10> {[  Arabic_0,  parenleft,       0,           VoidSymbol  ]};
89    key <AE11> {[  minus,     Arabic_tatweel,  VoidSymbol,  underscore  ]};
90    key <AE12> {[  equal,     plus,            VoidSymbol,  VoidSymbol  ]};
91
92    key <AD01> {[  Arabic_qaf,          Arabic_maddaonalef,     VoidSymbol,  VoidSymbol  ]};
93    key <AD02> {[  Arabic_waw,          VoidSymbol,             VoidSymbol,  VoidSymbol  ]};
94    key <AD03> {[  Arabic_alefmaksura,  Arabic_ain,             VoidSymbol,  VoidSymbol  ]};
95    key <AD04> {[  Arabic_ra,           VoidSymbol,             VoidSymbol,  VoidSymbol  ]};
96    key <AD05> {[  Arabic_teh,          Arabic_tehmarbuta,      Arabic_tah,  VoidSymbol  ]};
97    key <AD06> {[  Arabic_yeh,          VoidSymbol,             VoidSymbol,  VoidSymbol  ]};
98    key <AD07> {[  Arabic_hamzaonwaw,   VoidSymbol,             VoidSymbol,  VoidSymbol  ]};
99    key <AD08> {[  Arabic_hamzaonyeh,   Arabic_hamzaunderalef,  VoidSymbol,  VoidSymbol  ]};
100    key <AD09> {[  Arabic_hamza,        U0674,                  VoidSymbol,  VoidSymbol  ]}; // high_hamza
101    key <AD10> {[  Arabic_veh,          VoidSymbol,             VoidSymbol,  VoidSymbol  ]}; // p
102    key <AD11> {[  bracketright,        braceright,             VoidSymbol,  VoidSymbol  ]};
103    key <AD12> {[  bracketleft,         braceleft,              VoidSymbol,  VoidSymbol  ]};
104    key <BKSL> {[  backslash,           bar,                    VoidSymbol,  VoidSymbol  ]};
105
106    key <AC01> {[  Arabic_alef,       Arabic_hamzaonalef,  VoidSymbol,       VoidSymbol  ]};
107    key <AC02> {[  Arabic_seen,       Arabic_sheen,        Arabic_sad,       Arabic_theh ]};
108    key <AC03> {[  Arabic_dal,        VoidSymbol,          Arabic_dad,       VoidSymbol  ]};
109    key <AC04> {[  Arabic_feh,        VoidSymbol,          VoidSymbol,       VoidSymbol  ]};
110    key <AC05> {[  U0762,             U06A0,               Arabic_ghain,     U06AF       ]}; // g, ng, gaf (Tausug)
111    key <AC06> {[  Arabic_ha,         Arabic_hah,          VoidSymbol,       VoidSymbol  ]};
112    key <AC07> {[  Arabic_jeem,       VoidSymbol,          VoidSymbol,       VoidSymbol  ]};
113    key <AC08> {[  Arabic_keheh,      Arabic_kaf,          VoidSymbol,       VoidSymbol  ]}; // k
114    key <AC09> {[  Arabic_lam,        VoidSymbol,          VoidSymbol,       VoidSymbol  ]};
115    key <AC10> {[  Arabic_semicolon,  colon,               semicolon,        VoidSymbol  ]};
116    key <AC11> {[  guillemotleft,     guillemotright,      apostrophe,       quotedbl    ]};
117
118    key <LSGT> {[  bar,             brokenbar,             VoidSymbol,       VoidSymbol  ]};
119    key <AB01> {[  Arabic_zain,     Arabic_thal,           Arabic_zah,       VoidSymbol  ]};
120    key <AB02> {[  Arabic_khah,     VoidSymbol,            VoidSymbol,       VoidSymbol  ]};
121    key <AB03> {[  Arabic_tcheh,    VoidSymbol,            VoidSymbol,       VoidSymbol  ]}; // c
122    key <AB04> {[  Arabic_theh,     VoidSymbol,            VoidSymbol,       U06CF       ]}; // waw_with_dot_above (Malay)
123    key <AB05> {[  Arabic_beh,      VoidSymbol,            VoidSymbol,       VoidSymbol  ]};
124    key <AB06> {[  Arabic_noon,     U06BD,                 VoidSymbol,       VoidSymbol  ]}; // ny
125    key <AB07> {[  Arabic_meem,     VoidSymbol,            VoidSymbol,       VoidSymbol  ]};
126    key <AB08> {[  Arabic_comma,    greater,               comma,            U066B       ]}; // decimal_separator
127    key <AB09> {[  period,          less,                  Arabic_fullstop,  U066C       ]}; // thousands_separator
128    key <AB10> {[  slash,           Arabic_question_mark,  U060D,            question    ]}; // date_separator
129
130    include "level3(ralt_switch)"
131};
132
133//
134// Extended phonetic layout for Arab Melayu, with extra, non-standard characters.
135//
136partial alphanumeric_keys
137xkb_symbols "melayu-phoneticx" {
138
139    include "id(melayu-phonetic)"
140    name[Group1]= "Indonesian (Arab Melayu, extended phonetic)";
141
142    key <AE01> {[  NoSymbol,  NoSymbol,  NoSymbol,       Arabic_superscript_alef  ]};
143    key <AE09> {[  NoSymbol,  NoSymbol,  NoSymbol,       UFD3E                    ]}; // ornate_left
144    key <AE10> {[  NoSymbol,  NoSymbol,  NoSymbol,       UFD3F                    ]}; // ornate_right
145
146    key <AD02> {[  NoSymbol,  NoSymbol,  Arabic_shadda,  NoSymbol                 ]};
147    key <AD03> {[  NoSymbol,  NoSymbol,  U08E6,          U08E4                    ]}; // curly_kasra, curly_fatha
148    key <AD07> {[  NoSymbol,  NoSymbol,  Arabic_damma,   Arabic_dammatan          ]};
149    key <AD08> {[  NoSymbol,  NoSymbol,  Arabic_kasra,   Arabic_kasratan          ]};
150    key <AD09> {[  NoSymbol,  NoSymbol,  U065D,          NoSymbol                 ]}; // reversed_damma
151
152    key <AC01> {[  NoSymbol,  NoSymbol,  Arabic_fatha,   Arabic_fathatan          ]};
153    key <AC07> {[  NoSymbol,  NoSymbol,  U08F8,          NoSymbol                 ]}; // right_arrowhead_above
154
155    key <AB02> {[  NoSymbol,  NoSymbol,  U065B,          U065C                    ]}; // inverted_small_v_above, dot_below
156    key <AB03> {[  NoSymbol,  NoSymbol,  Arabic_sukun,   U06E1                    ]}; // small_high_dotless_head_of_khah
157};
158
159//
160// Phonetic layout for Pegon script.
161//
162partial alphanumeric_keys
163xkb_symbols "pegon-phonetic" {
164
165    name[Group1]= "Indonesian (Arab Pegon, phonetic)";
166
167    key <TLDE> {[  grave,     asciitilde,      VoidSymbol,  VoidSymbol  ]};
168    key <AE01> {[  Arabic_1,  exclam,          1,           VoidSymbol  ]};
169    key <AE02> {[  Arabic_2,  at,              2,           VoidSymbol  ]};
170    key <AE03> {[  Arabic_3,  numbersign,      3,           VoidSymbol  ]};
171    key <AE04> {[  Arabic_4,  VoidSymbol,      4,           dollar      ]};
172    key <AE05> {[  Arabic_5,  Arabic_percent,  5,           percent     ]};
173    key <AE06> {[  Arabic_6,  asciicircum,     6,           VoidSymbol  ]};
174    key <AE07> {[  Arabic_7,  ampersand,       7,           VoidSymbol  ]};
175    key <AE08> {[  Arabic_8,  asterisk,        8,           VoidSymbol  ]};
176    key <AE09> {[  Arabic_9,  parenright,      9,           VoidSymbol  ]};
177    key <AE10> {[  Arabic_0,  parenleft,       0,           VoidSymbol  ]};
178    key <AE11> {[  minus,     Arabic_tatweel,  VoidSymbol,  underscore  ]};
179    key <AE12> {[  equal,     plus,            VoidSymbol,  VoidSymbol  ]};
180
181    key <AD01> {[  Arabic_qaf,          Arabic_maddaonalef,     VoidSymbol,  VoidSymbol  ]};
182    key <AD02> {[  Arabic_waw,          VoidSymbol,             VoidSymbol,  VoidSymbol  ]};
183    key <AD03> {[  Arabic_alefmaksura,  Arabic_ain,             VoidSymbol,  VoidSymbol  ]};
184    key <AD04> {[  Arabic_ra,           VoidSymbol,             VoidSymbol,  VoidSymbol  ]};
185    key <AD05> {[  Arabic_teh,          U069F,                  Arabic_tah,  Arabic_tehmarbuta ]}; // th
186    key <AD06> {[  Arabic_yeh,          VoidSymbol,             VoidSymbol,  VoidSymbol  ]};
187    key <AD07> {[  Arabic_hamzaonwaw,   VoidSymbol,             VoidSymbol,  VoidSymbol  ]};
188    key <AD08> {[  Arabic_hamzaonyeh,   Arabic_hamzaunderalef,  VoidSymbol,  VoidSymbol  ]};
189    key <AD09> {[  Arabic_hamza,        VoidSymbol,             VoidSymbol,  VoidSymbol  ]};
190    key <AD10> {[  Arabic_veh,          VoidSymbol,             VoidSymbol,  VoidSymbol  ]}; // p
191    key <AD11> {[  bracketright,        braceright,             VoidSymbol,  VoidSymbol  ]};
192    key <AD12> {[  bracketleft,         braceleft,              VoidSymbol,  VoidSymbol  ]};
193    key <BKSL> {[  backslash,           bar,                    VoidSymbol,  VoidSymbol  ]};
194
195    key <AC01> {[  Arabic_alef,       Arabic_hamzaonalef,  VoidSymbol,       VoidSymbol  ]};
196    key <AC02> {[  Arabic_seen,       Arabic_sheen,        Arabic_sad,       Arabic_theh ]};
197    key <AC03> {[  Arabic_dal,        U068E,               Arabic_dad,       VoidSymbol  ]}; // dh
198    key <AC04> {[  Arabic_feh,        VoidSymbol,          VoidSymbol,       VoidSymbol  ]};
199    key <AC05> {[  U06AE,             U06A0,               Arabic_ghain,     VoidSymbol  ]}; // g, ng
200    key <AC06> {[  Arabic_ha,         Arabic_hah,          VoidSymbol,       VoidSymbol  ]};
201    key <AC07> {[  Arabic_jeem,       VoidSymbol,          VoidSymbol,       VoidSymbol  ]};
202    key <AC08> {[  Arabic_kaf,        VoidSymbol,          VoidSymbol,       VoidSymbol  ]};
203    key <AC09> {[  Arabic_lam,        VoidSymbol,          VoidSymbol,       VoidSymbol  ]};
204    key <AC10> {[  Arabic_semicolon,  colon,               semicolon,        VoidSymbol  ]};
205    key <AC11> {[  guillemotleft,     guillemotright,      apostrophe,       quotedbl    ]};
206
207    key <LSGT> {[  bar,             brokenbar,             VoidSymbol,       VoidSymbol  ]};
208    key <AB01> {[  Arabic_zain,     Arabic_thal,           Arabic_zah,       VoidSymbol  ]};
209    key <AB02> {[  Arabic_khah,     VoidSymbol,            VoidSymbol,       VoidSymbol  ]};
210    key <AB03> {[  Arabic_tcheh,    VoidSymbol,            VoidSymbol,       VoidSymbol  ]}; // c
211    key <AB04> {[  Arabic_theh,     VoidSymbol,            VoidSymbol,       U06CF       ]}; // v
212    key <AB05> {[  Arabic_beh,      VoidSymbol,            VoidSymbol,       VoidSymbol  ]};
213    key <AB06> {[  Arabic_noon,     U06D1,                 VoidSymbol,       VoidSymbol  ]}; // ny
214    key <AB07> {[  Arabic_meem,     VoidSymbol,            VoidSymbol,       VoidSymbol  ]};
215    key <AB08> {[  Arabic_comma,    greater,               comma,            U066B       ]}; // decimal_separator
216    key <AB09> {[  period,          less,                  Arabic_fullstop,  U066C       ]}; // thousands_separator
217    key <AB10> {[  slash,           Arabic_question_mark,  U060D,            question    ]}; // date_separator
218
219    include "level3(ralt_switch)"
220};
221
222