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