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