in revision 1.16 1 // This layout includes all Indian layouts, including:
2 // - Hindi
3 // - Marathi
4 // - Sanskrit
5 // - Bangla
6 // - Gujarati
7 // - Kannada
8 // - Malayalam
9 // - Ol Chiki
10 // - Oriya
11 // - Tamil
12 // - Telugu
13 // - Urdu
14
15 // Links:
16 // - Indic INSCRIPT keyboard layout diagrams:
17 // http://java.sun.com/products/jfc/tsc/articles/InputMethod/indiclayout.html
18 // - Bangla Baishakhi (Bangla layouts):
19 // - Bangla Baishakhi InScript (Bangla layouts):
20 // - Bangla Bornona (Bangla layouts):
21 // - Uni Gitanjali (Bangla layouts):
22 // http://nltr.org
23 // - Ekusheyr Shadhinota (Bangla layouts):
24 // http://ekushey.org/projects/shadhinota/index.html
25 // - Microsoft Windows XP SP2: Indic Language Standards - an Introduction:
26 // http://www.bhashaindia.com/MSProducts/XpSp2/Articles/IndicLanguageStandards.aspx
27 // - Ol Chiki:
28 // http://www.unicode.org/L2/L2005/05243r-n2984-ol-chiki.pdf (fig. 9)
29
30 // Devangari is the default. Kill me if I am wrong:)
31 default partial alphanumeric_keys
32 xkb_symbols "deva" {
33 // March 2004 -- David Holl <smyrph+dev_xkb (a] ece.wpi.edu>
34 name[Group1]="Indian";
35
36 key.type="FOUR_LEVEL";
37
38 key <TLDE> { [ U094a, U0912, grave, asciitilde ] };
39 key <AE01> { [ U0967, U090d, 1, exclam ] };
40 key <AE02> { [ U0968, U0945, 2, at ] };
41 // Shift+AE0[3-8] really need to return a macro of keys defined by
42 // INSCRIPT in place of the symbols that are here for now. But this
43 // requires XKB to map 1 key into two to three other key presses.
44 key <AE03> { [ U0969, numbersign, 3, numbersign ] };
45 key <AE04> { [ U096a, dollar, 4, U20b9 ] }; // Rupee
46 key <AE05> { [ U096b, percent, 5, percent ] };
47 key <AE06> { [ U096c, asciicircum, 6, asciicircum ] };
48 key <AE07> { [ U096d, ampersand, 7, ampersand ] };
49 key <AE08> { [ U096e, asterisk, 8, asterisk ] };
50 key <AE09> { [ U096f, parenleft, 9, parenleft ] };
51 key <AE10> { [ U0966, parenright, 0, parenright ] };
52 key <AE11> { [ minus, U0903, minus, underscore ] };
53 key <AE12> { [ U0943, U090b, U0944, U0960 ] };
54
55 key <AD01> { [ U094c, U0914 ] };
56 key <AD02> { [ U0948, U0910 ] };
57 key <AD03> { [ U093e, U0906 ] };
58 key <AD04> { [ U0940, U0908, U0963, U0961 ] };
59 key <AD05> { [ U0942, U090a ] };
60 key <AD06> { [ U092c, U092d ] };
61 key <AD07> { [ U0939, U0919 ] };
62 key <AD08> { [ U0917, U0918, U095a ] };
63 key <AD09> { [ U0926, U0927 ] };
64 key <AD10> { [ U091c, U091d, U095b ] };
65 key <AD11> { [ U0921, U0922, U095c, U095d ] };
66 key <AD12> { [ U093c, U091e ] };
67 // I added \ / ? | for shell-convenience (file names and piping)
68 key <BKSL> { [ U0949, U0911, U005C, U007C ] };
69
70 key <AC01> { [ U094b, U0913 ] };
71 key <AC02> { [ U0947, U090f ] };
72 key <AC03> { [ U094d, U0905 ] };
73 key <AC04> { [ U093f, U0907, U0962, U090c ] };
74 key <AC05> { [ U0941, U0909 ] };
75 key <AC06> { [ U092a, U092b, NoSymbol, U095e ] };
76 key <AC07> { [ U0930, U0931 ] };
77 key <AC08> { [ U0915, U0916, U0958, U0959 ] };
78 key <AC09> { [ U0924, U0925 ] };
79 key <AC10> { [ U091a, U091b, U0952 ] };
80 key <AC11> { [ U091f, U0920, NoSymbol, U0951 ] };
81
82 key <AB01> { [ U0946, U090e, U0953 ] };
83 key <AB02> { [ U0902, U0901, NoSymbol, U0950 ] };
84 key <AB03> { [ U092e, U0923, U0954 ] };
85 key <AB04> { [ U0928, U0929 ] };
86 key <AB05> { [ U0935, U0934 ] };
87 key <AB06> { [ U0932, U0933 ] };
88 key <AB07> { [ U0938, U0936 ] };
89 key <AB08> { [ comma, U0937, U0970 ] };
90 key <AB09> { [ period, U0964, U0965, U093d ] };
91 // I added \ / ? | for shell-convenience (file names and piping)
92 key <AB10> { [ U092f, U095f, slash, question ] };
93
94 // space, space, Zero-Width-Non-Joiner (ZWNJ), Zero-Width-Joiner (ZWJ):
95 include "nbsp(zwnj3zwj4)"
96 include "level3(ralt_switch)"
97 };
98
99 //Name : Bolnagri (Combined)
100 //Description : A phonetic keyboard layout for Devnagari(Hindi)
101 // http://www.indlinux.org/wiki/index.php/BolNagri
102 //NOTE : This is a combined map of bolnagri_matras and bolnagri_vowels.
103 //Inspired by "devrom" keymap by Steve Smith for the windows tool "keyman"
104 //Original Author : Noah Levitt<nlevitt at columbia.edu>
105 //Past Authors : Pramod.R <pramodr at gmail.com> and Ravikant <ravikant at sarai.net>
106 //Current Main. : G Karunakar <karunakar (a] indlinux.org>
107
108 partial alphanumeric_keys
109 xkb_symbols "bolnagri" {
110 name[Group1] = "Hindi (Bolnagri)";
111 key.type="FOUR_LEVEL";
112
113 // Roman digits
114 key <TLDE> { [ U0902, U0901, grave, asciitilde ] }; // grave: anusvara, candrabindu
115 key <AE01> { [ 1, exclam, U0967, exclam ] };
116 key <AE02> { [ 2, at, U0968, at ] };
117 key <AE03> { [ 3, numbersign, U0969, numbersign ] };
118 key <AE04> { [ 4, dollar, U096A, U20B9 ] }; // Rupee
119 key <AE05> { [ 5, percent, U096B, percent ] };
120 key <AE06> { [ 6, asciicircum, U096C, asciicircum ] };
121 key <AE07> { [ 7, ampersand, U096D, ampersand ] };
122 key <AE08> { [ 8, asterisk, U096E, asterisk ] };
123 key <AE09> { [ 9, parenleft, U096F, parenleft ] };
124 key <AE10> { [ 0, parenright, U0966, parenright ] };
125 key <AE11> { [ minus, underscore ] };
126 key <AE12> { [ equal, plus ] };
127 key <BKSL> { [ U0964, U0965, U007C, U005C ] }; //pipe : danda, double danda
128
129 //Q Row
130 key <AD01> { [ U200C, U200D ] }; // Q: ZWNJ, ZWJ
131 key <AD02> { [ U0935, U950 ] }; // W: wa, OM
132 key <AD03> { [ U0947, U0948, U090F, U0910 ] }; // E: e, ai matras
133 key <AD04> { [ U0930, U0943, U0931, U090B ] }; // R: ra, vocalic Ri
134 key <AD05> { [ U0924, U0925 ] }; // T: ta, tha
135 key <AD06> { [ U092f, U091E ] }; // Y: ya, nya
136 key <AD07> { [ U0941, U0942, U0909, U090A ] }; // U: u, uu matras
137 key <AD08> { [ U093F, U0940, U0907, U0908 ] }; // I: i, ii matras
138 key <AD09> { [ U094B, U094C, U0913, U0914 ] }; // O: o, au matras
139 key <AD10> { [ U092A, U092B ] }; // P: pa, pha
140 key <AD11> { [ bracketleft, braceleft ] };
141 key <AD12> { [ bracketright, braceright ] };
142
143 //A Row
144 key <AC01> { [ U093E, U0906, U0905, U0906 ] }; // A: aa, full A, AA
145 key <AC02> { [ U0938, U0937 ] }; // S: sa, ssa
146 key <AC03> { [ U0926, U0927 ] }; // D: da, dha
147 key <AC04> { [ U091F, U0920 ] }; // F: TA, THA
148 key <AC05> { [ U0917, U0918 ] }; // G: ga, gha
149 key <AC06> { [ U0939, U0903 ] }; // H: ha, visarg
150 key <AC07> { [ U091C, U091D ] }; // J: ja, jha
151 key <AC08> { [ U0915, U0916 ] }; // K: ka, kha
152 key <AC09> { [ U0932, U0933, U0962, U090C ] }; // L: la, vocalic L or lru matra
153 key <AC10> { [ semicolon, colon ] };
154 key <AC11> { [apostrophe, quotedbl ] };
155
156 //Z Row
157 key <AB01> { [ U0936, U0945, U0936, U090D ] }; // Z: sha, akaar candra
158 key <AB02> { [ U094D, U0949, U094D, U0911 ] }; // X: halant, aakaar candra, chandra A
159 key <AB03> { [ U091A, U091B ] }; // C: ca, cha
160 key <AB04> { [ U0921, U0922 ] }; // V: da, dha
161 key <AB05> { [ U092C, U092D ] }; // B: ba, bha
162 key <AB06> { [ U0928, U0923 ] }; // N: na, nna
163 key <AB07> { [ U092E, U0919, U092E, U093D ] }; // M: ma, nga, avagraha
164 key <AB08> { [ comma, U0970 ] };// comma: comma, dev abbreviation sign
165 key <AB09> { [ period, U093C ] }; // period: period, nukta
166 key <AB10> { [ slash, question ] };
167
168 // modifier_map Shift { Shift_L };
169 // modifier_map Lock { Caps_Lock };
170 // modifier_map Control{ Control_L };
171 // modifier_map Mod3 { Mode_switch };
172
173 include "level3(ralt_switch)"
174 };
175
176 partial alphanumeric_keys
177 xkb_symbols "ben" {
178 name[Group1]= "Bangla (India)";
179
180 // Mainly numbers.
181 key <AE01> { [ U09E7 ] };
182 key <AE02> { [ U09E8 ] };
183 key <AE03> { [ U09E9 ] };
184 key <AE04> { [ U09EA ] };
185 key <AE05> { [ U09EB ] };
186 key <AE06> { [ U09EC ] };
187 key <AE07> { [ U09ED ] };
188 key <AE08> { [ U09EE ] };
189 key <AE09> { [ U09EF, parenleft ] };
190 key <AE10> { [ U09E6, parenright ] };
191 key <AE11> { [ minus, U0983 ] };
192 key <AE12> { [ U098B, U09C3 ] };
193
194 // Mainly long vowels
195
196 key <AD01> { [ U09CC, U0994 ] };
197 key <AD02> { [ U09C8, U0990 ] };
198 key <AD03> { [ U09BE, U0986 ] };
199 key <AD04> { [ U09C0, U0988 ] };
200 key <AD05> { [ U09C2, U098A ] };
201
202 // Mainly voiced consonants
203
204 key <AD06> { [ U09AC, U09AD ] };
205 key <AD07> { [ U09B9, U0999 ] };
206 key <AD08> { [ U0997, U0998 ] };
207 key <AD09> { [ U09A6, U09A7 ] };
208 key <AD10> { [ U099C, U099D ] };
209 key <AD11> { [ U09A1, U09A2 ] };
210 key <AD12> { [ U09BC, U099E ] };
211
212 // Mainly short vowels
213 key <AC01> { [ U09CB, U0993 ] };
214 key <AC02> { [ U09C7, U098F ] };
215 key <AC03> { [ U09CD, U0985 ] };
216 key <AC04> { [ U09BF, U0987 ] };
217 key <AC05> { [ U09C1, U0989 ] };
218
219
220 // Mainly unvoiced consonants
221
222 key <AC06> { [ U09AA, U09AB ] };
223 key <AC07> { [ U09B0, U09DD ] };
224 key <AC08> { [ U0995, U0996 ] };
225 key <AC09> { [ U09A4, U09A5 ] };
226 key <AC10> { [ U099A, U099B ] };
227 key <AC11> { [ U099F, U09A0 ] };
228 key <BKSL> { [ U005C, U007C ] };
229
230 key <AB01> { [ z, Z ] };
231 key <AB02> { [ U0982, U0981 ] };
232 key <AB03> { [ U09AE, U09A3 ] };
233 key <AB04> { [ U09A8, U09A8 ] };
234 key <AB05> { [ U09AC, U09AC ] };
235 key <AB06> { [ U09B2, U09B2 ] };
236 key <AB07> { [ U09B8, U09B6 ] };
237 key <AB08> { [ comma, U09B7 ] };
238 key <AB09> { [ period, U0964 ] };
239 key <AB10> { [ U09DF, U09AF ] };
240
241 include "level3(ralt_switch)"
242 include "rupeesign(4)"
243 };
244
245 xkb_symbols "ben_probhat" {
246 name[Group1]= "Bangla (India, Probhat)";
247 key.type="FOUR_LEVEL";
248
249 key <ESC> { [ Escape ] };
250
251 // numbers
252 key <TLDE> { [ U200D, asciitilde ] };
253 key <AE01> { [ U09E7, exclam, U09F4 ] };
254 key <AE02> { [ U09E8, at, U09F5 ] };
255 key <AE03> { [ U09E9, numbersign, U09F6 ] };
256 key <AE04> { [ U09EA, U09F3, U09F7, U09F2 ] };
257 key <AE05> { [ U09EB, percent ] };
258 key <AE06> { [ U09EC, asciicircum ] };
259 key <AE07> { [ U09ED, U099E, U09FA ] };
260 key <AE08> { [ U09EE, U09CE ] };
261 key <AE09> { [ U09EF, parenleft ] };
262 key <AE10> { [ U09E6, parenright, U09F8, U09F9 ] };
263 key <AE11> { [ minus, underscore ] };
264 key <AE12> { [ equal, plus ] };
265 key <BKSP> { [ BackSpace ] };
266
267 // tab, q to ]
268 key <TAB> { [ Tab, ISO_Left_Tab ] };
269 key <AD01> { [ U09A6, U09A7 ] };
270 key <AD02> { [ U09C2, U098A ] };
271 key <AD03> { [ U09C0, U0988 ] };
272 key <AD04> { [ U09B0, U09DC ] };
273 key <AD05> { [ U099F, U09A0 ] };
274 key <AD06> { [ U098F, U0990 ] };
275 key <AD07> { [ U09C1, U0989 ] };
276 key <AD08> { [ U09BF, U0987 ] };
277 key <AD09> { [ U0993, U0994 ] };
278 key <AD10> { [ U09AA, U09AB ] };
279 key <AD11> { [ U09C7, U09C8 ] };
280 key <AD12> { [ U09CB, U09CC, U09D7 ] };
281 key <RTRN> { [ Return ] };
282
283 // caps, a to '
284 // key <CAPS> { [ Caps_Lock ] };
285 key <AC01> { [ U09BE, U0985, U098C, U09E0 ] };
286 key <AC02> { [ U09B8, U09B7, U09E1, U09E3 ] };
287 key <AC03> { [ U09A1, U09A2, U09C4, U09E2 ] };
288 key <AC04> { [ U09A4, U09A5 ] };
289 key <AC05> { [ U0997, U0998 ] };
290 key <AC06> { [ U09B9, U0983, U09BD ] };
291 key <AC07> { [ U099C, U099D ] };
292 key <AC08> { [ U0995, U0996 ] };
293 key <AC09> { [ U09B2, U0982 ] };
294 key <AC10> { [ semicolon, colon ] };
295 key <AC11> { [ apostrophe, quotedbl ] };
296
297 // shift, z to /
298 // key <LFSH> { [ Shift_L ] };
299 key <AB01> { [ U09DF, U09AF ] };
300 key <AB02> { [ U09B6, U09DD ] };
301 key <AB03> { [ U099A, U099B ] };
302 key <AB04> { [ U0986, U098B ] };
303 key <AB05> { [ U09AC, U09AD ] };
304 key <AB06> { [ U09A8, U09A3 ] };
305 key <AB07> { [ U09AE, U0999 ] };
306 key <AB08> { [ comma, U09C3 ] };
307 key <AB09> { [ U0964, U0981, U09BC ] };
308 key <AB10> { [ U09CD, question ] };
309 key <BKSL> { [ U200C, U0965 ] };
310
311 // key <LCTL> { [ Control_L ] };
312 // key <SPCE> { [ space ] };
313
314 // modifier_map Shift { Shift_L };
315 // modifier_map Lock { Caps_Lock };
316 // modifier_map Control{ Control_L };
317
318 include "level3(ralt_switch)"
319 include "rupeesign(4)"
320 };
321
322 // Bangla Baishakhi, Bangla Baishakhi InScript, Bangla Bornona, Uni Gitanjali Layouts are added by Promathesh Mandal <promathesh812004 (a] gmail.com>
323
324 xkb_symbols "ben_baishakhi" {
325 name[Group1]= "Bangla (India, Baishakhi)";
326 key <ESC> { [ Escape ] };
327
328 // numbers
329 key <TLDE> { [ 0x100200D, 0x100200C ] };
330 key <AE01> { [ 0x10009E7, exclam ] };
331 key <AE02> { [ 0x10009E8, at ] };
332 key <AE03> { [ 0x10009E9, numbersign ] };
333 key <AE04> { [ 0x10009EA, dollar, 0x10009F2 ] };
334 key <AE05> { [ 0x10009EB, percent ] };
335 key <AE06> { [ 0x10009EC, asciicircum, 0x10009D7 ] };
336 key <AE07> { [ 0x10009ED, ampersand ] };
337 key <AE08> { [ 0x10009EE, asterisk,0x10009FA ] };
338 key <AE09> { [ 0x10009EF, parenleft ] };
339 key <AE10> { [ 0x10009E6, parenright ] };
340 key <AE11> { [ minus, underscore ] };
341 key <AE12> { [ equal, plus ] };
342 key <BKSP> { [ BackSpace ] };
343
344 // tab, q to ]
345 key <TAB> { [ Tab, ISO_Left_Tab ] };
346 key <AD01> { [ 0x10009A1, 0x10009A2 ] };
347 key <AD02> { [ 0x10009C0 , 0x10009C2 ] };
348 key <AD03> { [ 0x10009C7, 0x100098F, 0x1000990 ] };
349 key <AD04> { [ 0x10009B0 , 0x10009C3, 0x100098B ] };
350 key <AD05> { [ 0x100099F, 0x10009A0 ] };
351 key <AD06> { [ 0x10009AF, 0x10009DF ] };
352 key <AD07> { [ 0x10009C1, 0x1000989, 0x100098A ] };
353 key <AD08> { [ 0x10009BF, 0x1000987, 0x1000988 ] };
354 key <AD09> { [ 0x10009CB, 0x1000993, 0x1000994 ] };
355 key <AD10> { [ 0x10009AA, 0x10009AB ] };
356 key <AD11> { [ bracketleft, braceleft] };
357 key <AD12> { [ bracketright, braceright ] };
358 key <RTRN> { [ Return ] };
359
360 // caps, a to '
361 // key <CAPS> { [ Caps_Lock ] };
362 key <AC01> { [ 0x10009BE, 0x1000985, 0x1000986 ] };
363 key <AC02> { [ 0x10009B8, 0x10009B6, 0x10009B7 ] };
364 key <AC03> { [ 0x10009A6, 0x10009A7 ] };
365 key <AC04> { [ 0x10009A4, 0x10009A5, 0x10009CE ] };
366 key <AC05> { [ 0x1000997, 0x1000998 ] };
367 key <AC06> { [ 0x10009CD, 0x10009B9, 0x1000983 ] };
368 key <AC07> { [ 0x100099C, 0x100099D ] };
369 key <AC08> { [ 0x1000995, 0x1000996 ] };
370 key <AC09> { [ 0x10009B2, 0x1000964, 0x100098C ] };
371 key <AC10> { [ semicolon, colon ] };
372 key <AC11> { [ apostrophe, quotedbl ] };
373
374 // shift, z to /
375 // key <LFSH> { [ Shift_L ] };
376 key <AB01> { [ 0x10009C8, 0x10009CC ] };
377 key <AB02> { [ 0x10009DC, 0x10009DD ] };
378 key <AB03> { [ 0x100099A, 0x100099B ] };
379 key <AB04> { [ 0x10009F1, 0x10009F0 ] };
380 key <AB05> { [ 0x10009AC, 0x10009AD ] };
381 key <AB06> { [ 0x10009A8, 0x10009A3, 0x100099E ] };
382 key <AB07> { [ 0x10009AE, 0x1000999, 0x1000981 ] };
383 key <AB08> { [ comma, less ] };
384 key <AB09> { [ period, greater,0x10009BC ] };
385 key <AB10> { [ slash, question, 0x1000982 ] };
386 key <BKSL> { [ backslash, bar ] };
387
388 // third level with right-alt
389 include "level3(ralt_switch)"
390
391 // key <LCTL> { [ Control_L ] };
392 // key <SPCE> { [ space ] };
393
394 // modifier_map Shift { Shift_L };
395 // modifier_map Lock { Caps_Lock };
396 // modifier_map Control{ Control_L };
397 };
398
399 xkb_symbols "ben_inscript" {
400 name[Group1]= "Bangla (India, Baishakhi InScript)";
401
402 // Mainly numbers.
403 key <TLDE> { [ 0x100200D, 0x100200C ] };
404 key <AE01> { [ 0x10009E7 ] };
405 key <AE02> { [ 0x10009E8 ] };
406 key <AE03> { [ 0x10009E9 ] };
407 key <AE04> { [ 0x10009EA ] };
408 key <AE05> { [ 0x10009EB ] };
409 key <AE06> { [ 0x10009EC ] };
410 key <AE07> { [ 0x10009ED ] };
411 key <AE08> { [ 0x10009EE ] };
412 key <AE09> { [ 0x10009EF, parenleft ] };
413 key <AE10> { [ 0x10009E6, parenright ] };
414 key <AE11> { [ minus, 0x1000983 ] };
415 key <AE12> { [ 0x10009C3, 0x100098B ] };
416
417 // Mainly long vowels
418
419 key <AD01> { [ 0x10009CC, 0x1000994 ] };
420 key <AD02> { [ 0x10009C8, 0x1000990 ] };
421 key <AD03> { [ 0x10009BE, 0x1000986 ] };
422 key <AD04> { [ 0x10009C0, 0x1000988 ] };
423 key <AD05> { [ 0x10009C2, 0x100098A ] };
424
425 // Mainly voiced consonants
426
427 key <AD06> { [ 0x10009AC, 0x10009AD ] };
428 key <AD07> { [ 0x10009B9, 0x1000999 ] };
429 key <AD08> { [ 0x1000997, 0x1000998 ] };
430 key <AD09> { [ 0x10009A6, 0x10009A7 ] };
431 key <AD10> { [ 0x100099C, 0x100099D ] };
432 key <AD11> { [ 0x10009A1, 0x10009A2 ] };
433 key <AD12> { [ 0x10009BC, 0x100099E ] };
434
435 // Mainly short vowels
436 key <AC01> { [ 0x10009CB, 0x1000993 ] };
437 key <AC02> { [ 0x10009C7, 0x100098F ] };
438 key <AC03> { [ 0x10009CD, 0x1000985 ] };
439 key <AC04> { [ 0x10009BF, 0x1000987 ] };
440 key <AC05> { [ 0x10009C1, 0x1000989 ] };
441
442
443 // Mainly unvoiced consonants
444
445 key <AC06> { [ 0x10009AA, 0x10009AB ] };
446 key <AC07> { [ 0x10009B0, 0x10009DD ] };
447 key <AC08> { [ 0x1000995, 0x1000996 ] };
448 key <AC09> { [ 0x10009A4, 0x10009A5 ] };
449 key <AC10> { [ 0x100099A, 0x100099B ] };
450 key <AC11> { [ 0x100099F, 0x10009A0 ] };
451 key <BKSL> { [ backslash, bar ] };
452
453 key <AB01> { [ 0x10009CE ] };
454 key <AB02> { [ 0x1000982, 0x1000981 ] };
455 key <AB03> { [ 0x10009AE, 0x10009A3 ] };
456 key <AB04> { [ 0x10009A8, 0x10009A8 ] };
457 key <AB05> { [ 0x10009AC, 0x10009AC ] };
458 key <AB06> { [ 0x10009B2, 0x10009B2 ] };
459 key <AB07> { [ 0x10009B8, 0x10009B6 ] };
460 key <AB08> { [ comma, 0x10009B7 ] };
461 key <AB09> { [ period, 0x1000964 ] };
462 key <AB10> { [ 0x10009DF, 0x10009AF ] };
463 };
464
465 xkb_symbols "ben_gitanjali" {
466 name[Group1]= "Bangla (India, Gitanjali)";
467 key <ESC> { [ Escape ] };
468
469 // numbers
470 key <TLDE> { [ colon, question ] };
471 key <AE01> { [ 0x10009E7, 0x10009CE ] };
472 key <AE02> { [ 0x10009E8, apostrophe ] };
473 key <AE03> { [ 0x10009E9, numbersign ] };
474 key <AE04> { [ 0x10009EA, 0x10009F3 ] };
475 key <AE05> { [ 0x10009EB, slash ] };
476 key <AE06> { [ 0x10009EC, period ] };
477 key <AE07> { [ 0x10009ED, ampersand ] };
478 key <AE08> { [ 0x10009EE, asterisk ] };
479 key <AE09> { [ 0x10009EF, parenleft ] };
480 key <AE10> { [ 0x10009E6, parenright ] };
481 key <AE11> { [ minus, 0x1000983 ] };
482 key <AE12> { [ 0x10009C3, 0x100098B ] };
483 key <BKSP> { [ BackSpace ] };
484
485 // tab, q to ]
486 key <TAB> { [ Tab, ISO_Left_Tab ] };
487 key <AD01> { [ 0x10009D7, 0x1000994 ] };
488 key <AD02> { [ 0x10009C8, 0x1000990 ] };
489 key <AD03> { [ 0x10009BE, 0x1000985 ] };
490 key <AD04> { [ 0x10009C0, 0x1000988 ] };
491 key <AD05> { [ 0x10009C2, 0x100098A ] };
492 key <AD06> { [ 0x10009AC, 0x10009AD ] };
493 key <AD07> { [ 0x10009B9, 0x1000999 ] };
494 key <AD08> { [ 0x1000997, 0x1000998 ] };
495 key <AD09> { [ 0x10009A6, 0x10009A7 ] };
496 key <AD10> { [ 0x100099C, 0x100099D ] };
497 key <AD11> { [ 0x10009A1, 0x10009A2 ] };
498 key <AD12> { [ 0x100200C, 0x100099E ] };
499 key <RTRN> { [ Return ] };
500
501 // caps, a to '
502 // key <CAPS> { [ Caps_Lock ] };
503 key <AC01> { [ 0x100200D, 0x1000993 ] };
504 key <AC02> { [ 0x10009C7, 0x100098F ] };
505 key <AC03> { [ 0x10009CD ] };
506 key <AC04> { [ 0x10009BF, 0x1000987 ] };
507 key <AC05> { [ 0x10009C1, 0x1000989 ] };
508 key <AC06> { [ 0x10009AA, 0x10009AB ] };
509 key <AC07> { [ 0x10009B0, 0x10009F0 ] };
510 key <AC08> { [ 0x1000995, 0x1000996 ] };
511 key <AC09> { [ 0x10009A4, 0x10009A5 ] };
512 key <AC10> { [ 0x100099A, 0x100099B ] };
513 key <AC11> { [ 0x100099F, 0x10009A0 ] };
514
515 // shift, z to /
516 // key <LFSH> { [ Shift_L ] };
517 key <AB01> { [ 0x10009C7, 0x100098F ] };
518 key <AB02> { [ 0x1000982, 0x1000981 ] };
519 key <AB03> { [ 0x10009AE, 0x10009A3 ] };
520 key <AB04> { [ 0x10009A8, 0x10009DC ] };
521 key <AB05> { [ 0x10009F1, 0x10009DD ] };
522 key <AB06> { [ 0x10009B2 ] };
523 key <AB07> { [ 0x10009B8, 0x10009B6 ] };
524 key <AB08> { [ comma, 0x10009B7 ] };
525 key <AB09> { [ 0x1000964, 0x10009FA ] };
526 key <AB10> { [ 0x10009AF, 0x10009DF ] };
527 key <BKSL> { [ backslash, bar ] };
528
529 // third level with right-win
530 // include "level3(lwin_switch)"
531
532 // key <LCTL> { [ Control_L ] };
533 // key <SPCE> { [ space ] };
534
535 // modifier_map Shift { Shift_L };
536 // modifier_map Lock { Caps_Lock };
537 // modifier_map Control{ Control_L };
538 };
539
540
541 xkb_symbols "ben_bornona" {
542 name[Group1]= "Bangla (India, Bornona)";
543 key <ESC> { [ Escape ] };
544
545 // numbers
546 key <TLDE> { [ 0x100200D, 0x100200C ] };
547 key <AE01> { [ 0x10009E7, exclam ] };
548 key <AE02> { [ 0x10009E8, 0x1000981 ] };
549 key <AE03> { [ 0x10009E9, numbersign ] };
550 key <AE04> { [ 0x10009EA, 0x10009F3 ] };
551 key <AE05> { [ 0x10009EB, percent ] };
552 key <AE06> { [ 0x10009EC, 0x1000983 ] };
553 key <AE07> { [ 0x10009ED, 0x10009CE ] };
554 key <AE08> { [ 0x10009EE, asterisk ] };
555 key <AE09> { [ 0x10009EF, parenleft ] };
556 key <AE10> { [ 0x10009E6, parenright ] };
557 key <AE11> { [ minus, underscore ] };
558 key <AE12> { [ equal, plus ] };
559 key <BKSP> { [ BackSpace ] };
560
561 // tab, q to ]
562 key <TAB> { [ Tab, ISO_Left_Tab ] };
563 key <AD01> { [ 0x1000982, 0x1000999, 0x10009D7 ] };
564 key <AD02> { [ 0x10009A2, 0x10009A0, 0x100098A ] };
565 key <AD03> { [ 0x10009C7, 0x10009C8, 0x1000988 ] };
566 key <AD04> { [ 0x10009B0, 0x10009C3, 0x100098B ] };
567 key <AD05> { [ 0x10009A4, 0x100099F ] };
568 key <AD06> { [ 0x10009A7, 0x10009A5, 0x100098F ] };
569 key <AD07> { [ 0x10009C1, 0x10009C2, 0x1000989 ] };
570 key <AD08> { [ 0x10009BF, 0x10009C0, 0x1000987 ] };
571 key <AD09> { [ 0x10009CB, 0x10009CC, 0x1000993 ] };
572 key <AD10> { [ 0x10009AA, 0x1000990, 0x1000994 ] };
573 key <AD11> { [ 0x100005B, 0x100007B, 0x10009DC ] };
574 key <AD12> { [ 0x100005D, 0x100007D ] };
575 key <RTRN> { [ Return ] };
576
577 // caps, a to '
578 // key <CAPS> { [ Caps_Lock ] };
579 key <AC01> { [ 0x10009BE, 0x1000985, 0x10009F4 ] };
580 key <AC02> { [ 0x10009B8, 0x10009B6, 0x10009F5 ] };
581 key <AC03> { [ 0x10009A6, 0x10009A1, 0x10009F8 ] };
582 key <AC04> { [ 0x10009AB ] };
583 key <AC05> { [ 0x1000997, 0x1000998 ] };
584 key <AC06> { [ 0x10009CD, 0x10009B9 ] };
585 key <AC07> { [ 0x100099C, 0x100099D ] };
586 key <AC08> { [ 0x1000995, 0x1000996 ] };
587 key <AC09> { [ 0x10009B2, 0x1000964 ] };
588 key <AC10> { [ semicolon, 0x100003A ] };
589 key <AC11> { [ apostrophe, quotedbl ] };
590
591 // shift, z to /
592 // key <LFSH> { [ Shift_L ] };
593 key <AB01> { [ 0x10009AF, 0x10009DC ] };
594 key <AB02> { [ 0x10009B7, 0x10009DD, 0x10009FA ] };
595 key <AB03> { [ 0x100099A, 0x100099B ] };
596 key <AB04> { [ 0x10009AD ] };
597 key <AB05> { [ 0x10009AC, 0x10009DF ] };
598 key <AB06> { [ 0x10009A8, 0x10009A3 ] };
599 key <AB07> { [ 0x10009AE, 0x100099E ] };
600 key <AB08> { [ comma, 0x100003C ] };
601 key <AB09> { [ 0x100002E, 0x100003E ] };
602 key <AB10> { [ 0x100002F, question ] };
603 key <BKSL> { [ 0x10009F1, 0x10009F0 ] };
604
605 // key <LCTL> { [ Control_L ] };
606 // key <SPCE> { [ space ] };
607
608 // modifier_map Shift { Shift_L };
609 // modifier_map Lock { Caps_Lock };
610 // modifier_map Control{ Control_L };
611 // third level with right-alt
612 include "level3(ralt_switch)"
613 };
614
615 partial alphanumeric_keys
616 xkb_symbols "guj" {
617 name[Group1]= "Gujarati";
618
619 // Mainly numbers.
620 key <AE01> { [ U0AE7, U0A8D ] };
621 key <AE02> { [ U0AE8, U0AC5 ] };
622 key <AE03> { [ U0AE9 ] };
623 key <AE04> { [ U0AEA ] };
624 key <AE05> { [ U0AEB ] };
625 key <AE06> { [ U0AEC ] };
626 key <AE07> { [ U0AED ] };
627 key <AE08> { [ U0AEE ] };
628 key <AE09> { [ U0AEF, parenleft ] };
629 key <AE10> { [ U0AE6, parenright ] };
630 key <AE11> { [ minus, U0A83 ] };
631 key <AE12> { [ U0A8B, U0AC3 ] };
632
633 // Mainly long vowels
634
635 key <AD01> { [ U0ACC, U0A94 ] };
636 key <AD02> { [ U0AC8, U0A90 ] };
637 key <AD03> { [ U0ABE, U0A86 ] };
638 key <AD04> { [ U0AC0, U0A88 ] };
639 key <AD05> { [ U0AC2, U0A8A ] };
640
641 // Mainly voiced consonants
642
643 key <AD06> { [ U0AAC, U0AAD ] };
644 key <AD07> { [ U0AB9, U0A99 ] };
645 key <AD08> { [ U0A97, U0A98 ] };
646 key <AD09> { [ U0AA6, U0AA7 ] };
647 key <AD10> { [ U0A9C, U0A9D ] };
648 key <AD11> { [ U0AA1, U0AA2 ] };
649 key <AD12> { [ U0ABC, U0A9E ] };
650
651 // Mainly short vowels
652 key <AC01> { [ U0ACB, U0A93 ] };
653 key <AC02> { [ U0AC7, U0A8F ] };
654 key <AC03> { [ U0ACD, U0A85 ] };
655 key <AC04> { [ U0ABF, U0A87 ] };
656 key <AC05> { [ U0AC1, U0A89 ] };
657
658 // Mainly unvoiced consonants
659
660 key <AC06> { [ U0AAA, U0AAB ] };
661 key <AC07> { [ U0AB0, U0AB0 ] };
662 key <AC08> { [ U0A95, U0A96 ] };
663 key <AC09> { [ U0AA4, U0AA5 ] };
664 key <AC10> { [ U0A9A, U0A9B ] };
665 key <AC11> { [ U0A9F, U0AA0 ] };
666 key <BKSL> { [ U0AC9, U0A91 ] };
667
668 key <AB01> { [ z , Z ] };
669 key <AB02> { [ U0A82, U0A81 ] };
670 key <AB03> { [ U0AAE, U0AA3 ] };
671 key <AB04> { [ U0AA8, U0AA8 ] };
672 key <AB05> { [ U0AB5, U0AB5 ] };
673 key <AB06> { [ U0AB2, U0AB3 ] };
674 key <AB07> { [ U0AB8, U0AB6 ] };
675 key <AB08> { [ comma, U0AB7 ] };
676 key <AB09> { [ period, U0964 ] };
677 key <AB10> { [ U0AAF, question ] };
678 include "rupeesign(4)"
679 include "level3(ralt_switch)"
680 };
681
682 partial alphanumeric_keys
683 xkb_symbols "kan" {
684
685 // InScript layout for Kannada
686 // Author : G Karunakar <karunakar (a] freedomink.org>
687 // Date : Wed Nov 13 17:22:58 IST 2002
688 // Kannada digits mapped in basic only
689
690 name[Group1]= "Kannada";
691
692 key <TLDE> { [ U0cca, U0c92 ] };
693 key <AE01> { [ U0ce7 ] };
694 key <AE02> { [ U0ce8 ] };
695 key <AE03> { [ U0ce9 ] };
696 key <AE04> { [ U0cea ] };
697 key <AE05> { [ U0ceb ] };
698 key <AE06> { [ U0cec ] };
699 key <AE07> { [ U0ced ] };
700 key <AE08> { [ U0cee ] };
701 key <AE09> { [ U0cef ] };
702 key <AE10> { [ U0ce6 ] };
703 key <AE11> { [ U0c83 ] };
704 key <AE12> { [ U0cc3, U0c8b ] };
705
706 key <AD01> { [ U0ccc, U0c94 ] };
707 key <AD02> { [ U0cc8, U0c90 ] };
708 key <AD03> { [ U0cbe, U0c86 ] };
709 key <AD04> { [ U0cc0, U0c88 ] };
710 key <AD05> { [ U0cc2, U0c8a ] };
711 key <AD06> { [ U0cac, U0cad ] };
712 key <AD07> { [ U0cb9, U0c99 ] };
713 key <AD08> { [ U0c97, U0c98 ] };
714 key <AD09> { [ U0ca6, U0ca7 ] };
715 key <AD10> { [ U0c9c, U0c9d ] };
716 key <AD11> { [ U0ca1, U0ca2 ] };
717 key <AD12> { [ U0cbc, U0c9e ] };
718
719 key <AC01> { [ U0ccb, U0c93 ] };
720 key <AC02> { [ U0cc7, U0c8f ] };
721 key <AC03> { [ U0ccd, U0c85 ] };
722 key <AC04> { [ U0cbf, U0c87 ] };
723 key <AC05> { [ U0cc1, U0c89 ] };
724 key <AC06> { [ U0caa, U0cab ] };
725 key <AC07> { [ U0cb0, U0cb1 ] };
726 key <AC08> { [ U0c95, U0c96 ] };
727 key <AC09> { [ U0ca4, U0ca5 ] };
728 key <AC10> { [ U0c9a, U0c9b ] };
729 key <AC11> { [ U0c9f, U0ca0 ] };
730
731 key <AB01> { [ U0cc6, U0c8e ] };
732 key <AB02> { [ U0c82 ] };
733 key <AB03> { [ U0cae, U0ca3 ] };
734 key <AB04> { [ U0ca8 ] };
735 key <AB05> { [ U0cb5, U0cb4 ] };
736 key <AB06> { [ U0cb2, U0cb3 ] };
737 key <AB07> { [ U0cb8, U0cb6 ] };
738 key <AB08> { [ comma , U0cb7 ] };
739 key <AB09> { [ period ] };
740 key <AB10> { [ U0caf, U0040 ] };
741
742 key <RALT> {
743 symbols[Group1] = [ Mode_switch, Multi_key ],
744 virtualMods = AltGr
745 };
746 include "rupeesign(4)"
747 include "level3(ralt_switch)"
748 };
749
750 // Description : A keymap for Malayalam
751 // Encoding : Unicode (http://www.unicode.org)
752 // Author : Baiju M <baiju (a] freeshell.org>
753 // Date : Sat Aug 17 21:10:48 IST 2002
754 // Mapping:
755
756 partial alphanumeric_keys
757 xkb_symbols "mal" {
758
759 name[Group1] = "Malayalam";
760
761 //From grave to backslash (\)
762
763 key <TLDE> { [ U0d4a , U0d12 ] };
764
765 // svu:
766 // These lines were in former "mal" variant -
767 // but the digits are replaced with the ones from 'mal_plusnum' -
768 // for the integrity of all Indian layouts
769 //
770 // key <AE01> { [1 , exclam ] };
771 // key <AE02> { [2 , at ] };
772 // key <AE03> { [3 , numbersign ] };
773 // key <AE04> { [4 , dollar ] };
774 // key <AE05> { [5 , percent ] };
775 // key <AE06> { [6 ,asciicircum ] };
776 // key <AE07> { [7 , ampersand ] };
777 // key <AE08> { [8 , asterisk ] };
778 // key <AE09> { [9 , parenleft ] };
779 // key <AE10> { [0 , parenright ] };
780
781 key <AE01> { [ U0d67 , exclam ] };
782 key <AE02> { [ U0d68 , at ] };
783 key <AE03> { [ U0d69 , numbersign ] };
784 key <AE04> { [ U0d6a , dollar ] };
785 key <AE05> { [ U0d6b , percent ] };
786 key <AE06> { [ U0d6c , asciicircum ] };
787 key <AE07> { [ U0d6d , ampersand ] };
788 key <AE08> { [ U0d6e , asterisk ] };
789 key <AE09> { [ U0d6f , parenleft ] };
790 key <AE10> { [ U0d66 , parenright ] };
791
792 key <AE11> { [ minus , U0d03 ] };
793 key <AE12> { [ U0d43 , U0d0b ] };
794 key <BKSL> { [U0200c, U05C ]};//bksl: ZWNJ
795
796
797 // From 'q' to right bracket (])
798
799 key <AD01> { [ U0d4c , U0d14 ] };
800 key <AD02> { [ U0d48 , U0d10 ] };
801 key <AD03> { [ U0d3e , U0d06 ] };
802 key <AD04> { [ U0d40 , U0d08 ] };
803 key <AD05> { [ U0d42 , U0d0a ] };
804 key <AD06> { [ U0d2c , U0d2d ] };
805 key <AD07> { [ U0d39 , U0d19 ] };
806 key <AD08> { [ U0d17 , U0d18 ] };
807 key <AD09> { [ U0d26 , U0d27 ] };
808 key <AD10> { [ U0d1c , U0d1d ] };
809 key <AD11> { [ U0d21 , U0d22 ] };
810 key <AD12> { [ U0200d , U0d1e ] };
811
812 // From 'a' to apostrophe (')
813
814 key <AC01> { [ U0d4b , U0d13 ] };
815 key <AC02> { [ U0d47 , U0d0f ] };
816 key <AC03> { [ U0d4d , U0d05 ] };
817 key <AC04> { [ U0d3f , U0d07 ] };
818 key <AC05> { [ U0d41 , U0d09 ] };
819 key <AC06> { [ U0d2a , U0d2b ] };
820 key <AC07> { [ U0d30 , U0d31 ] };
821 key <AC08> { [ U0d15 , U0d16 ] };
822 key <AC09> { [ U0d24 , U0d25 ] };
823 key <AC10> { [ U0d1a , U0d1b ] };
824 key <AC11> { [ U0d1f , U0d20 ] };
825
826 // From 'z' to slash (/)
827
828 key <AB01> { [ U0d46 , U0d0e ] };
829 key <AB02> { [ U0d02 , U200b ] };//X:ZWSP
830 key <AB03> { [ U0d2e , U0d23 ] };
831 key <AB04> { [ U0d28 ] };
832 key <AB05> { [ U0d35 , U0d34 ] };
833 key <AB06> { [ U0d32 , U0d33 ] };
834 key <AB07> { [ U0d38 , U0d36 ] };
835 key <AB08> { [ comma , U0d37 ] };
836 key <AB09> { [ period , U0200d ] };
837 key <AB10> { [ U0d2f , question ] };
838
839 include "rupeesign(4)"
840 include "level3(ralt_switch)"
841 };
842
843 //Name : Lalitha
844 //Description : A transliteration keyboard layout for Malayalam
845 //Original Author : Noah Levitt<nlevitt at columbia.edu>
846 //Current Main : Jinesh K.J<jinesh.k (a] gmail.com>, Swathantra Malayalam Computing (SMC)<smc-discuss (a] googlegroups.com>
847
848 partial alphanumeric_keys
849 xkb_symbols "mal_lalitha" {
850 name[Group1] = "Malayalam (Lalitha)";
851 key.type="FOUR_LEVEL";
852
853 // Roman digits
854 key <TLDE> { [ U0D4D, U0D02, grave, asciitilde ] }; // grave: virama(chandrakala),anusvara
855 key <AE01> { [ 1, exclam, U0D67, exclam ] };
856 key <AE02> { [ 2, at, U0D68, at ] };
857 key <AE03> { [ 3, numbersign, U0D69, numbersign ] };
858 key <AE04> { [ 4, dollar, U0D6A, U20B9 ] }; // Rupee
859 key <AE05> { [ 5, percent, U0D6B, percent ] };
860 key <AE06> { [ 6, asciicircum, U0D6C, asciicircum ] };
861 key <AE07> { [ 7, ampersand, U0D6D, ampersand ] };
862 key <AE08> { [ 8, asterisk, U0D6E, asterisk ] };
863 key <AE09> { [ 9, parenleft, U0D6F, parenleft ] };
864 key <AE10> { [ 0, parenright, U0D66, parenright ] };
865 key <AE11> { [ minus, underscore ] };
866 key <AE12> { [ equal, plus ] };
867 key <BKSL> { [ U005C, U007C, U200C ] };//backslash:pipe,backslash,ZWNJ
868
869 //Q Row
870 key <AD01> { [ U0D48, U0D4C, U0D10, U0D14 ] }; // Q: ai and au matras
871 key <AD02> { [ U0D35 ] }; // W: wa, OM
872 key <AD03> { [ U0D46, U0D47, U0D0E, U0D0F ] }; // E: e,ee matras
873 key <AD04> { [ U0D30, U0D31, U0D43, U0D0B ] }; // R: ra,rra, vocalic Ri
874 key <AD05> { [ U0D24, U0D25, U0D1F, U0D20 ] }; // T: tha, ttha,ta,tta
875 key <AD06> { [ U0D2f ] }; // Y: ya
876 key <AD07> { [ U0D41, U0D42, U0D09, U0D0A ] }; // U: u, uu matras
877 key <AD08> { [ U0D3F, U0D40, U0D07, U0D08 ] }; // I: i, ii matras
878 key <AD09> { [ U0D4A, U0D4B, U0D12, U0D13 ] }; // O: o, oo matras
879 key <AD10> { [ U0D2A ] }; // P: pa
880 key <AD11> { [ bracketleft, braceleft ] };//braceleft:
881 key <AD12> { [ bracketright, braceright ] };//braceright:
882
883 //A Row
884 key <AC01> { [ U0D3E, U0D05, U0D06, U0D05 ] }; // A: a,aa
885 key <AC02> { [ U0D38, U0D37 ] }; // S: sa, ssa
886 key <AC03> { [ U0D26, U0D27, U0D21, U0D22 ] }; // D: soft da,soft dda,hard da,hard dda,
887 key <AC04> { [ U0D2B ] }; // F: pha
888 key <AC05> { [ U0D17, U0D18 ] }; // G: ga, gha
889 key <AC06> { [ U0D39, U0D03 ] }; // H: ha, visarg
890 key <AC07> { [ U0D1C, U0D1D ] }; // J: ja, jha
891 key <AC08> { [ U0D15, U0D16 ] }; // K: ka, kha
892 key <AC09> { [ U0D32, U0D33 ] }; // L: la, vocalic L or lru matra`
893 key <AC10> { [ semicolon, colon ] };
894 key <AC11> { [apostrophe, quotedbl ] };
895
896 //Z Row
897 key <AB01> { [ U0D34, U0D36 ] }; // Z: sha,zha
898 key <AB02> { [ U0D4D, U200B ] }; // X: chandrakala,ZWSP
899 key <AB03> { [ U0D1A, U0D1B ] }; // C: ca, cha
900 key <AB04> { [ U0D35, U200D ] }; // V: va,ZWJ
901 key <AB05> { [ U0D2C, U0D2D ] }; // B: ba, bha
902 key <AB06> { [ U0D28, U0D23, U0D19, U0D1E ] }; // N: na, hard na,nga,nha
903 key <AB07> { [ U0D2E, U0D02 ] }; // M: ma
904 key <AB08> { [ comma, U003C ] };// comma: comma
905 key <AB09> { [ period, U003E ] }; // period: period
906 key <AB10> { [ slash, question ] };
907
908 // modifier_map Shift { Shift_L };
909 // modifier_map Lock { Caps_Lock };
910 // modifier_map Control{ Control_L };
911 // modifier_map Mod3 { Mode_switch };
912 include "level3(ralt_switch)"
913 };
914
915
916 partial alphanumeric_keys
917 xkb_symbols "olck" {
918
919 // Layout for the Ol Chiki script.
920 // http://www.unicode.org/L2/L2005/05243r-n2984-ol-chiki.pdf (figure 9)
921
922 name[Group1]= "Ol Chiki";
923
924 key <TLDE> { [ grave, U1C7B ] };
925
926 key <AE01> { [ U1C51, exclam ] };
927 key <AE02> { [ U1C52, at ] };
928 key <AE03> { [ U1C53, numbersign ] };
929 key <AE04> { [ U1C54, dollar, U20B9 ] };
930 key <AE05> { [ U1C55, percent ] };
931 key <AE06> { [ U1C56, asciicircum ] };
932 key <AE07> { [ U1C57, ampersand ] };
933 key <AE08> { [ U1C58, asterisk ] };
934 key <AE09> { [ U1C59, parenleft ] };
935 key <AE10> { [ U1C50, parenright ] };
936 key <AE11> { [ minus, U1C7C ] };
937 key <AE12> { [ equal, plus ] };
938
939 key <AD01> { [ U1C67 ] };
940 key <AD02> { [ U1C63 ] };
941 key <AD03> { [ U1C6E ] };
942 key <AD04> { [ U1C68 ] };
943 key <AD05> { [ U1C74, U1C5B ] };
944 key <AD06> { [ U1C6D ] };
945 key <AD07> { [ U1C69 ] };
946 key <AD08> { [ U1C64 ] };
947 key <AD09> { [ U1C5A, U1C73 ] };
948 key <AD10> { [ U1C6F ] };
949 key <AD11> { [ bracketleft, braceleft ] };
950 key <AD12> { [ bracketright, braceright ] };
951 key <BKSL> { [ U1C7F, U1C7E ] };
952
953 key <AC01> { [ U1C5F ] };
954 key <AC02> { [ U1C65 ] };
955 key <AC03> { [ U1C70, U1C6B ] };
956 key <AC04> { [ U1C5D ] };
957 key <AC05> { [ U1C5C ] };
958 key <AC06> { [ U1C66, U1C77 ] };
959 key <AC07> { [ U1C61 ] };
960 key <AC08> { [ U1C60 ] };
961 key <AC09> { [ U1C5E ] };
962 key <AC10> { [ semicolon, U1C7A ] };
963 key <AC11> { [ apostrophe, quotedbl ] };
964
965 key <AB01> { [ U1C72 ] };
966 key <AB02> { [ U1C7D ] };
967 key <AB03> { [ U1C6A ] };
968 key <AB04> { [ U1C76 ] };
969 key <AB05> { [ U1C75 ] };
970 key <AB06> { [ U1C71, U1C78 ] };
971 key <AB07> { [ U1C62, U1C6C ] };
972 key <AB08> { [ comma, less ] };
973 key <AB09> { [ U1C79, greater ] };
974 key <AB10> { [ slash, question ] };
975
976 key <RALT> {
977 symbols[Group1] = [ Mode_switch, Multi_key ],
978 virtualMods = AltGr
979 };
980
981 include "level3(ralt_switch)"
982 };
983
984
985 partial alphanumeric_keys
986 xkb_symbols "ori" {
987 // InScript layout for Oriya
988 // Author: G Karunakar <karunakar (a] freedomink.org>
989 // Date: Wed Nov 13 18:16:19 IST 2002
990
991 name[Group1]= "Oriya";
992
993 key <AE01> { [ U0b67 ] };
994 key <AE02> { [ U0b68 ] };
995 key <AE03> { [ U0b69 ] };
996 key <AE04> { [ U0b6a ] };
997 key <AE05> { [ U0b6b ] };
998 key <AE06> { [ U0b6c ] };
999 key <AE07> { [ U0b6d ] };
1000 key <AE08> { [ U0b6e ] };
1001 key <AE09> { [ U0b6f ] };
1002 key <AE10> { [ U0b66 ] };
1003 key <AE11> { [ U0b03 ] };
1004 key <AE12> { [ U0b43, U0b0b ] };
1005
1006 key <AD01> { [ U0b4c, U0b14 ] };
1007 key <AD02> { [ U0b48, U0b10 ] };
1008 key <AD03> { [ U0b3e, U0b06 ] };
1009 key <AD04> { [ U0b40, U0b08 ] };
1010 key <AD05> { [ U0b42, U0b0a ] };
1011 key <AD06> { [ U0b2c, U0b2d ] };
1012 key <AD07> { [ U0b39, U0b19 ] };
1013 key <AD08> { [ U0b17, U0b18 ] };
1014 key <AD09> { [ U0b26, U0b27 ] };
1015 key <AD10> { [ U0b1c, U0b1d ] };
1016 key <AD11> { [ U0b21, U0b22 ] };
1017 key <AD12> { [ U0b3c, U0b1e ] };
1018
1019 key <AC01> { [ U0b4b, U0b13 ] };
1020 key <AC02> { [ U0b47, U0b0f ] };
1021 key <AC03> { [ U0b4d, U0b05 ] };
1022 key <AC04> { [ U0b3f, U0b07 ] };
1023 key <AC05> { [ U0b41, U0b09 ] };
1024 key <AC06> { [ U0b2a, U0b2b ] };
1025 key <AC07> { [ U0b30 ] };
1026 key <AC08> { [ U0b15, U0b16 ] };
1027 key <AC09> { [ U0b24, U0b25 ] };
1028 key <AC10> { [ U0b1a, U0b1b ] };
1029 key <AC11> { [ U0b1f, U0b20 ] };
1030
1031 key <AB02> { [ U0b02, U0b01 ] };
1032 key <AB03> { [ U0b2e, U0b23 ] };
1033 key <AB04> { [ U0b28 ] };
1034 key <AB05> { [ U0b35 ] };
1035 key <AB06> { [ U0b32, U0b33 ] };
1036 key <AB07> { [ U0b38, U0b36 ] };
1037 key <AB08> { [ comma , U0b37 ] };
1038 key <AB09> { [ period ] };
1039 key <AB10> { [ U0b2f, U0040 ] };
1040
1041 key <RALT> {
1042 symbols[Group1] = [ Mode_switch, Multi_key ],
1043 virtualMods = AltGr
1044 };
1045 include "rupeesign(4)"
1046 include "level3(ralt_switch)"
1047 };
1048
1049 // Phonetic layout for Oriya like Hindi Bolnagiri
1050 // Author: Lalit Mishra
1051 // Date: 3rd March, 2021.
1052 partial alphanumeric_keys
1053 xkb_symbols "ori-bolnagri" {
1054 name[Group1] = "Oriya (Bolnagri)";
1055 key.type="FOUR_LEVEL";
1056 // Roman digits
1057 key <TLDE> { [ U0B02, U0B01, grave, asciitilde ] }; // grave: anusvara, candrabindu
1058 key <AE01> { [ U0B67, exclam, 1 ] };
1059 key <AE02> { [ U0B68, at, 2, U20AC ] };
1060 key <AE03> { [ U0B69, numbersign, 3, U00A3 ] };
1061 key <AE04> { [ U0B6A, dollar, 4, U20B9 ] }; // Rupee symbol on Shift+AltGr+4
1062 key <AE05> { [ U0B6B, percent, 5 ] };
1063 key <AE06> { [ U0B6C, asciicircum, 6 ] };
1064 key <AE07> { [ U0B6D, ampersand, 7 ] };
1065 key <AE08> { [ U0B6E, asterisk, 8 ] };
1066 key <AE09> { [ U0B6F, parenleft, 9 ] };
1067 key <AE10> { [ U0B66, parenright, 0 ] };
1068 key <AE11> { [ minus, underscore ] };
1069 key <AE12> { [ equal, plus ] };
1070 key <BKSL> { [ U0964, U0965, U007C, U005C ] }; //pipe : danda, double danda
1071 //Q Row
1072 key <AD01> { [ U200C, U200D ] }; // Q: ZWNJ, ZWJ
1073 key <AD02> { [ U0B71, U0B35 ] }; // W: wa
1074 key <AD03> { [ U0B47, U0B48, U0B0F, U0B10 ] }; // E: e, ai matras
1075 key <AD04> { [ U0B30, U0B43, U0B0B, U0B60 ] }; // R: ra, vocalic Ri
1076 key <AD05> { [ U0B24, U0B25 ] }; // T: ta, tha
1077 key <AD06> { [ U0B2f, U0B5F, U0B1E ] }; // Y: ya, nya
1078 key <AD07> { [ U0B41, U0B42, U0B09, U0B0A ] }; // U: u, uu matras
1079 key <AD08> { [ U0B3F, U0B40, U0B07, U0B08 ] }; // I: i, ii matras
1080 key <AD09> { [ U0B4B, U0B4C, U0B13, U0B14 ] }; // O: o, au matras
1081 key <AD10> { [ U0B2A, U0B2B ] }; // P: pa, pha
1082 key <AD11> { [ bracketleft, braceleft ] };
1083 key <AD12> { [ bracketright, braceright] };
1084 //A Row
1085 key <AC01> { [ U0B3E, U0B06, U0B05, U0B06 ] }; // A: aa, full A, AA
1086 key <AC02> { [ U0B38, U0B37 ] }; // S: sa, ssa
1087 key <AC03> { [ U0B26, U0B27 ] }; // D: da, dha
1088 key <AC04> { [ U0B1F, U0B20 ] }; // F: TA, THA
1089 key <AC05> { [ U0B17, U0B18 ] }; // G: ga, gha
1090 key <AC06> { [ U0B39, U0B03 ] }; // H: ha, visarg
1091 key <AC07> { [ U0B1C, U0B1D ] }; // J: ja, jha
1092 key <AC08> { [ U0B15, U0B16 ] }; // K: ka, kha
1093 key <AC09> { [ U0B32, U0B33, U0B62, U0B0C ] }; // L: la, vocalic L or lru matra
1094 key <AC10> { [ semicolon, colon ] };
1095 key <AC11> { [ apostrophe, quotedbl ] };
1096 //Z Row
1097 key <AB01> { [ U0B36 ] }; // Z: sha, akaar candra
1098 key <AB02> { [ U0B4D ] }; // X: halant, aakaar candra, chandra A
1099 key <AB03> { [ U0B1A, U0B1B ] }; // C: ca, cha
1100 key <AB04> { [ U0B21, U0B22 ] }; // V: da, dha
1101 key <AB05> { [ U0B2C, U0B2D ] }; // B: ba, bha
1102 key <AB06> { [ U0B28, U0B23 ] }; // N: na, nna
1103 key <AB07> { [ U0B2E, U0B19, U0B3D ] }; // M: ma, nga, avagraha
1104 key <AB08> { [ comma, U0B70, U0B44, U0B61 ] }; // comma: comma, dev abbreviation sign
1105 key <AB09> { [ period, U0B3C, U0B55 ] }; // period: period, nukta
1106 key <AB10> { [ slash, question ] };
1107
1108 // modifier_map Shift { Shift_L };
1109 // modifier_map Lock { Caps_Lock };
1110 // modifier_map Control{ Control_L };
1111 // modifier_map Mod3 { Mode_switch };
1112
1113 include "level3(ralt_switch)"
1114 };
1115
1116 // Phonetic layout for Oriya like Hindi Wx
1117 // Author: Lalit Mishra
1118 // Date: 3rd March, 2021.
1119 partial alphanumeric_keys
1120 xkb_symbols "ori-wx" {
1121 name[Group1]= "Oriya (Wx)";
1122 key <TLDE> { [ grave, asciitilde, 0x100200C, 0x100200D ] };
1123 key <AE01> { [ 0x1000B67, exclam, 1 ] };
1124 key <AE02> { [ 0x1000B68, at, 2, 0x10020AC ] };
1125 key <AE03> { [ 0x1000B69, numbersign, 3, 0x10000A3 ] };
1126 key <AE04> { [ 0x1000B6A, dollar, 4, 0x10020B9 ] };
1127 key <AE05> { [ 0x1000B6B, percent, 5 ] };
1128 key <AE06> { [ 0x1000B6C, asciicircum, 6 ] };
1129 key <AE07> { [ 0x1000B6D, ampersand, 7 ] };
1130 key <AE08> { [ 0x1000B6e, asterisk, 8 ] };
1131 key <AE09> { [ 0x1000B6F, parenleft, 9 ] };
1132 key <AE10> { [ 0x1000B66, parenright, 0 ] };
1133 key <AE11> { [ minus, underscore ] };
1134 key <AE12> { [ equal, plus ] };
1135 key <AD01> { [ 0x1000B43, 0x1000B44, 0x1000B0B, 0x1000B60 ] };
1136 key <AD02> { [ 0x1000B24, 0x1000B25 ] };
1137 key <AD03> { [ 0x1000B47, 0x1000B48, 0x1000B0F, 0x1000B10 ] };
1138 key <AD04> { [ 0x1000B30, 0x1000B37 ] };
1139 key <AD05> { [ 0x1000B1F, 0x1000B20 ] };
1140 key <AD06> { [ 0x1000B2F, 0x1000B5F ] };
1141 key <AD07> { [ 0x1000B41, 0x1000B42, 0x1000B09, 0x1000B0A ] };
1142 key <AD08> { [ 0x1000B3F, 0x1000B40, 0x1000B07, 0x1000B08 ] };
1143 key <AD09> { [ 0x1000B4B, 0x1000B4C, 0x1000B13, 0x1000B14 ] };
1144 key <AD10> { [ 0x1000B2A, 0x1000B2B ] };
1145 key <AD11> { [ bracketleft, braceleft ] };
1146 key <AD12> { [ bracketright, braceright ] };
1147 key <BKSL> { [ 0x1000964, 0x1000965, backslash, bar ] };
1148 key <AC01> { [ 0x1000B4D, 0x1000B3E, 0x1000B05, 0x1000B06 ] };
1149 key <AC02> { [ 0x1000B38, 0x1000B36 ] };
1150 key <AC03> { [ 0x1000B21, 0x1000B22 ] };
1151 key <AC04> { [ 0x1000B19, 0x1000B1E ] };
1152 key <AC05> { [ 0x1000B17, 0x1000B18 ] };
1153 key <AC06> { [ 0x1000B39, 0x1000B03 ] };
1154 key <AC07> { [ 0x1000B1C, 0x1000B1D ] };
1155 key <AC08> { [ 0x1000B15, 0x1000B16 ] };
1156 key <AC09> { [ 0x1000B32, 0x1000B62, 0x1000B33, 0x1000B0C ] };
1157 key <AC10> { [ semicolon, colon ] };
1158 key <AC11> { [ apostrophe, quotedbl ] };
1159 key <AB01> { [ 0x1000B01, 0x1000B3C, 0x1000B3D ] };
1160 key <AB02> { [ 0x1000B26, 0x1000B27 ] };
1161 key <AB03> { [ 0x1000B1A, 0x1000B1B ] };
1162 key <AB04> { [ 0x1000B71, 0x1000B35 ] };
1163 key <AB05> { [ 0x1000B2C, 0x1000B2D ] };
1164 key <AB06> { [ 0x1000B28, 0x1000B23 ] };
1165 key <AB07> { [ 0x1000B2E, 0x1000B02 ] };
1166 key <AB08> { [ comma, less ] };
1167 key <AB09> { [ period, greater ] };
1168 key <AB10> { [ slash, question ] };
1169
1170 include "level3(ralt_switch)"
1171 };
1172
1173 partial alphanumeric_keys
1174 xkb_symbols "tam" {
1175 name[Group1]= "Tamil (InScript)";
1176
1177 key <TLDE> { [ U0BCA, U0B92 ] };
1178
1179 // Mainly numbers.
1180 key <AE01> { [ U0BE7 ] };
1181 key <AE02> { [ U0BE8 ] };
1182 key <AE03> { [ U0BE9 ] };
1183 key <AE04> { [ U0BEA ] };
1184 key <AE05> { [ U0BEB ] };
1185 key <AE06> { [ U0BEC ] };
1186 key <AE07> { [ U0BED ] };
1187 key <AE08> { [ U0BEE ] };
1188 key <AE09> { [ U0BEF, parenleft ] };
1189 key <AE10> { [ U0BF0, parenright ] };
1190 key <AE11> { [ U0BF1, U0B83 ] };
1191 key <AE12> { [ U0BF2, plus ] };
1192
1193 // Mainly long vowels
1194
1195 key <AD01> { [ U0BCC, U0B94 ] };
1196 key <AD02> { [ U0BC8, U0B90 ] };
1197 key <AD03> { [ U0BBE, U0B86 ] };
1198 key <AD04> { [ U0BC0, U0B88 ] };
1199 key <AD05> { [ U0BC2, U0B8A ] };
1200
1201 // Mainly voiced consonants
1202
1203 key <AD07> { [ U0BB9, U0B99 ] };
1204 key <AD10> { [ U0B9c ] };
1205 key <AD12> { [ U0B9E ] };
1206
1207 // Mainly short vowels
1208 key <AC01> { [ U0BCB, U0B93 ] };
1209 key <AC02> { [ U0BC7, U0B8F ] };
1210 key <AC03> { [ U0BCD, U0B85 ] };
1211 key <AC04> { [ U0BBF, U0B87 ] };
1212 key <AC05> { [ U0BC1, U0B89 ] };
1213
1214 // Mainly unvoiced consonants
1215
1216 key <AC06> { [ U0BAA ] };
1217 key <AC07> { [ U0BB0, U0BB1 ] };
1218 key <AC08> { [ U0B95 ] };
1219 key <AC09> { [ U0BA4 ] };
1220 key <AC10> { [ U0B9A ] };
1221 key <AC11> { [ U0B9F ] };
1222 key <BKSL> { [ U005C, U007C ] };//backslash-bar - Changed to Unicode
1223
1224 key <AB01> { [ U0BC6, U0B8E ] };
1225 key <AB02> { [ U0B82 ] };
1226 key <AB03> { [ U0BAE, U0BA3 ] };
1227 key <AB04> { [ U0BA8, U0BA9 ] };
1228 key <AB05> { [ U0BB5, U0BB4 ] };
1229 key <AB06> { [ U0BB2, U0BB3 ] };
1230 key <AB07> { [ U0BB8, U0BB6 ] };
1231 key <AB08> { [ comma, U0BB7 ] };
1232 key <AB09> { [ period, U0964 ] };
1233 key <AB10> { [ U0BAF, question ] };
1234
1235 include "level3(ralt_switch)"
1236 include "rupeesign(4)"
1237 };
1238
1239 partial alphanumeric_keys
1240 xkb_symbols "tam_tamilnet" {
1241
1242 // Description: A keymap based on the TamilNet'99 typewriter keyboard
1243 // Encoding: Unicode (http://www.unicode.org)
1244 // Author: Thuraiappah Vaseeharan <vasee (a] ieee.org>
1245 // Modifed by: Malathi S <malathiramya (a] gmail.com>
1246 // Secondary contact: Sri Ramadoss M <amachu (a] au-kbc.org>
1247 // Date : Fri Sep 4 11:32:00 CST 2009
1248 // Mapping:
1249
1250 name[Group1]= "Tamil (TamilNet '99)";
1251
1252 // granthas
1253 key <TLDE> { [ apostrophe, asciitilde ] };
1254 key <AE01> { [ U0031, exclam ] } ;
1255 key <AE02> { [ U0032, at ] } ;
1256 key <AE03> { [ U0033, numbersign ] } ;
1257 key <AE04> { [ U0034, U0BF9 ] } ;
1258 key <AE05> { [ U0035, percent ] } ;
1259 key <AE06> { [ U0036, asciicircum ] } ;
1260 key <AE07> { [ U0037, ampersand ] } ;
1261 key <AE08> { [ U0038, asterisk ] } ;
1262 key <AE09> { [ U0039, parenleft ] } ;
1263 key <AE10> { [ U0030, parenright ] } ;
1264 key <AE11> { [ minus, underscore ] };
1265 key <AE12> { [ equal, plus ] };
1266
1267
1268 // Qrow
1269 key <AD01> { [ U0B9E, U0BB6 ] };
1270 key <AD02> { [ U0BB1, U0BB7 ] };
1271 key <AD03> { [ U0BA8, U0BB8 ] };
1272 key <AD04> { [ U0B9A, U0BB9 ] };
1273 key <AD05> { [ U0BB5, U0B9C ] };
1274 key <AD06> { [ U0BB2 ] };
1275 key <AD07> { [ U0BB0 ] };
1276 key <AD08> { [ U0BC8, U0B90 ] };
1277 key <AD09> { [ U0BCA, U0BCB ] };
1278 key <AD10> { [ U0BBF, U0BC0 ] };
1279 key <AD11> { [ U0BC1, U0BC2 ] };
1280
1281 // Arow
1282 key <AC01> { [ U0BAF ] };
1283 key <AC02> { [ U0BB3 ] };
1284 key <AC03> { [ U0BA9 ] };
1285 key <AC04> { [ U0B95 ] };
1286 key <AC05> { [ U0BAA ] };
1287 key <AC06> { [ U0BBE, U0BB4 ] };
1288 key <AC07> { [ U0BA4 ] };
1289 key <AC08> { [ U0BAE ] };
1290 key <AC09> { [ U0B9F ] };
1291 key <AC10> { [ U0BCD, U0B83 ] };
1292 key <AC11> { [ U0B99 ] };
1293
1294 // Zrow
1295 key <AB01> { [ U0BA3 ] };
1296 key <AB02> { [ U0B92, U0B93 ] };
1297 key <AB03> { [ U0B89, U0B8A ] };
1298 key <AB04> { [ U0B8E, U0B8F ] };
1299 key <AB05> { [ U0BC6, U0BC7 ] };
1300 key <AB06> { [ U0B94, U0BCC ] };
1301 key <AB07> { [ U0B85, U0B86 ] };
1302 key <AB08> { [ U0B87, U0B88 ] };
1303 };
1304
1305 partial alphanumeric_keys
1306 xkb_symbols "tam_tamilnet_with_tam_nums" {
1307
1308 // Description: A keymap based on the TamilNet'99 typewriter keyboard
1309 // Encoding: Unicode (http://www.unicode.org)
1310 // Author: Malathi S <malathiramya (a] gmail.com>
1311 // Secondary contact: Sri Ramadoss M <amachu (a] au-kbc.org>
1312 // Date : Fri Sep 4 11:33:00 CST 2009
1313 // Mapping:
1314
1315 name[Group1]= "Tamil (TamilNet '99 with Tamil numerals)";
1316
1317 // Mainly numbers.
1318 key <TLDE> { [ apostrophe, asciitilde ] };
1319 key <AE01> { [ U0BE7, exclam ] };
1320 key <AE02> { [ U0BE8, at ] };
1321 key <AE03> { [ U0BE9, numbersign ] };
1322 key <AE04> { [ U0BEA, U0BF9 ] };
1323 key <AE05> { [ U0BEB, percent ] };
1324 key <AE06> { [ U0BEC, asciicircum ] };
1325 key <AE07> { [ U0BED, ampersand ] };
1326 key <AE08> { [ U0BEE, asterisk ] };
1327 key <AE09> { [ U0BEF, parenleft ] };
1328 key <AE10> { [ U0BE6, parenright ] };
1329 key <AE11> { [ minus, underscore ] };
1330 key <AE12> { [ equal, plus ] };
1331
1332
1333 // Qrow
1334 key <AD01> { [ U0B9E, U0BB6 ] };
1335 key <AD02> { [ U0BB1, U0BB7 ] };
1336 key <AD03> { [ U0BA8, U0BB8 ] };
1337 key <AD04> { [ U0B9a, U0BB9 ] };
1338 key <AD05> { [ U0BB5, U0B9c ] };
1339 key <AD06> { [ U0BB2 ] };
1340 key <AD07> { [ U0BB0 ] };
1341 key <AD08> { [ U0BC8, U0B90 ] };
1342 key <AD09> { [ U0BCA, U0BCB ] };
1343 key <AD10> { [ U0BBF, U0BC0 ] };
1344 key <AD11> { [ U0BC1, U0BC2 ] };
1345
1346 // Arow
1347 key <AC01> { [ U0BAF ] };
1348 key <AC02> { [ U0BB3 ] };
1349 key <AC03> { [ U0BA9 ] };
1350 key <AC04> { [ U0B95 ] };
1351 key <AC05> { [ U0BAA ] };
1352 key <AC06> { [ U0BBE, U0BB4 ] };
1353 key <AC07> { [ U0BA4 ] };
1354 key <AC08> { [ U0BAE ] };
1355 key <AC09> { [ U0B9F ] };
1356 key <AC10> { [ U0BCD, U0B83 ] };
1357 key <AC11> { [ U0B99 ] };
1358
1359 // Zrow
1360 key <AB01> { [ U0BA3 ] };
1361 key <AB02> { [ U0B92, U0B93 ] };
1362 key <AB03> { [ U0B89, U0B8A ] };
1363 key <AB04> { [ U0B8E, U0B8F ] };
1364 key <AB05> { [ U0BC6, U0BC7 ] };
1365 key <AB06> { [ U0B94, U0BCC ] };
1366 key <AB07> { [ U0B85, U0B86 ] };
1367 key <AB08> { [ U0B87, U0B88 ] };
1368 };
1369
1370 partial alphanumeric_keys
1371 xkb_symbols "tam_tamilnet_TSCII" {
1372
1373 // Description : A Tamil typewrite-style keymap
1374 // loosely based on TamilNet'99 reommendations
1375 // Encoding : TSCII (http://www.tscii.org)
1376 // Author : Thuraiappah Vaseeharan <vasee (a] ieee.org>
1377 // Last Modified: Sat Jan 5 17:11:26 CST 2002
1378
1379 name[Group1]= "Tamil (TamilNet '99, TSCII encoding)";
1380
1381 key <AE01> { [ 0x10000b7, 0x10000a4 ] }; // aytham
1382 key <AE02> { [ 0x1000082, 0x10000a5 ] }; // shri
1383 key <AE03> { [ 0x1000083, 0x1000088 ] }; // ja
1384 key <AE04> { [ 0x1000084, 0x1000089 ] }; // sha
1385 key <AE05> { [ 0x1000085, 0x100008a ] }; // sa
1386 key <AE06> { [ 0x1000086, 0x100008b ] }; // ha
1387 key <AE07> { [ 0x1000087, 0x100008c ] }; // ksha
1388
1389 // Qrow
1390 key <AD01> { [ 0x10000bb, 0x100009a ] }; // nja
1391 key <AD02> { [ 0x10000c8, 0x10000da ] }; // Ra
1392 key <AD03> { [ 0x10000bf, 0x10000d1 ] }; // NNa
1393 key <AD04> { [ 0x10000ba, 0x10000cd ] }; // ca
1394 key <AD05> { [ 0x10000c5, 0x10000d7 ] }; // va
1395 key <AD06> { [ 0x10000c4, 0x10000d6 ] }; // la
1396 key <AD07> { [ 0x10000c3, 0x10000d5 ] }; // ra
1397 key <AD08> { [ 0x10000a8, 0x10000b3 ] }; // sangili, ai
1398 key <AD09> { [ 0x10000ca, 0x10000cb ] }; // di, dI
1399 key <AD10> { [ 0x10000a2, 0x10000a3 ] }; // visiri
1400 key <AD11> { [ dead_acute, 0x10000a3 ] }; // Ukaaram
1401
1402 // Arow
1403 key <AC01> { [ 0x10000c2, 0x10000d4 ] }; // ya
1404 key <AC02> { [ 0x10000c7, 0x10000d9 ] }; // La
1405 key <AC03> { [ 0x10000c9, 0x10000db ] }; // na
1406 key <AC04> { [ 0x10000b8, 0x10000cc ] }; // ka
1407 key <AC05> { [ 0x10000c0, 0x10000d2 ] }; // pa
1408 key <AC06> { [ dead_grave,0x10000a1 ] }; // pulli,aravu
1409 key <AC07> { [ 0x10000be, 0x10000d0 ] }; // tha
1410 key <AC08> { [ 0x10000c1, 0x10000d3 ] }; // ma
1411 key <AC09> { [ 0x10000bc, 0x10000ce ] }; // da
1412 key <AC10> { [ 0x10000c6, 0x10000d8 ] }; // zha
1413 key <AC11> { [ 0x10000b9, 0x1000099 ] }; // nga
1414
1415 // Zrow
1416 key <AB01> { [ 0x10000bd, 0x10000cf ] }; // Na
1417 key <AB02> { [ 0x10000b4, 0x10000b5 ] }; // o, O
1418 key <AB03> { [ 0x10000af, 0x10000b0 ] }; // u, U
1419 key <AB04> { [ 0x10000b1, 0x10000b2 ] }; // e, E
1420 key <AB05> { [ 0x10000a6, 0x10000a7 ] }; // kombus
1421 key <AB06> { [ 0x10000b6, 0x10000aa ] }; // au
1422 key <AB07> { [ 0x10000ab, 0x10000ac ] }; // a, A
1423 key <AB08> { [ 0x10000fe, 0x10000ae ] }; // i, I
1424 };
1425
1426 partial alphanumeric_keys
1427 xkb_symbols "tam_tamilnet_TAB" {
1428
1429 // Description: A keymap based on the TamilNet'99 typewriter keyboard
1430 // Encoding: TAB (http://www.tamilnet99.org)
1431 // Author: Thuraiappah Vaseeharan <t_vasee (a] yahoo.com>
1432 // Date : Sun Aug 12 02:23:00 CDT 2001
1433
1434 name[Group1]= "Tamil (TamilNet '99, TAB encoding)";
1435
1436 // numeral row
1437 key <AE01> { [ 0x10000e7, 0x10000a7 ] } ;
1438 key <AE02> { [ 0x10000fa, 0x10000a8 ] } ;
1439 key <AE03> { [ 0x10000fb ] } ;
1440 key <AE04> { [ 0x10000fc ] } ;
1441 key <AE05> { [ 0x10000fd ] } ;
1442 key <AE06> { [ 0x10000fe ] } ;
1443 key <AE07> { [ 0x10000ff ] } ;
1444
1445 // q-row
1446 key <AD01> { [ 0x10000eb, 0x10000b3 ] };
1447 key <AD02> { [ 0x10000f8, 0x10000c1 ] };
1448 key <AD03> { [ 0x10000ef, 0x10000b8 ] };
1449 key <AD04> { [ 0x10000ea, 0x10000b2 ] };
1450 key <AD05> { [ 0x10000f5, 0x10000be ] };
1451 key <AD06> { [ 0x10000f4, 0x10000bd ] };
1452 key <AD07> { [ 0x10000f3, 0x10000bc ] };
1453 key <AD08> { [ 0x10000ac, 0x10000e4 ] };
1454 key <AD09> { [ 0x10000ae, 0x10000af ] };
1455 key <AD10> { [ 0x10000a4, 0x10000a6 ] };
1456 key <AD11> { [ dead_circumflex, 0x10000a6 ] }; // Ukaaram
1457
1458 // a-row
1459 key <AC01> { [ 0x10000f2, 0x10000bb ] };
1460 key <AC02> { [ 0x10000f7, 0x10000c0 ] };
1461 key <AC03> { [ 0x10000f9, 0x10000c2 ] };
1462 key <AC04> { [ 0x10000e8, 0x10000b0 ] };
1463 key <AC05> { [ 0x10000f0, 0x10000b9 ] };
1464 key <AC06> { [ 0x10000a2, 0x10000a3 ] };
1465 key <AC07> { [ 0x10000ee, 0x10000b6 ] };
1466 key <AC08> { [ 0x10000f1, 0x10000ba ] };
1467 key <AC09> { [ 0x10000ec, 0x10000b4 ] };
1468 key <AC10> { [ 0x10000f6, 0x10000bf ] };
1469 key <AC11> { [ 0x10000e9, 0x10000b1 ] };
1470
1471 // z-row
1472 key <AB01> { [ 0x10000ed, 0x10000b5 ] };
1473 key <AB02> { [ 0x10000e5, 0x10000e6 ] };
1474 key <AB03> { [ 0x10000e0, 0x10000e1 ] };
1475 key <AB04> { [ 0x10000e2, 0x10000e3 ] };
1476 key <AB05> { [ 0x10000aa, 0x10000ab ] };
1477 key <AB06> { [ 0x10000ac, 0x10000a3 ] };
1478 key <AB07> { [ 0x10000dc, 0x10000dd ] };
1479 key <AB08> { [ 0x10000de, 0x10000df ] };
1480 };
1481
1482 partial alphanumeric_keys
1483 xkb_symbols "tel" {
1484
1485 // InScript layout for Telugu using Unicode
1486 // Author: G Karunakar <karunakar (a] freedomink.org>
1487 // Date:
1488 // See layout at http://www.indlinux.org/keymap/telugu.php
1489
1490 name[Group1]= "Telugu";
1491
1492 key <TLDE> { [ U0c4a, U0c12 ] };
1493 key <AE01> { [ U0c67 ] };
1494 key <AE02> { [ U0c68 ] };
1495 key <AE03> { [ U0c69, numbersign ] };
1496 key <AE04> { [ U0c6a, dollar ] };
1497 key <AE05> { [ U0c6b, percent ] };
1498 key <AE06> { [ U0c6c, asciicircum ] };
1499 key <AE07> { [ U0c6d, ampersand ] };
1500 key <AE08> { [ U0c6e, asterisk ] };
1501 key <AE09> { [ U0c6f, parenleft ] };
1502 key <AE10> { [ U0c66, parenright ] };
1503 key <AE11> { [ U0c03, underscore ] };
1504 key <AE12> { [ U0c43, U0c0b ] };
1505 key <BKSP> { [ BackSpace ] };
1506
1507 key <AD01> { [ U0c4c, U0c14 ] };
1508 key <AD02> { [ U0c48, U0c10 ] };
1509 key <AD03> { [ U0c3e, U0c06 ] };
1510 key <AD04> { [ U0c40, U0c08 ] };
1511 key <AD05> { [ U0c42, U0c0a ] };
1512 key <AD06> { [ U0c2c, U0c2d ] };
1513 key <AD07> { [ U0c39, U0c19 ] };
1514 key <AD08> { [ U0c17, U0c18 ] };
1515 key <AD09> { [ U0c26, U0c27 ] };
1516 key <AD10> { [ U0c1c, U0c1d ] };
1517 key <AD11> { [ U0c21, U0c22 ] };
1518 key <AD12> { [ U0c1e ] };
1519
1520 key <AC01> { [ U0c4b, U0c13 ] };
1521 key <AC02> { [ U0c47, U0c0f ] };
1522 key <AC03> { [ U0c4d, U0c05 ] };
1523 key <AC04> { [ U0c3f, U0c07 ] };
1524 key <AC05> { [ U0c41, U0c09 ] };
1525 key <AC06> { [ U0c2a, U0c2b ] };
1526 key <AC07> { [ U0c30, U0c31 ] };
1527 key <AC08> { [ U0c15, U0c16 ] };
1528 key <AC09> { [ U0c24, U0c25 ] };
1529 key <AC10> { [ U0c1a, U0c1b ] };
1530 key <AC11> { [ U0c1f, U0c20 ] };
1531
1532 key <AB01> { [ U0c46, U0c0e ] };
1533 key <AB02> { [ U0c02, U0c01 ] };
1534 key <AB03> { [ U0c2e, U0c23 ] };
1535 key <AB04> { [ U0c28 ] };
1536 key <AB05> { [ U0c35 ] };
1537 key <AB06> { [ U0c32, U0c33 ] };
1538 key <AB07> { [ U0c38, U0c36 ] };
1539 key <AB08> { [ comma , U0c37 ] };
1540 key <AB09> { [ period ] };
1541 key <AB10> { [ U0c2f, U0040 ] };
1542
1543 key <RALT> {
1544 symbols[Group1] = [ Mode_switch, Multi_key ],
1545 virtualMods = AltGr
1546 };
1547 include "rupeesign(4)"
1548 include "level3(ralt_switch)"
1549 };
1550
1551 //Name : Sarala
1552 //Description : This is an adaptation of the Sarala keyboard (http://www.medhajananam.org/sarala/) developed
1553 // by Krishna Dhullipalla. Because of the way keyboard shortcuts are laid out in KDE, the keyboard
1554 // modifiers had to be changed. The layout does not take any part of the original Sarala keyboard
1555 // code however. It has been developed from scratch, so the experience may differ.
1556 //
1557 // There is a ibus-m17n version of Sarala layout developed by Satya Pothamsetti <potham (a] gmail.com> on
1558 // http://www.medhajananam.org/.
1559 //Standard : Supports Unicode 9.0.
1560 //Help : This layout differs slightly from the layout on Medhajenanam. The layout has been depicted in the
1561 // pdf file attached to this post on Sarala google group.
1562 // (https://groups.google.com/forum/#!topic/sarala-keyboard/-gsa90dUFcs).
1563 //
1564 //Layout Developed by : Krishna Dhullipalla <krishnadvr (a] yahoo.com> (http://www.medhajananam.org/)
1565 //Author : Venkat R Akkineni <venkatram.akkineni (a] india.com>
1566 //Date : Apr 28 2017
1567 partial alphanumeric_keys
1568 xkb_symbols "tel-sarala"
1569 {
1570 name[Group1] = "Telugu (Sarala)";
1571 key.type="FOUR_LEVEL";
1572 // sequence base, shift, alt, alt + shift
1573 key <AB01> { [ U0C4A, U0C12 ] }; //
1574 key <AB02> { [ U0C42, U0C0A ] }; //
1575 key <AB03> { [ U0C21, U0C22 ] }; //
1576 key <AB04> { [ U0C35, U0C39 ] }; //
1577 key <AB05> { [ U0C2C, U0C2D ] }; //
1578 key <AB06> { [ U0C28, U0C23 ] }; //
1579 key <AB07> { [ U0C2E, U0C01 ] }; //
1580 key <AB08> { [ U002C, U0C1E, leftcaret ] }; // , <
1581 key <AB09> { [ U002E, U0C19, rightcaret ] }; // . >
1582 key <AB10> { [ U0C36, question, KP_Divide ] }; // ? /
1583 key <AC01> { [ U0C2F, U0C3D ] }; //
1584 key <AC02> { [ U0C02, U0C03 ] }; //
1585 key <AC03> { [ U0C26, U0C27 ] }; //
1586 key <AC04> { [ U0C4D, U0C05 ] }; //
1587 key <AC05> { [ U0C17, U0C18 ] }; //
1588 key <AC06> { [ U0C1A, U0C1B, U0C58, U0C59 ] }; //
1589 key <AC07> { [ U0C3E, U0C06 ] }; //
1590 key <AC08> { [ U0C15, U0C16, U0C62, U0C63 ] }; //
1591 key <AC09> { [ U0C32, U0C33, U0C0C, U0C61 ] }; //
1592 key <AC10> { [ U0C1F, U0C20, semicolon, colon ] }; // ; :
1593 key <AC11> { [ quoteright, quotedbl ] }; // ' "
1594 key <AD01> { [ U0C46, U0C0E, U0C44, U0C34 ] }; //
1595 key <AD02> { [ U0C38, U0C37, U0C44 ] }; //
1596 key <AD03> { [ U0C47, U0C0F, U0C44 ] }; //
1597 key <AD04> { [ U0C30, U0C31, U0C44, U0C60 ] }; //
1598 key <AD05> { [ U0C24, U0C25 ] }; //
1599 key <AD06> { [ U0C40, U0C08 ] }; //
1600 key <AD07> { [ U0C41, U0C09 ] }; //
1601 key <AD08> { [ U0C3F, U0C07 ] }; //
1602 key <AD09> { [ U0C4B, U0C13 ] }; //
1603 key <AD10> { [ U0C2A, U0C2B ] }; //
1604 key <AD11> { [ U0C1C, U0C1D, bracketleft, braceleft ] }; // [ {
1605 key <AD12> { [ U0C48, U0C10, bracketright, braceright ] }; // ] }
1606 key <AE01> { [ KP_1, exclam, U0C67, U0C78 ] }; // 1 !
1607 key <AE02> { [ KP_2, at, U0C68, U0C79 ] }; // 2 @
1608 key <AE03> { [ KP_3, numbersign, U0C69, U0C7A ] }; // 3 #
1609 key <AE04> { [ KP_4, dollar, U0C6A, U0C7B ] }; // 4 $
1610 key <AE05> { [ KP_5, percent, U0C6B, U0C7C ] }; // 5 %
1611 key <AE06> { [ KP_6, asciicircum, U0C6C, U0C7D ] }; // 6 ^
1612 key <AE07> { [ KP_7, ampersand, U0C6D, U0C7E ] }; // 7 &
1613 key <AE08> { [ KP_8, KP_Multiply, U0C6E, U0C7F ] }; // 8 *
1614 key <AE09> { [ KP_9, U0028, U0C6F, U20B9 ] }; // 9 (
1615 key <AE10> { [ KP_0, U0029, U0C66, U0C55 ] }; // 0 )
1616 key <AE11> { [ KP_Subtract, underbar, NoSymbol, U0C56 ] }; // - _
1617 key <AE12> { [ KP_Equal, KP_Add ] }; // = +
1618 key <BKSL> { [ U0C4C, U0C14, U0964, U0965 ] }; //
1619 key <TLDE> { [ U0C43, U0C0B, quoteleft, asciitilde ] }; // ` ~
1620
1621 include "level3(ralt_switch)"
1622 };
1623
1624 partial alphanumeric_keys
1625 xkb_symbols "urd-phonetic" {
1626 include "pk(urd-phonetic)"
1627 name[Group1]= "Urdu (phonetic)";
1628 };
1629
1630 partial alphanumeric_keys
1631 xkb_symbols "urd-phonetic3" {
1632 include "pk(urd-crulp)"
1633 name[Group1]= "Urdu (alt. phonetic)";
1634 };
1635
1636 partial alphanumeric_keys
1637 xkb_symbols "urd-winkeys" {
1638 include "pk(urd-nla)"
1639 name[Group1]= "Urdu (Windows)";
1640 };
1641
1642 partial alphanumeric_keys
1643 xkb_symbols "guru" {
1644 name[Group1]= "Punjabi (Gurmukhi)";
1645
1646 // Mainly numbers.
1647 key <AE01> { [ U0A67 ] };
1648 key <AE02> { [ U0A68 ] };
1649 key <AE03> { [ U0A69, U0A71 ] };
1650 key <AE04> { [ U0A6A, U0A74 ] };
1651 key <AE05> { [ U0A6B, U262C ] };
1652 key <AE06> { [ U0A6C ] };
1653 key <AE07> { [ U0A6D ] };
1654 key <AE08> { [ U0A6e ] };
1655 key <AE09> { [ U0A6F, parenleft ] };
1656 key <AE10> { [ U0A66, parenright ] };
1657 key <AE11> { [ U0A03 ] };
1658 key <AE12> { [ equal, plus ] };
1659
1660 // Mainly long vowels
1661
1662 key <AD01> { [ U0A4C, U0A14 ] };
1663 key <AD02> { [ U0A48, U0A10 ] };
1664 key <AD03> { [ U0A3E, U0A06 ] };
1665 key <AD04> { [ U0A40, U0A08 ] };
1666 key <AD05> { [ U0A42, U0A0A ] };
1667
1668 // Mainly voiced consonants
1669
1670 key <AD06> { [ U0A2C, U0A2D ] };
1671 key <AD07> { [ U0A39, U0A19 ] };
1672 key <AD08> { [ U0A17, U0A18 ] };
1673 key <AD09> { [ U0A26, U0A27 ] };
1674 key <AD10> { [ U0A1C, U0A1D ] };
1675 key <AD11> { [ U0A21, U0A22 ] };
1676 key <AD12> { [ U0A3C, U0A1E ] };
1677
1678 // Mainly short vowels
1679 key <AC01> { [ U0A4B, U0A13 ] };
1680 key <AC02> { [ U0A47, U0A0F ] };
1681 key <AC03> { [ U0A4D, U0A05 ] };
1682 key <AC04> { [ U0A3F, U0A07 ] };
1683 key <AC05> { [ U0A41, U0A09 ] };
1684
1685 // Mainly unvoiced consonants
1686
1687 key <AC06> { [ U0A2A, U0A2B ] };
1688 key <AC07> { [ U0A30, U0A5C ] };
1689 key <AC08> { [ U0A15, U0A16 ] };
1690 key <AC09> { [ U0A24, U0A25 ] };
1691 key <AC10> { [ U0A1A, U0A1B ] };
1692 key <AC11> { [ U0A1F, U0A20 ] };
1693 key <BKSL> { [ U005C, U007C ] };
1694
1695 key <AB01> { [ z, U0A01 ] };
1696 key <AB02> { [ U0A02, U0A70, U0A71 ] };
1697 key <AB03> { [ U0A2E, U0A23 ] };
1698 key <AB04> { [ U0A28, U0A28 ] };
1699 key <AB05> { [ U0A35, U0A35 ] };
1700 key <AB06> { [ U0A32, U0A33 ] };
1701 key <AB07> { [ U0A38, U0A36 ] };
1702 key <AB08> { [ comma, less ] };
1703 key <AB09> { [ period, U0964 ] };
1704 key <AB10> { [ U0A2F, question ] };
1705
1706 include "rupeesign(4)"
1707 include "level3(ralt_switch)"
1708 };
1709
1710 //Name : Jhelum (Refind InScript)
1711 //Description : A Jhelum keyboard layout for Gurmukhi (Punjabi)
1712 // http://www.satluj.org/Jhelum.html
1713 //Modified for InScript to make
1714 //Original Author : Amanpreet Singh Alam <apreet.alam (a] gmail.com
1715
1716 partial alphanumeric_keys
1717 xkb_symbols "jhelum" {
1718 name[Group1] = "Punjabi (Gurmukhi Jhelum)";
1719 key.type="FOUR_LEVEL";
1720
1721 // Roman digits
1722 key <TLDE> { [ grave, asciitilde, U0A02,U0A01 ] }; // grave: anusvara, candrabindu
1723 key <AE01> { [ 1,exclam, U0A67, exclam ] };
1724 key <AE02> { [ 2,at, U0A68, at ] };
1725 key <AE03> { [ 3,numbersign, U0A69, numbersign ] };
1726 key <AE04> { [ 4,dollar, U0A6A ] };
1727 key <AE05> { [ 5,percent,U0A6B, percent ] };
1728 key <AE06> { [ 6,U0A73, U0A6C,asciicircum ] };
1729 key <AE07> { [ 7,U0A72,U0A6D,ampersand ] };
1730 key <AE08> { [ 8,asterisk,U0A6E, asterisk ] };
1731 key <AE09> { [ 9,parenleft,U0A6F,parenleft ] };
1732 key <AE10> { [ 0,parenright,U0A66,parenright ] };
1733 key <AE11> { [ minus,underscore] };
1734 key <AE12> { [ equal,plus] };
1735 key <BKSL> { [ U0964,U0965,U007C,U005C] }; //pipe : danda, double danda
1736
1737 //Q Row
1738 key <AD01> { [ U0A4C, U0A14 ] }; // Q: oo, ooh
1739 key <AD02> { [ U0A48, U0A10 ] }; // W: ee, ae
1740 key <AD03> { [ U0A3E, U0A06 ] }; // E: a, aa
1741 key <AD04> { [ U0A40, U0A08, U20B9 ] }; // R: ee, ai, rupeesign
1742 key <AD05> { [ U0A42, U0A0A ] }; // T: u, uu
1743 key <AD06> { [ U0A30, U0A5C ] }; // Y: ra, raa
1744 key <AD07> { [ U0A26, U0A27 ] }; // U: tha, thha
1745 key <AD08> { [ U0A17, U0A18, U0A5A ] }; // I:ga, gha
1746 key <AD09> { [ U0A24, U0A1F ] }; // O: ta, tha
1747 key <AD10> { [ U0A2A, U0A5E, VoidSymbol,U0A5E ] }; // P: pa, pha
1748 key <AD11> { [ U0A21, U0A22, bracketleft, braceleft ] };
1749 key <AD12> { [ U0A19, U0A1E, bracketright, braceright ] };
1750
1751 //A Row
1752 key <AC01> { [ U0A4B, U0A13 ] }; // A: o, oo
1753 key <AC02> { [ U0A47, U0A0F ] }; // S: e, ee
1754 key <AC03> { [ U0A4D, U0A05 ] }; // D: halant, aa
1755 key <AC04> { [ U0A3F, U0A07 ] }; // F: i, aa
1756 key <AC05> { [ U0A41, U0A09 ] }; // G: u, uh
1757 key <AC06> { [ U0A39, U0A20 ] }; // H: ha, thha
1758 key <AC07> { [ U0A1C, U0A1D, U0A5B ] }; // J: ja, jha
1759 key <AC08> { [ U0A15, U0A16,VoidSymbol ,U0A59 ] }; // K: ka, kha
1760 key <AC09> { [ U0A32, U0A25, U0A33 ] }; // L: la, tha
1761 key <AC10> { [ U0A38, colon, U0A36 ] }; //; sa
1762 key <AC11> { [apostrophe, quotedbl ] };
1763
1764 //Z Row
1765 key <AB01> { [ U0A71, U0A3C ] }; // Z: addak, par bindi
1766 key <AB02> { [ U0A02, U0A70 ] }; // X: bindi, tippi
1767 key <AB03> { [ U0A1A, U0A1B ] }; // C: ca, cha
1768 key <AB04> { [ U0A35, U0A2F ] }; // V: va, ya
1769 key <AB05> { [ U0A2C, U0A2D ] }; // B: ba, bha
1770 key <AB06> { [ U0A28, U0A23 ] }; // N: na, nha
1771 key <AB07> { [ U0A2E, U0A2E ] }; // M: ma
1772 key <AB08> { [ comma, U262C ] };// comma: comma, dev abbreviation sign
1773 key <AB09> { [ period, U0A74 ] }; // period: period, nukta
1774 key <AB10> { [ slash, question ] };
1775
1776 // modifier_map Shift { Shift_L };
1777 // modifier_map Lock { Caps_Lock };
1778 // modifier_map Control{ Control_L };
1779 // modifier_map Mod3 { Mode_switch };
1780 include "level3(ralt_switch)"
1781 };
1782
1783 partial alphanumeric_keys
1784 xkb_symbols "olpc" {
1785
1786 // Contact: Walter Bender <walter (a] laptop.org>
1787
1788 include "in(deva)"
1789
1790 key <TLDE> { [ U094A, U0912 ] }; // DEVANAGARI VOWEL SIGN SHORT O; DEVANAGARI LETTER SHORT O
1791 key <AE01> { [ U0967, U090D ] }; // DEVANAGARI DIGIT ONE; DEVANAGARI LETTER CANDRA E
1792 key <AE02> { [ U0968, U0945 ] }; // DEVANAGARI DIGIT TWO; DEVANAGARI VOWEL SIGN CANDRA E
1793 key <AE03> { [ U0969 ] }; // DEVANAGARI DIGIT THREE;
1794 key <AE04> { [ U096A ] }; // DEVANAGARI DIGIT FOUR;
1795 key <AE05> { [ U096B ] }; // DEVANAGARI DIGIT FIVE;
1796 key <AE06> { [ U096C ] }; // DEVANAGARI DIGIT SIX;
1797 key <AE07> { [ U096D ] }; // DEVANAGARI DIGIT SEVEN;
1798 key <AE08> { [ U096E ] }; // DEVANAGARI DIGIT EIGHT;
1799 key <AE09> { [ U096F, parenleft ] }; // DEVANAGARI DIGIT NINE;
1800 key <AE10> { [ U0966, parenright ] }; // DEVANAGARI DIGIT ZERO;
1801 key <AE11> { [ minus, U0903 ] }; // DEVANAGARI SIGN VISARGA;
1802 key <AE12> { [ U0943, U090B ] }; // DEVANAGARI VOWEL SIGN VOCALIC R; DEVANAGARI LETTER VOCALIC R
1803
1804 key <AD01> { [ U094C, U0914 ] }; // DEVANAGARI VOWEL SIGN AU; DEVANAGARI LETTER AU
1805 key <AD02> { [ U0948, U0910 ] }; // DEVANAGARI VOWEL SIGN AI; DEVANAGARI LETTER AI
1806 key <AD03> { [ U093E, U0906 ] }; // DEVANAGARI VOWEL SIGN AA; DEVANAGARI LETTER AA
1807 key <AD04> { [ U0940, U0908 ] }; // DEVANAGARI VOWEL SIGN II; DEVANAGARI LETTER II
1808 key <AD05> { [ U0942, U090A ] }; // DEVANAGARI VOWEL SIGN UU; DEVANAGARI LETTER UU
1809 key <AD06> { [ U092C, U092D ] }; // DEVANAGARI LETTER BA; DEVANAGARI LETTER BHA
1810 key <AD07> { [ U0939, U0919 ] }; // DEVANAGARI LETTER HA; DEVANAGARI LETTER NGA
1811 key <AD08> { [ U0917, U0918 ] }; // DEVANAGARI LETTER GA; DEVANAGARI LETTER GHA
1812 key <AD09> { [ U0926, U0927 ] }; // DEVANAGARI LETTER DA; DEVANAGARI LETTER DHA
1813 key <AD10> { [ U091C, U091D ] }; // DEVANAGARI LETTER JA; DEVANAGARI LETTER JHA
1814 key <AD11> { [ U0921, U0922 ] }; // DEVANAGARI LETTER DDA; DEVANAGARI LETTER DDHA
1815 key <AD12> { [ U093C, U091E ] }; // DEVANAGARI SIGN NUKTA; DEVANAGARI LETTER NYA
1816
1817 key <BKSL> { [ U0949, U0911 ] }; // DEVANAGARI VOWEL SIGN CANDRA O; DEVANAGARI LETTER CANDRA O
1818
1819 key <AC01> { [ U094B, U0913 ] }; // DEVANAGARI VOWEL SIGN O; DEVANAGARI LETTER O
1820 key <AC02> { [ U0947, U090F ] }; // DEVANAGARI VOWEL SIGN E; DEVANAGARI LETTER E
1821 key <AC03> { [ U094D, U0905 ] }; // DEVANAGARI SIGN VIRAMA; DEVANAGARI LETTER A
1822 key <AC04> { [ U093F, U0907 ] }; // DEVANAGARI VOWEL SIGN I; DEVANAGARI LETTER I
1823 key <AC05> { [ U0941, U0909 ] }; // DEVANAGARI VOWEL SIGN U; DEVANAGARI LETTER U
1824 key <AC06> { [ U092A, U092B ] }; // DEVANAGARI LETTER PA; DEVANAGARI LETTER PHA
1825 key <AC07> { [ U0930, U0931 ] }; // DEVANAGARI LETTER RA; DEVANAGARI LETTER RRA
1826 key <AC08> { [ U0915, U0916 ] }; // DEVANAGARI LETTER KA; DEVANAGARI LETTER KHA
1827 key <AC09> { [ U0924, U0925 ] }; // DEVANAGARI LETTER TA; DEVANAGARI LETTER THA
1828 key <AC10> { [ U091A, U091B ] }; // DEVANAGARI LETTER CA; DEVANAGARI LETTER CHA
1829 key <AC11> { [ U091F, U0920 ] }; // DEVANAGARI LETTER TTA; DEVANAGARI LETTER TTHA
1830
1831 key <AB01> { [ U0946, U090E ] }; // DEVANAGARI VOWEL SIGN SHORT E; DEVANAGARI LETTER SHORT E
1832 key <AB02> { [ U0902, U0901 ] }; // DEVANAGARI SIGN ANUSVARA; DEVANAGARI SIGN CANDRABINDU
1833 key <AB03> { [ U092E, U0923 ] }; // DEVANAGARI LETTER MA; DEVANAGARI LETTER NNA
1834 key <AB04> { [ U0928, U0929 ] }; // DEVANAGARI LETTER NA; DEVANAGARI LETTER NNNA
1835 key <AB05> { [ U0935, U0934 ] }; // DEVANAGARI LETTER VA; DEVANAGARI LETTER LLLA
1836 key <AB06> { [ U0932, U0933 ] }; // DEVANAGARI LETTER LA; DEVANAGARI LETTER LLA
1837 key <AB07> { [ U0938, U0936 ] }; // DEVANAGARI LETTER SA; DEVANAGARI LETTER SHA
1838 key <AB08> { [ comma, U0937 ] }; // DEVANAGARI LETTER SSA
1839 key <AB09> { [ period, U0964 ] }; // DEVANAGARI DANDA
1840 key <AB10> { [ U092F, U095F ] }; // DEVANAGARI LETTER YA; DEVANAGARI LETTER YYA
1841
1842 // space, space, Zero-Width-Non-Joiner (ZWNJ), Zero-Width-Joiner (ZWJ):
1843 include "nbsp(zwnj3zwj4)"
1844
1845 include "group(olpc)"
1846 };
1847
1848 partial alphanumeric_keys
1849 xkb_symbols "hin-wx" {
1850
1851 name[Group1]= "Hindi (Wx)";
1852
1853 key <TLDE> { [ grave, asciitilde, 2, 3 ] };
1854
1855 key <AE01> { [ 0x1000967, exclam ] };
1856 key <AE02> { [ 0x1000968, at ] };
1857 key <AE03> { [ 0x1000969 , numbersign ] };
1858 key <AE04> { [ 0x100096A , dollar ] };
1859 key <AE05> { [ 0x100096B , percent ] };
1860 key <AE06> { [ 0x100096C , asciicircum ] };
1861 key <AE07> { [ 0x100096D , ampersand ] };
1862 key <AE08> { [ 0x100096e , asterisk ] };
1863 key <AE09> { [ 0x100096F, parenleft ] };
1864 key <AE10> { [ 0x1000966, parenright ] };
1865 key <AE11> { [ minus, underscore ] };
1866 key <AE12> { [ equal, plus ] };
1867
1868
1869 key <AD01> { [ 0x1000943, 0x1000944, 0x100090B, 0x1000960] };
1870 key <AD02> { [ 0x1000924, 0x1000925 ] };
1871 key <AD03> { [ 0x1000947, 0x1000948, 0x100090F, 0x1000910] };
1872 key <AD04> { [ 0x1000930, 0x1000937 ] };
1873 key <AD05> { [ 0x100091F, 0x1000920 ] };
1874
1875
1876 key <AD06> { [ 0x100092F ] };
1877 key <AD07> { [ 0x1000941, 0x1000942, 0x1000909, 0x100090A ] };
1878 key <AD08> { [ 0x100093F, 0x1000940, 0x1000907, 0x1000908 ] };
1879 key <AD09> { [ 0x100094B, 0x100094C, 0x1000913, 0x1000914] };
1880 key <AD10> { [ 0x100092A, 0x100092B ] };
1881 key <AD11> { [ bracketleft, braceleft ] };
1882 key <AD12> { [ bracketright, braceright ] };
1883 key <BKSL> { [ backslash, bar, 0x1000964, 0x1000965 ] };
1884
1885 key <AC01> { [ 0x100094D, 0x100093E, 0x1000905,0x1000906 ] };
1886 key <AC02> { [ 0x1000938, 0x1000936 ] };
1887 key <AC03> { [ 0x1000921, 0x1000922 ] };
1888 key <AC04> { [ 0x1000919, 0x100091E ] };
1889 key <AC05> { [ 0x1000917, 0x1000918 ] };
1890
1891
1892 key <AC06> { [ 0x1000939, 0x1000903 ] };
1893 key <AC07> { [ 0x100091C, 0x100091D ] };
1894 key <AC08> { [ 0x1000915, 0x1000916 ] };
1895 key <AC09> { [ 0x1000932, 0x1000962, 0x1000933, 0x100090C] };
1896 key <AC10> { [ semicolon, colon ] };
1897 key <AC11> { [ apostrophe, quotedbl ] };
1898
1899 key <AB01> { [ 0x1000901, 0x100093C, 0x100093D, 0x1000950] };
1900 key <AB02> { [ 0x1000926, 0x1000927 ] };
1901 key <AB03> { [ 0x100091A, 0x100091B ] };
1902 key <AB04> { [ 0x1000935 ] };
1903 key <AB05> { [ 0x100092C, 0x100092D ] };
1904 key <AB06> { [ 0x1000928, 0x1000923 ] };
1905 key <AB07> { [ 0x100092E, 0x1000902 ] };
1906 key <AB08> { [ comma, less ] };
1907 key <AB09> { [ period, greater ] };
1908 key <AB10> { [ slash, question ] };
1909
1910 include "level3(ralt_switch)"
1911 include "rupeesign(4)"
1912 };
1913
1914 partial alphanumeric_keys
1915 xkb_symbols "eng" {
1916
1917 include "us(basic)"
1918 name[Group1]= "English (India, with rupee)";
1919
1920 include "rupeesign(4)"
1921 include "level3(ralt_switch)"
1922 };
1923
1924
1925 // Description : Enhanced INSCRIPT keymap for Malayalam
1926 // Encoding : Unicode (http://www.unicode.org)
1927 // Author : Mahesh T Pai <paivakil (a] gmail.com>
1928 // Date : March, 2011
1929 // Source : http://www.nongnu.org/smc/docs/images/ml_inscript_layout.jpg
1930 // Comment : Based on the InScript Keyboard created by M Baiju
1931 // Mapping:
1932
1933 partial alphanumeric_keys
1934 xkb_symbols "mal_enhanced" {
1935
1936 name[Group1] = "Malayalam (enhanced InScript, with rupee)";
1937
1938 //From grave to backslash (\)
1939
1940 key <TLDE> { [ U0d4a , U0d12 ] };
1941 key <AE01> { [ U0d67 , exclam ] };
1942 key <AE02> { [ U0d68 , at ] };
1943 key <AE03> { [ U0d69 , numbersign ] };
1944 key <AE04> { [ U0d6a , dollar ] };
1945 key <AE05> { [ U0d6b , percent ] };
1946 key <AE06> { [ U0d6c , asciicircum ] };
1947 key <AE07> { [ U0d6d , ampersand ] };
1948 key <AE08> { [ U0d6e , U0d7e ] };
1949 key <AE09> { [ U0d6f , parenleft ] };
1950 key <AE10> { [ U0d66 , parenright ] };
1951
1952 key <AE11> { [ minus , U0d03 ] };
1953 key <AE12> { [ U0d43 , U0d0b ] };
1954 key <BKSL> { [ U0d7c , U05C ] }; //bksl: chillu RR
1955
1956
1957 // From 'q' to right bracket (])
1958
1959 key <AD01> { [ U0d57 , U0d14 ] };
1960 key <AD02> { [ U0d48 , U0d10 ] };
1961 key <AD03> { [ U0d3e , U0d06 ] };
1962 key <AD04> { [ U0d40 , U0d08 ] };
1963 key <AD05> { [ U0d42 , U0d0a ] };
1964 key <AD06> { [ U0d2c , U0d2d ] };
1965 key <AD07> { [ U0d39 , U0d19 ] };
1966 key <AD08> { [ U0d17 , U0d18 ] };
1967 key <AD09> { [ U0d26 , U0d27 ] };
1968 key <AD10> { [ U0d1c , U0d1d ] };
1969 key <AD11> { [ U0d21 , U0d22 ] };
1970 key <AD12> { [ U0200d , U0d1e ] };
1971
1972 // From 'a' to apostrophe (')
1973
1974 key <AC01> { [ U0d4b , U0d13 ] };
1975 key <AC02> { [ U0d47 , U0d0f ] };
1976 key <AC03> { [ U0d4d , U0d05 ] };
1977 key <AC04> { [ U0d3f , U0d07 ] };
1978 key <AC05> { [ U0d41 , U0d09 ] };
1979 key <AC06> { [ U0d2a , U0d2b ] };
1980 key <AC07> { [ U0d30 , U0d31 ] };
1981 key <AC08> { [ U0d15 , U0d16 ] };
1982 key <AC09> { [ U0d24 , U0d25 ] };
1983 key <AC10> { [ U0d1a , U0d1b ] };
1984 key <AC11> { [ U0d1f , U0d20 ] };
1985
1986 // From 'z' to slash (/)
1987
1988 key <AB01> { [ U0d46 , U0d0e ] };
1989 key <AB02> { [ U0d02 , U0d7a ] };
1990 key <AB03> { [ U0d2e , U0d23 ] };
1991 key <AB04> { [ U0d28 , U0d7b ] };
1992 key <AB05> { [ U0d35 , U0d34 ] };
1993 key <AB06> { [ U0d32 , U0d33 ] };
1994 key <AB07> { [ U0d38 , U0d36 ] };
1995 key <AB08> { [ comma , U0d37 ] };
1996 key <AB09> { [ period , U0d7d ] }; //chillu l
1997 key <AB10> { [ U0d2f , question ] };
1998
1999 include "rupeesign(4)"
2000 include "level3(ralt_switch)"
2001 };
2002
2003
2004 // ---- BEGIN Hindi KaGaPa phonetic ----
2005 // Name: KaGaPa phonetic
2006 // Brief: Devanagari layout (Hindi, Sanskrit, Nepali, Marathi, etc.)
2007 // Diagram: (Original)[http://baraha.com/help/Keyboards/dev_brhkbd.htm]
2008 // (This layout)[http://bdsatish.in/lang/dev-kagapa.png]
2009 //
2010 // Description: Based on KaGaPa layout (also called Baraha layout or Nudi layout)
2011 // which is a modified layout of the specification by Dr. K. P. Rao.
2012 // This is a phonetic layout with the following features:
2013 // [1] All letters are mapped to phonetically-similar English keys
2014 // as much as possible.
2015 // [2] The independent vowel (svara) and its dependent vowel (maatra)
2016 // use the same key (depending upon SHIFT, ALTGR or ALTGR + SHIFT).
2017 // [3] Consonant conjuncts are produced by explicitly invoking the
2018 // 'viraama' (key f). The 'short a' maatra is implicit in all
2019 // consonants.
2020 // [4] Zero width non-joiner and joiner are on keys 6 and 7
2021 // respectively. These are absolutely essential for alternative
2022 // glyph renderings of consonant half-forms.
2023 // [5] Rigvedic accent marks, visarga variants.
2024 //
2025 // Author: Satish BD <bdsatish (a] gmail.com>
2026 //
2027 partial alphanumeric_keys
2028 xkb_symbols "hin-kagapa" {
2029 name[Group1] = "Hindi (KaGaPa, phonetic)";
2030 key.type="FOUR_LEVEL";
2031
2032 // Roman digits
2033 key <TLDE> { [ grave, asciitilde, U201C ] }; // U201C: left double quotation mark
2034 key <AE01> { [ 1, exclam, U0967 ] };
2035 key <AE02> { [ 2, at, U0968, U20A8 ] }; // U20A8: generic rupee sign (Rs)
2036 key <AE03> { [ 3, numbersign, U0969 ] };
2037 key <AE04> { [ 4, dollar, U096A, U20B9 ] }; // U20B9: new Indian rupee sign
2038 key <AE05> { [ 5, percent, U096B ] };
2039 key <AE06> { [ 6, asciicircum, U096C, U200C ] }; // ZWNJ
2040 key <AE07> { [ 7, ampersand, U096D, U200D ] }; // ZWJ
2041 key <AE08> { [ 8, asterisk, U096E, U0901 ] }; // U0901: Devanagari candrabindu
2042 key <AE09> { [ 9, parenleft, U096F ] };
2043 key <AE10> { [ 0, parenright, U0966, U0970 ] }; // U0970: Devanagari abbreviation sign
2044 key <AE11> { [ minus, underscore, U0952 ] }; // U0952: Devanagari stress sign anudatta
2045 key <AE12> { [ equal, plus ] };
2046 key <BKSL> { [ U005C, U007C, U0964, U0965 ] }; // backslash, pipe, danda, double danda
2047
2048 //Q Row
2049 key <AD01> { [ U091F, U0920 ] }; // Q: retroflex Ta, Tha
2050 key <AD02> { [ U0921, U0922, U095C, U095D ] }; // W: retroflex Da, Dha, Da-nukta, Dha-nukta
2051 key <AD03> { [ U0946, U0947, U090E, U090F ] }; // E: matras, short E, long E
2052 key <AD04> { [ U0930, U0943, U090B, U0931 ] }; // R: ra, vocalic R matra, vocalic R, ra-nukta
2053 key <AD05> { [ U0924, U0925 ] }; // T: dental ta, tha
2054 key <AD06> { [ U092F, U0948, U0910, U095F ] }; // Y: ya, ai matra, ai, ya-nukta
2055 key <AD07> { [ U0941, U0942, U0909, U090A ] }; // U: matras, u, uu
2056 key <AD08> { [ U093F, U0940, U0907, U0908 ] }; // I: matras, i, ii
2057 key <AD09> { [ U094A, U094B, U0912, U0913 ] }; // O: matras, short o, long o
2058 key <AD10> { [ U092A, U092B, U095E ] }; // P: pa, pha, pha-nukta
2059 key <AD11> { [ bracketleft, braceleft ] };
2060 key <AD12> { [ bracketright, braceright ] };
2061
2062 //A Row
2063 key <AC01> { [ U093E, U0906, U0905, U0972 ] }; // A: aa matra, aa, short a, candra a
2064 key <AC02> { [ U0938, U0936 ] }; // S: sa, sha
2065 key <AC03> { [ U0926, U0927 ] }; // D: dental da, dha
2066 key <AC04> { [ U094D, U0944, U0960 ] }; // F: virama, vocalic RR matra, vocalic RR
2067 key <AC05> { [ U0917, U0918, U095A ] }; // G: ga, gha, ga-nukta
2068 key <AC06> { [ U0939, U0903, U1CF5, U1CF6 ] }; // H: ha, visarga, jihvamuliya, upadhmaniya
2069 key <AC07> { [ U091C, U091D, U095B ] }; // J: ja, jha, ja-nukta
2070 key <AC08> { [ U0915, U0916, U0958, U0959 ] }; // K: ka, kha, ka-nukta, kha-nukta
2071 key <AC09> { [ U0932, U0933, U0962, U090C ] }; // L: la, lla, vocalic L matra, vocalic L
2072 key <AC10> { [ semicolon, colon, U1CF2, U1CF3 ] }; // U1CF2/3: ardhavisarga/rotated ardhavisarga
2073 key <AC11> { [ apostrophe, quotedbl, U0951, U201D ] }; // U0951: Devanagari stress sign udatta
2074 // U201D: Right double quotation mark
2075 //Z Row
2076 key <AB01> { [ U091E, U0919 ] }; // Z: nya, nga
2077 key <AB02> { [ U0937, U093C, U0934 ] }; // X: ssa, nukta below, lla-nukta
2078 key <AB03> { [ U091A, U091B ] }; // C: ca, cha
2079 key <AB04> { [ U0935, U094C, U0914 ] }; // V: va, matra au, au
2080 key <AB05> { [ U092C, U092D ] }; // B: ba, bha
2081 key <AB06> { [ U0928, U0923, U0929 ] }; // N: na, nna, nnna
2082 key <AB07> { [ U092E, U0902, U093D, U0950 ] }; // M: ma, anusvara, avagraha, Devanagari OM
2083 key <AB08> { [ comma, U003C, U0945, U090D ] }; // comma: comma, less than, matra, candra e
2084 key <AB09> { [ period, U003E, U0949, U0911 ] }; // period: period, greater than, matra, candra o
2085 key <AB10> { [ slash, question ] };
2086
2087 include "level3(ralt_switch)"
2088 };
2089 // ---- END Hindi KaGaPa ----
2090
2091 // Sanskrit uses Devanagari layout of Hindi
2092 partial alphanumeric_keys
2093 xkb_symbols "san-kagapa" {
2094 include "in(hin-kagapa)"
2095 name[Group1] = "Sanskrit (KaGaPa, phonetic)";
2096 };
2097
2098 // Marathi uses Devanagari layout of Hindi
2099 partial alphanumeric_keys
2100 xkb_symbols "mar-kagapa" {
2101 include "in(hin-kagapa)"
2102 name[Group1] = "Marathi (KaGaPa, phonetic)";
2103 };
2104
2105
2106 // ---- BEGIN Kannada KaGaPa phonetic ----
2107 // Name: Kannada KaGaPa phonetic
2108 // Diagram: (Original)[http://www.baraha.com/help/Keyboards/kan_brhkbd.htm]
2109 // (This layout)[http://bdsatish.in/lang/kan-kagapa.png]
2110 //
2111 // Description: Based on KaGaPa layout (also called Baraha layout or Nudi layout).
2112 // See the description to "hin-kagapa" above.
2113 // Certain punctuation characters from Devanagari block are
2114 // retained for compatibility.
2115 //
2116 // Author: Satish BD <bdsatish (a] gmail.com>
2117 //
2118 partial alphanumeric_keys
2119 xkb_symbols "kan-kagapa" {
2120 name[Group1] = "Kannada (KaGaPa, phonetic)";
2121 key.type="FOUR_LEVEL";
2122
2123 // Roman digits
2124 key <TLDE> { [ grave, asciitilde, U201C ] }; // U201C: left double quotation mark
2125 key <AE01> { [ 1, exclam, U0CE7 ] };
2126 key <AE02> { [ 2, at, U0CE8, U20A8 ] }; // U20A8: generic rupee sign (Rs)
2127 key <AE03> { [ 3, numbersign, U0CE9 ] };
2128 key <AE04> { [ 4, dollar, U0CEA, U20B9 ] }; // U20B9: new Indian rupee sign
2129 key <AE05> { [ 5, percent, U0CEB ] };
2130 key <AE06> { [ 6, asciicircum, U0CEC, U200C ] }; // ZWNJ
2131 key <AE07> { [ 7, ampersand, U0CED, U200D ] }; // ZWJ
2132 key <AE08> { [ 8, asterisk, U0CEE, U0901 ] }; // U0901: Devanagari candrabindu
2133 key <AE09> { [ 9, parenleft, U0CEF ] };
2134 key <AE10> { [ 0, parenright, U0CE6 ] };
2135 key <AE11> { [ minus, underscore, U0952 ] }; // U0952: Devanagari stress sign anudatta
2136 key <AE12> { [ equal, plus ] };
2137 key <BKSL> { [ U005C, U007C, U0964, U0965 ] }; // backslash, pipe, danda, double danda
2138
2139 //Q Row
2140 key <AD01> { [ U0C9F, U0CA0 ] }; // Q: retroflex Ta, Tha
2141 key <AD02> { [ U0CA1, U0CA2 ] }; // W: retroflex Da, Dha
2142 key <AD03> { [ U0CC6, U0CC7, U0C8E, U0C8F ] }; // E: matras, short E, long E
2143 key <AD04> { [ U0CB0, U0CC3, U0C8B, U0CB1 ] }; // R: ra, vocalic R matra, vocalic R, RRA
2144 key <AD05> { [ U0CA4, U0CA5 ] }; // T: dental ta, tha
2145 key <AD06> { [ U0CAF, U0CC8, U0C90 ] }; // Y: ya, ai matra, ai
2146 key <AD07> { [ U0CC1, U0CC2, U0C89, U0C8A ] }; // U: matras, u, uu
2147 key <AD08> { [ U0CBF, U0CC0, U0C87, U0C88 ] }; // I: matras, i, ii
2148 key <AD09> { [ U0CCA, U0CCB, U0C92, U0C93 ] }; // O: matras, short o, long o
2149 key <AD10> { [ U0CAA, U0CAB ] }; // P: pa, pha
2150 key <AD11> { [ bracketleft, braceleft ] };
2151 key <AD12> { [ bracketright, braceright ] };
2152
2153 //A Row
2154 key <AC01> { [ U0CBE, U0C86, U0C85 ] }; // A: aa matra, aa, short a
2155 key <AC02> { [ U0CB8, U0CB6 ] }; // S: sa, sha
2156 key <AC03> { [ U0CA6, U0CA7 ] }; // D: dental da, dha
2157 key <AC04> { [ U0CCD, U0CC4, U0CE0 ] }; // F: virama, vocalic RR matra, vocalic RR
2158 key <AC05> { [ U0C97, U0C98 ] }; // G: ga, gha
2159 key <AC06> { [ U0CB9, U0C83, U0CF1, U0CF2 ] }; // H: ha, visarga, jihvanuliya, upadhmaniya
2160 key <AC07> { [ U0C9C, U0C9D ] }; // J: ja, jha
2161 key <AC08> { [ U0C95, U0C96 ] }; // K: ka, kha
2162 key <AC09> { [ U0CB2, U0CB3, U0CE2, U0C8C ] }; // L: la, lla, vocalic L matra, vocalic L
2163 key <AC10> { [ semicolon, colon ] };
2164 key <AC11> { [ apostrophe, quotedbl, U0951, U201D ] }; // U0951: Devanagari stress sign udatta
2165 // U201D: Right double quotation mark
2166 //Z Row
2167 key <AB01> { [ U0C9E, U0C99 ] }; // Z: nya, nga
2168 key <AB02> { [ U0CB7, U0CBC, U0CDE ] }; // X: ssa, nukta below, LLLA
2169 key <AB03> { [ U0C9A, U0C9B ] }; // C: ca, cha
2170 key <AB04> { [ U0CB5, U0CCC, U0C94 ] }; // V: va, matra au, au
2171 key <AB05> { [ U0CAC, U0CAD ] }; // B: ba, bha
2172 key <AB06> { [ U0CA8, U0CA3 ] }; // N: na, nna
2173 key <AB07> { [ U0CAE, U0C82, U0CBD, U0950 ] }; // M: ma, anusvara, avagraha, Devanagari OM
2174 key <AB08> { [ comma, U003C, U0CB1 ] }; // comma: comma, less than, RRA
2175 key <AB09> { [ period, U003E, U0CDE ] }; // period: period, greater than, LLLA
2176 key <AB10> { [ slash, question ] };
2177
2178 include "level3(ralt_switch)"
2179 };
2180 // ---- END Kannada KaGaPa ----
2181
2182
2183 // ---- BEGIN Telugu KaGaPa phonetic ----
2184 // Name: Telugu KaGaPa phonetic
2185 // Diagram: (Original)[http://www.baraha.com/help/Keyboards/tel_brhkbd.htm]
2186 // (This layout)[http://bdsatish.in/lang/tel-kagapa.png]
2187 //
2188 // Description: Based on KaGaPa layout (also called Baraha layout or Nudi layout).
2189 // See the description to "hin-kagapa" above.
2190 // Certain punctuation characters from Devanagari block are
2191 // retained for compatibility.
2192 //
2193 // Author: Satish BD <bdsatish (a] gmail.com>
2194 //
2195 partial alphanumeric_keys
2196 xkb_symbols "tel-kagapa" {
2197 name[Group1] = "Telugu (KaGaPa, phonetic)";
2198 key.type="FOUR_LEVEL";
2199
2200 // Roman digits
2201 key <TLDE> { [ grave, asciitilde, U201C ] }; // U201C: left double quotation mark
2202 key <AE01> { [ 1, exclam, U0C67 ] };
2203 key <AE02> { [ 2, at, U0C68, U20A8 ] }; // U20A8: generic rupee sign (Rs)
2204 key <AE03> { [ 3, numbersign, U0C69 ] };
2205 key <AE04> { [ 4, dollar, U0C6A, U20B9 ] }; // U20B9: new Indian rupee sign
2206 key <AE05> { [ 5, percent, U0C6B ] };
2207 key <AE06> { [ 6, asciicircum, U0C6C, U200C ] }; // ZWNJ
2208 key <AE07> { [ 7, ampersand, U0C6D, U200D ] }; // ZWJ
2209 key <AE08> { [ 8, asterisk, U0C6E, U0C01 ] }; // U0C01: Telugu arasunna
2210 key <AE09> { [ 9, parenleft, U0C6F ] };
2211 key <AE10> { [ 0, parenright, U0C66 ] };
2212 key <AE11> { [ minus, underscore, U0952 ] }; // U0952: Devanagari stress sign anudatta
2213 key <AE12> { [ equal, plus ] };
2214 key <BKSL> { [ U005C, U007C, U0964, U0965 ] }; // backslash, pipe, danda, double danda
2215
2216 //Q Row
2217 key <AD01> { [ U0C1F, U0C20 ] }; // Q: retroflex Ta, Tha
2218 key <AD02> { [ U0C21, U0C22 ] }; // W: retroflex Da, Dha
2219 key <AD03> { [ U0C46, U0C47, U0C0E, U0C0F ] }; // E: matras, short E, long E
2220 key <AD04> { [ U0C30, U0C43, U0C0B, U0C31 ] }; // R: ra, vocalic R matra, vocalic R, RRA
2221 key <AD05> { [ U0C24, U0C25 ] }; // T: dental ta, tha
2222 key <AD06> { [ U0C2F, U0C48, U0C10 ] }; // Y: ya, ai matra, ai
2223 key <AD07> { [ U0C41, U0C42, U0C09, U0C0A ] }; // U: matras, u, uu
2224 key <AD08> { [ U0C3F, U0C40, U0C07, U0C08 ] }; // I: matras, i, ii
2225 key <AD09> { [ U0C4A, U0C4B, U0C12, U0C13 ] }; // O: matras, short o, long o
2226 key <AD10> { [ U0C2A, U0C2B ] }; // P: pa, pha
2227 key <AD11> { [ bracketleft, braceleft ] };
2228 key <AD12> { [ bracketright, braceright ] };
2229
2230 //A Row
2231 key <AC01> { [ U0C3E, U0C06, U0C05 ] }; // A: aa matra, aa, short a
2232 key <AC02> { [ U0C38, U0C36 ] }; // S: sa, sha
2233 key <AC03> { [ U0C26, U0C27 ] }; // D: dental da, dha
2234 key <AC04> { [ U0C4D, U0C44, U0C60 ] }; // F: virama, vocalic RR matra, vocalic RR
2235 key <AC05> { [ U0C17, U0C18 ] }; // G: ga, gha
2236 key <AC06> { [ U0C39, U0C03 ] }; // H: ha, visarga
2237 key <AC07> { [ U0C1C, U0C1D ] }; // J: ja, jha
2238 key <AC08> { [ U0C15, U0C16 ] }; // K: ka, kha
2239 key <AC09> { [ U0C32, U0C33, U0C62, U0C0C ] }; // L: la, lla, vocalic L matra, vocalic L
2240 key <AC10> { [ semicolon, colon ] };
2241 key <AC11> { [ apostrophe, quotedbl, U0951, U201D ] }; // U0951: Devanagari stress sign udatta
2242 // U201D: Right double quotation mark
2243 //Z Row
2244 key <AB01> { [ U0C1E, U0C19 ] }; // Z: nya, nga
2245 key <AB02> { [ U0C37 ] }; // X: ssa
2246 key <AB03> { [ U0C1A, U0C1B ] }; // C: ca, cha
2247 key <AB04> { [ U0C35, U0C4C, U0C14 ] }; // V: va, matra au, au
2248 key <AB05> { [ U0C2C, U0C2D ] }; // B: ba, bha
2249 key <AB06> { [ U0C28, U0C23 ] }; // N: na, nna
2250 key <AB07> { [ U0C2E, U0C02, U0C3D, U0950 ] }; // M: ma, anusvara, avagraha, Devanagari OM
2251 key <AB08> { [ comma, U003C, U0C58 ] }; // comma: comma, less than, TSA
2252 key <AB09> { [ period, U003E, U0C59 ] }; // period: period, greater than, DZA
2253 key <AB10> { [ slash, question ] };
2254
2255 include "level3(ralt_switch)"
2256 };
2257
2258 // Description : Keymap for Manipuri language (Meetei mayek script)
2259 // Encoding : Unicode (http://www.unicode.org)
2260 // Author : Santosh Heigrujam <santosh.tomba (a] gmail.com>
2261 // Date : December, 2013
2262 // Source :
2263 // Comment :
2264
2265 partial alphanumeric_keys modifier_keys
2266 xkb_symbols "eeyek" {
2267
2268 name[Group1]= "Manipuri (Eeyek)";
2269
2270 key <TLDE> { [ grave, asciitilde ] };
2271 key <AE01> { [ Uabf1, exclam ] };
2272 key <AE02> { [ Uabf2, at ] };
2273 key <AE03> { [ Uabf3, numbersign ] };
2274 key <AE04> { [ Uabf4, dollar ] };
2275 key <AE05> { [ Uabf5, percent ] };
2276 key <AE06> { [ Uabf6, asciicircum ] };
2277 key <AE07> { [ Uabf7, ampersand ] };
2278 key <AE08> { [ Uabf8, asterisk ] };
2279 key <AE09> { [ Uabf9, parenleft ] };
2280 key <AE10> { [ Uabf0, parenright ] };
2281 key <AE11> { [ minus, underscore ] };
2282 key <AE12> { [ equal, plus ] };
2283
2284 key <AD01> { [ Uabc8, Uabd8 ] };
2285 key <AD02> { [ Uabcb, Uabcb ] };
2286 key <AD03> { [ Uabcf, Uabe2 ] };
2287 key <AD04> { [ Uabd4, Uabd4 ] };
2288 key <AD05> { [ Uabc7, Uabe0 ] };
2289 key <AD06> { [ Uabcc, Uabe6 ] };
2290 key <AD07> { [ Uabce, Uabe8 ] };
2291 key <AD08> { [ Uabe4, Uabe9 ] };
2292 key <AD09> { [ Uabe3, Uabe7 ] };
2293 key <AD10> { [ Uabc4, Uabde ] };
2294 key <AD11> { [ bracketleft, braceleft ] };
2295 key <AD12> { [ bracketright, braceright ] };
2296
2297 key <AC01> { [ Uabd1, Uabe5 ] };
2298 key <AC02> { [ Uabc1, Uabd3 ] };
2299 key <AC03> { [ Uabd7, Uabd9 ] };
2300 key <AC04> { [ Uabd0, Uabda ] };
2301 key <AC05> { [ Uabd2, Uabd8 ] };
2302 key <AC06> { [ Uabcd, Uabea ] };
2303 key <AC07> { [ Uabd6, Uabd3 ] };
2304 key <AC08> { [ Uabc0, Uabdb ] };
2305 key <AC09> { [ Uabc2, Uabdc ] };
2306 key <AC10> { [ semicolon, colon ] };
2307 key <AC11> { [ apostrophe, quotedbl ] };
2308
2309 key <AB01> { [ Uabc9, Uabe1 ] };
2310 key <AB02> { [ Uabca, Uabd9 ] };
2311 key <AB03> { [ Uabc6, Uabeb ] };
2312 key <AB04> { [ Uabda, Uabed ] };
2313 key <AB05> { [ Uabd5, Uabec ] };
2314 key <AB06> { [ Uabc5, Uabdf ] };
2315 key <AB07> { [ Uabc3, Uabdd ] };
2316 key <AB08> { [ comma, less ] };
2317 key <AB09> { [ period, greater ] };
2318 key <AB10> { [ slash, question ] };
2319
2320 key <BKSL> { [ backslash, bar ] };
2321
2322 include "level3(ralt_switch)"
2323 };
2324
2325 // This layout is developed by Niranjan Tambe in July 2019
2326 // for typing Indic languages in International Phonetic Alphabet (IPA).
2327 // Contact - niranjanvikastambe (a] gmail.com
2328
2329 partial alphanumeric_keys modifier_keys
2330 xkb_symbols "iipa" {
2331
2332 name[Group1]= "Indic IPA";
2333 key <AE01> { [ 1, exclam] };
2334 key <AE02> { [ 2, at] };
2335 key <AE03> { [ 3, numbersign] };
2336 key <AE04> { [ 4, U20B9] };
2337 key <AE05> { [ 5, percent] };
2338 key <AE06> { [ 6, asciicircum] };
2339 key <AE07> { [ 7, ampersand] };
2340 key <AE08> { [ 8, asterisk] };
2341 key <AE09> { [ 9, parenleft] };
2342 key <AE10> { [ 0, parenright] };
2343 key <AE11> { [ minus, underscore] };
2344 key <AE12> { [ equal, plus] };
2345
2346 key <AD01> { [ U02B0, U02B1] }; // [], []
2347 key <AD02> { [ U00E6, q] }; // [], [q] found in Urdu
2348 key <AD03> { [ a, U028B] }; // [a], []
2349 key <AD04> { [ i, U026A] }; // [i] []
2350 key <AD05> { [ u, U026F] }; // [u] [] found in Tamil
2351 key <AD06> { [ b, Y] }; // [b]
2352 key <AD07> { [ h, U014B] }; // [h], []
2353 key <AD08> { [ g, U0263] }; // [g], [] found in Urdu
2354 key <AD09> { [ d, U00F0] }; // [d], [] found in Malayalam
2355 key <AD10> { [ U02A4, U02A3] }; // [], [] found in Marathi
2356 key <AD11> { [ U0256, U027D] }; // [], []
2357 key <AD12> { [ bracketleft, bracketright] }; // "[", "]" needed for denoting phonetic symbols
2358
2359 key <AC01> { [ o, U0254] }; // [o], [] found in Bangla
2360 key <AC02> { [ e, U025B] }; // [e], []
2361 key <AC03> { [ U0259, U0361] }; // [], [ ]
2362 key <AC04> { [ i, U026A] }; // [i], []
2363 key <AC05> { [ u, U026F] }; // [u], []
2364 key <AC06> { [ p, f] }; // [p], [f]
2365 key <AC07> { [ U027E, r] }; // [], [r]
2366 key <AC08> { [ k, x] }; // [k], [x] found in Urdu
2367 key <AC09> { [ t, U03B8] }; // [t], []
2368 key <AC10> { [ U02A7, U02A6] }; // [], [] found in Marathi
2369 key <AC11> { [ U0288, quotedbl] }; // []
2370 key <TLDE> { [ grave, asciitilde] };
2371
2372 key <BKSL> { [ backslash, bar] };
2373 key <AB01> { [ U032A, U0303] }; // [ ], [ ] Dental mark, nasalisation mark
2374 key <AB02> { [ U0306, X] }; // [ ] Short sound
2375 key <AB03> { [ m, U0273] }; // [m], []
2376 key <AB04> { [ n, v] }; // [n], [v]
2377 key <AB05> { [ w, z] }; // [w], [z]
2378 key <AB06> { [ l, U026D] }; // [l], []
2379 key <AB07> { [ s, U0283] }; // [s], []
2380 key <AB08> { [ comma, U0282] }; // []
2381 key <AB09> { [ period, U02D0] }; // [] Long sound
2382 key <AB10> { [ j, slash] }; // [j]
2383 };
2384
2385 // This layout is developed by Niranjan Tambe in July 2019
2386 // for typing Marathi language with some necessary symbols.
2387 // Contact - niranjanvikastambe (a] gmail.com
2388
2389 xkb_symbols "marathi" {
2390 name[Group1]="Marathi (enhanced InScript)";
2391 key <TLDE> { [ U0962, U090C, grave, asciitilde ] }; // Added &
2392 key <AE01> { [ U0967, exclam, 1, exclam ] }; // Added exclamation mark
2393 key <AE02> { [ U0968, U0945, 2, at ] }; // Added
2394 key <AE03> { [ U0969, U093D, 3, numbersign ] }; // Added
2395 key <AE04> { [ U096a, U20B9, 4 ] }; // Added
2396 key <AE05> { [ U096b, percent, 5, percent ] };
2397 key <AE06> { [ U096c, asciicircum, 6, asciicircum ] };
2398 key <AE07> { [ U096d, U0970, 7, ampersand ] }; // Added
2399 key <AE08> { [ U096e, U0950, 8, asterisk ] };
2400 key <AE09> { [ U096f, parenleft, 9, parenleft ] };
2401 key <AE10> { [ U0966, parenright, 0, parenright ] };
2402 key <AE11> { [ minus, U0903, minus, underscore ] };
2403 key <AE12> { [ U0943, U090b, U0944, U0960 ] };
2404
2405 key <AD01> { [ U094c, U0914 ] };
2406 key <AD02> { [ U0948, U0910 ] };
2407 key <AD03> { [ U093e, U0906 ] };
2408 key <AD04> { [ U0940, U0908, U0963, U0961 ] };
2409 key <AD05> { [ U0942, U090a ] };
2410 key <AD06> { [ U092c, U092d ] };
2411 key <AD07> { [ U0939, U0919 ] };
2412 key <AD08> { [ U0917, U0918, U095a ] };
2413 key <AD09> { [ U0926, U0927 ] };
2414 key <AD10> { [ U091c, U091d, U095b ] };
2415 key <AD11> { [ U0921, U0922, U095c, U095d ] };
2416 key <AD12> { [ U093c, U091e ] };
2417 key <BKSL> { [ U0949, U0911, U005C, U007C ] };
2418
2419 key <AC01> { [ U094b, U0913 ] };
2420 key <AC02> { [ U0947, U090f ] };
2421 key <AC03> { [ U094d, U0905 ] };
2422 key <AC04> { [ U093f, U0907, U0962, U090c ] };
2423 key <AC05> { [ U0941, U0909 ] };
2424 key <AC06> { [ U092a, U092b, NoSymbol, U095e ] };
2425 key <AC07> { [ U0930, U0931 ] };
2426 key <AC08> { [ U0915, U0916, U0958, U0959 ] };
2427 key <AC09> { [ U0924, U0925 ] };
2428 key <AC10> { [ U091a, U091b, U0952 ] };
2429 key <AC11> { [ U091f, U0920, NoSymbol, U0951 ] };
2430
2431 key <AB01> { [ apostrophe, U0972, U0953 ] }; // Added apostrophe &
2432 key <AB02> { [ U0902, U0901, NoSymbol, U0950 ] };
2433 key <AB03> { [ U092e, U0923, U0954 ] };
2434 key <AB04> { [ U0928, quotedbl ] }; // Added "
2435 key <AB05> { [ U0935, UA8FB ] }; // Added headstroke
2436 key <AB06> { [ U0932, U0933 ] };
2437 key <AB07> { [ U0938, U0936 ] };
2438 key <AB08> { [ comma, U0937, U0970 ] };
2439 key <AB09> { [ period, U0964, U0965, U093d ] };
2440 key <AB10> { [ U092f, question, slash, question ] };
2441 };
2442 // EXTRAS:
2443 // Vedic and Miscellaneous symbols
2444 // This layout covers 'Extended Devanagari' and 'Vedic Extensions' Unicode blocks.
2445 // This is helpful for including all the required symbols when typing complex texts such as those from Samaveda and Yajurveda.
2446 // This layout only includes signs and symbols. Text needs to be typed seperately.
2447 // Created by : Abhishek Deshpande <abhishekdeshpande128 (a] gmail.com>
2448 // Date : 27th October, 2020
2449 partial alphanumeric_keys
2450 xkb_symbols "san-misc" {
2451 name[Group1] = "Sanskrit symbols";
2452 key.type="FOUR_LEVEL";
2453
2454 // Roman digits
2455 key <TLDE> { [ U1CD0, UA8FA ] };
2456 key <AE01> { [ UA8E1, U1CD1 ] };
2457 key <AE02> { [ UA8E2, UA8F2 ] };
2458 key <AE03> { [ UA8E3, UA8F3 ] };
2459 key <AE04> { [ UA8E4, UA8F4 ] };
2460 key <AE05> { [ UA8E5, UA8F5 ] };
2461 key <AE06> { [ UA8E6, UA8F6 ] };
2462 key <AE07> { [ UA8E7, UA8F7 ] };
2463 key <AE08> { [ UA8E8, UA8F8 ] };
2464 key <AE09> { [ UA8E9, UA8F9 ] };
2465 key <AE10> { [ UA8E0, UA8FC ] };
2466 key <AE11> { [ UA8FB, U1CD2 ] };
2467 key <AE12> { [ U1CF2, U1CF3 ] };
2468 key <BKSL> { [ U1CF8, U1CF9 ] };
2469
2470 //Q Row
2471 key <AD01> { [ U1CD4, U1CD5 ] };
2472 key <AD02> { [ U1CD6, U1CD7 ] };
2473 key <AD03> { [ U1CD8, U1CD9 ] };
2474 key <AD04> { [ UA8EF ] };
2475 key <AD05> { [ U1CDA, U1CDB ] };
2476 key <AD06> { [ UA8FE, UA8FF ] };
2477 key <AD07> { [ UA8EB ] };
2478 key <AD08> { [ U1CDC, U1CDD ] };
2479 key <AD09> { [ U1CDE, U1CDF ] };
2480 key <AD10> { [ UA8EE ] };
2481 key <AD11> { [ U1CE0 ] };
2482 key <AD12> { [ U1CE1 ] };
2483
2484 //A Row
2485 key <AC01> { [ UA8EA ] };
2486 key <AC02> { [ UA8F1 ] };
2487 key <AC03> { [ U1CE2 ] };
2488 key <AC04> { [ U1CE3, U1CE4 ] };
2489 key <AC05> { [ U1CE5, U1CE6 ] };
2490 key <AC06> { [ U1CE7, U1CE8 ] };
2491 key <AC07> { [ U1CE9, U1CEA ] };
2492 key <AC08> { [ UA8EC ] };
2493 key <AC09> { [ U1CEB, U1CEC ] };
2494 key <AC10> { [ U1CEE, U1CEF ] };
2495 key <AC11> { [ U1CF0, U1CF1 ] };
2496
2497 //Z Row
2498 key <AB01> { [ U1CED ] };
2499 key <AB02> { [ U1CF4 ] };
2500 key <AB03> { [ U1CF5 ] };
2501 key <AB04> { [ UA8F0 ] };
2502 key <AB05> { [ U1CF6 ] };
2503 key <AB06> { [ UA8ED ] };
2504 key <AB07> { [ U0950, UA8FD ] };
2505 key <AB08> { [ U1CF7, U093D ] };
2506 key <AB09> { [ U1CFA, U2638 ] };
2507 key <AB10> { [ U0FD5, U2740 ] };
2508
2509 include "rupeesign(4)"
2510 include "level3(ralt_switch)"
2511 };
2512 // Modi is an ancient Indian script that is used to write texts in Marathi, Hindi and Sanskrit. It is most commonly used to write Marathi language in Maharashtra.
2513 // This keyboard layout is Based on Marathi KaGaPa phonetic layout. Just the characters which are not applicable in Modi, are ommited.
2514 //
2515 // Created by : Abhishek Deshpande <abhishekdeshpande128 (a] gmail.com>
2516 // Date : 9th February, 2020
2517 //
2518 partial alphanumeric_keys
2519 xkb_symbols "modi-kagapa" {
2520 name[Group1] = "Modi (KaGaPa phonetic)";
2521 key.type="FOUR_LEVEL";
2522
2523 // Roman digits
2524 key <TLDE> { [ grave, asciitilde, U201C ] }; // U201C: left double quotation mark
2525 key <AE01> { [ 1, exclam, U11651 ] };
2526 key <AE02> { [ 2, at, U11652, U20A8 ] }; // U20A8: generic rupee sign (Rs)
2527 key <AE03> { [ 3, numbersign, U11653 ] };
2528 key <AE04> { [ 4, dollar, U11654, U20B9 ] }; // U20B9: new Indian rupee sign
2529 key <AE05> { [ 5, percent, U11655 ] };
2530 key <AE06> { [ 6, asciicircum, U11656, U200C ] }; // ZWNJ
2531 key <AE07> { [ 7, ampersand, U11657, U200D ] }; // ZWJ
2532 key <AE08> { [ 8, asterisk, U11658 ] };
2533 key <AE09> { [ 9, parenleft, U11659 ] };
2534 key <AE10> { [ 0, parenright, U11650, U11643 ] }; // U11643: Modi abbreviation sign
2535 key <AE11> { [ minus, underscore ] };
2536 key <AE12> { [ equal, plus ] };
2537 key <BKSL> { [ U005C, U007C, U11641, U11642 ] }; // backslash, pipe, Modi danda, Modi double danda
2538
2539 //Q Row
2540 key <AD01> { [ U11618, U11619 ] }; // Q: retroflex Modi letter Ta, Tha
2541 key <AD02> { [ U1161A, U1161B ] }; // W: retroflex Modi letter Da, Dha
2542 key <AD03> { [ U11639, U1160A, U1160B ] }; // E: Modi vovel sign E, Modi letter E, letter ai
2543 key <AD04> { [ U11628, U11635, U11606 ] }; // R: Modi ra, Modi vowel sign vocalic R, vocalic letter R
2544 key <AD05> { [ U1161D, U1161E ] }; // T: dental Modi letter ta, tha
2545 key <AD06> { [ U11627, U1163A ] }; // Y: Modi letter ya, Modi vowel sign ai
2546 key <AD07> { [ U11633, U11634, U11604, U11605 ] }; // U: Modi vowel sign u, uu, Modi letter u, uu
2547 key <AD08> { [ U11631, U11632, U11602, U11603 ] }; // I: Modi vowel sign i, ii, Modi letter i, ii
2548 key <AD09> { [ U1163B, U1160C ] }; // O: Modi vowel sign o, Modi letter o
2549 key <AD10> { [ U11622, U11623 ] }; // P: Modi letter pa, pha
2550 key <AD11> { [ bracketleft, braceleft ] };
2551 key <AD12> { [ bracketright, braceright ] };
2552
2553 //A Row
2554 key <AC01> { [ U11630, U11601, U11600 ] }; // A: Modi vowel sign aa, Modi letter aa, Modi letter a
2555 key <AC02> { [ U1162D, U1162B ] }; // S: Modi letter sa, sha
2556 key <AC03> { [ U1161F, U11620 ] }; // D: dental Modi letter da, dha
2557 key <AC04> { [ U1163F, U11636, U11607 ] }; // F: Modi sign virama, Modi vowel sign vocalic RR, letter vocalic RR
2558 key <AC05> { [ U11610, U11611 ] }; // G: Modi letter ga, gha
2559 key <AC06> { [ U1162E, U1163E ] }; // H: Modi letter ha, Modi visarga
2560 key <AC07> { [ U11615, U11616 ] }; // J: Modi letter ja, jha
2561 key <AC08> { [ U1160E, U1160F ] }; // K: Modi letter ka, kha
2562 key <AC09> { [ U11629, U1162F, U11637, U11608 ] }; // L: Modi letter la, lla, Modi vowel sign vocalic L, letter vocalic L
2563 key <AC10> { [ semicolon, colon ] };
2564 key <AC11> { [ apostrophe, quotedbl ] };
2565
2566 //Z Row
2567 key <AB01> { [ U11617, U11612 ] }; // Z: Modi letter nya, nga
2568 key <AB02> { [ U1162C, U11609, U11638 ] }; // X: Modi letter ssa, Modi letter vocalic ll, Modi vowel sign vocalic ll
2569 key <AB03> { [ U11613, U11614 ] }; // C: Modi letter ca, cha
2570 key <AB04> { [ U1162A, U1163C, U1160D ] }; // V: Modi letter va, Modi vowel sign au, Modi letter au
2571 key <AB05> { [ U11624, U11625 ] }; // B: Modi letter ba, bha
2572 key <AB06> { [ U11621, U1161C ] }; // N: Modi letter na, nna
2573 key <AB07> { [ U11626, U1163D, U093D, U0950 ] }; // M: Modi ma, Modi anusvara, avagraha, Devanagari OM (Avagraha & OM commonly occur in Marathi texts, so they are mapped here for convenience.)
2574 key <AB08> { [ comma, U003C, U11640, U11644 ] }; // comma: comma, less than, Modi chandrabindu, Modi sign huva
2575 key <AB09> { [ period, U003E ] }; // period: period, greater than
2576 key <AB10> { [ slash, question ] };
2577
2578 include "level3(ralt_switch)"
2579 };
2580
2581 // Navees, a phonetic keyboard layout for Urdu
2582 // https://saadatm.github.io/navees
2583 partial alphanumeric_keys
2584 xkb_symbols "urd-navees" {
2585 include "pk(urd-navees)"
2586 name[Group1]= "Urdu (Navees)";
2587 };
2588