Added four new Bengali Keyboard Layout
[xorg/xkeyboard-config] / symbols / in
1 // This layout includes all Indian layouts, including:
2 //     - Bengali
3 //     - Gujarati 
4 //     - Kannada 
5 //     - Malayalam
6 //     - Oriya 
7 //     - Tamil
8 //     - Telugu
9 //     - Urdu
10
11 // Links:
12 // - Indic INSCRIPT keyboard layout diagrams:
13 //     http://java.sun.com/products/jfc/tsc/articles/InputMethod/indiclayout.html
14 // - Bengali Baishakhi (Bengali layouts):
15 // - Bengali Baishakhi Inscript (Bengali layouts):
16 // - Bengali Bornona (Bengali layouts):
17 // - Uni Gitanjali (Bengali layouts):
18 //     http://nltr.org
19 // - Ekusheyr Shadhinota (Bengali layouts):
20 //     http://ekushey.org/projects/shadhinota/index.html
21 // - Microsoft Windows XP SP2: Indic Language Standards - an Introduction:
22 //     http://www.bhashaindia.com/MSProducts/XpSp2/Articles/IndicLanguageStandards.aspx
23
24 // based on a keyboard map from an 'xkb/symbols/dev' file
25
26 // Devangari is the default. Kill me if I am wrong:)
27 default partial alphanumeric_keys
28 xkb_symbols "deva" {
29         // March 2004 -- David Holl <smyrph+dev_xkb@ece.wpi.edu>
30         name[Group1]="Indian";
31
32         key.type="FOUR_LEVEL";
33
34         key <TLDE> { [ U094a, U0912,   grave, asciitilde  ] };
35         key <AE01> { [ U0967, U090d,       1, exclam      ] };
36         key <AE02> { [ U0968, U0945,       2, at          ] };
37         // Shift+AE0[3-8] really need to return a macro of keys defined by
38         // INSCRIPT in place of the symbols that are here for now.  But this
39         // requires XKB to map 1 key into two to three other key presses.
40         key <AE03> { [ U0969, numbersign,  3, numbersign  ] };
41         key <AE04> { [ U096a, dollar,      4, dollar      ] };
42         key <AE05> { [ U096b, percent,     5, percent     ] };
43         key <AE06> { [ U096c, asciicircum, 6, asciicircum ] };
44         key <AE07> { [ U096d, ampersand,   7, ampersand   ] };
45         key <AE08> { [ U096e, asterisk,    8, asterisk    ] };
46         key <AE09> { [ U096f, parenleft,   9, parenleft   ] };
47         key <AE10> { [ U0966, parenright,  0, parenright  ] };
48         key <AE11> { [ minus, U0903, minus, underscore    ] };
49         key <AE12> { [ U0943, U090b, U0944, U0960 ] };
50
51         key <AD01> { [ U094c, U0914 ] };
52         key <AD02> { [ U0948, U0910 ] };
53         key <AD03> { [ U093e, U0906 ] };
54         key <AD04> { [ U0940, U0908, U0963, U0961 ] };
55         key <AD05> { [ U0942, U090a ] };
56         key <AD06> { [ U092c, U092d ] };
57         key <AD07> { [ U0939, U0919 ] };
58         key <AD08> { [ U0917, U0918, U095a ] };
59         key <AD09> { [ U0926, U0927 ] };
60         key <AD10> { [ U091c, U091d, U095b ] };
61         key <AD11> { [ U0921, U0922, U095c, U095d ] };
62         key <AD12> { [ U093c, U091e ] };
63         // I added \ / ? | for shell-convenience (file names and piping)
64         key <BKSL> { [ U0949, U0911, U005C, U007C ] };
65
66         key <AC01> { [ U094b, U0913 ] };
67         key <AC02> { [ U0947, U090f ] };
68         key <AC03> { [ U094d, U0905 ] };
69         key <AC04> { [ U093f, U0907, U0962, U090c ] };
70         key <AC05> { [ U0941, U0909 ] };
71         key <AC06> { [ U092a, U092b, NoSymbol, U095e ] };
72         key <AC07> { [ U0930, U0931 ] };
73         key <AC08> { [ U0915, U0916, U0958, U0959 ] };
74         key <AC09> { [ U0924, U0925 ] };
75         key <AC10> { [ U091a, U091b, U0952 ] };
76         key <AC11> { [ U091f, U0920, NoSymbol, U0951 ] };
77
78         key <AB01> { [ U0946, U090e, U0953 ] };
79         key <AB02> { [ U0902, U0901, NoSymbol, U0950 ] };
80         key <AB03> { [ U092e, U0923, U0954 ] };
81         key <AB04> { [ U0928, U0929 ] };
82         key <AB05> { [ U0935, U0934 ] };
83         key <AB06> { [ U0932, U0933 ] };
84         key <AB07> { [ U0938, U0936 ] };
85         key <AB08> { [ comma, U0937, U0970 ] };
86         key <AB09> { [ period, U0964, U0965, U093d ] };
87         // I added \ / ? | for shell-convenience (file names and piping)
88         key <AB10> { [ U092f, U095f, slash, question ] };
89
90         // space, space, Zero-Width-Non-Joiner (ZWNJ), Zero-Width-Joiner (ZWJ):
91         include "nbsp(zwnj3zwj4)"
92 };
93
94 //Name          :       Bolnagri (Combined)
95 //Description   :       A phonetic keyboard layout for Devnagari(Hindi)
96 //                      http://www.indlinux.org/wiki/index.php/BolNagri
97 //NOTE          :       This is a combined map of bolnagri_matras and bolnagri_vowels.
98 //Inspired by "devrom" keymap by Steve Smith for the windows tool "keyman"
99 //Original Author :     Noah Levitt<nlevitt at columbia.edu>
100 //Past Authors  : Pramod.R <pramodr at gmail.com> and Ravikant <ravikant at sarai.net>
101 // Current Main.: G Karunakar <karunakar@sarai.net>
102
103 partial alphanumeric_keys
104 xkb_symbols "bolnagri" {
105      name[Group1] = "Hindi (Bolnagri)";
106      key.type="FOUR_LEVEL";
107     //Top Alphanumeric row
108     // Roman digits
109     key <TLDE>  { [   U0902,    U0901,          apostrophe,     asciitilde ] }; // apostrophe: anusvara, candrabindu
110     key <AE01>  { [   1,        exclam,         U0967,          exclam     ] };
111     key <AE02>  { [   2,        at,             U0968,          at         ] };
112     key <AE03>  { [   3,        numbersign,     U0969,          numbersign ] };
113     key <AE04>  { [   4,        dollar,         U096A,          dollar     ] };
114     key <AE05>  { [   5,        percent,        U096B,          percent    ] };
115     key <AE06>  { [   6,        asciicircum,    U096C,          asciicircum ] };
116     key <AE07>  { [   7,        ampersand,      U096D,          ampersand  ] };
117     key <AE08>  { [   8,        asterisk,       U096E,          asterisk   ] };
118     key <AE09>  { [   9,        parenleft,      U096F,          parenleft  ] };
119     key <AE10>  { [   0,        parenright,     U0966,          parenright ] };
120     key <AE11>  { [   minus,    underscore           ] };
121     key <AE12>  { [   equal,    plus                 ] };
122     key <BKSL>  { [   U0964,    U0965,          U007C,          U005C   ] }; //pipe : danda, double danda
123
124     //Q Row     
125     key <AD01>   { [   U200C,   U200D   ] };  // Q: ZWNJ, ZWJ
126     key <AD02>   { [   U0935,   U950    ] };  // W: wa, OM
127     key <AD03>   { [   U0947,   U0948,  U090F,  U0910   ] };  // E: e, ai matras
128     key <AD04>   { [   U0930,   U0943   ] };  // R: ra, vocalic Ri
129     key <AD05>   { [   U0924,   U0925   ] };  // T: ta, tha
130     key <AD06>   { [   U092f,   U091E   ] };  // Y: ya, nya
131     key <AD07>   { [   U0941,   U0942,  U0909,  U090A   ] };  // U: u, uu matras
132     key <AD08>   { [   U093F,   U0940,  U0907,  U0908   ] };  // I: i, ii matras
133     key <AD09>   { [   U094B,   U094C,  U0913,  U0914   ] };  // O: o, au matras
134     key <AD10>   { [   U092A,   U092B   ] };  // P: pa, pha
135     key <AD11>   { [   bracketleft,   braceleft   ] };  
136     key <AD12>   { [   bracketright, braceright   ] };
137     
138     //A Row
139     key <AC01>   { [   U093E,    U0906, U0905,  U0906  ] };   // A: aa
140     key <AC02>   { [   U0938,    U0937   ] };  // S: sa, ssa
141     key <AC03>   { [   U0926,    U0927   ] };  // D: da, dha
142     key <AC04>   { [   U091F,    U0920   ] };  // F: TA, THA
143     key <AC05>   { [   U0917,    U0918   ] };  // G: ga, gha
144     key <AC06>   { [   U0939,    U0903   ] };  // H: ha, visarg 
145     key <AC07>   { [   U091C,    U091D   ] };  // J: ja, jha
146     key <AC08>   { [   U0915,    U0916   ] };  // K: ka, kha
147     key <AC09>   { [   U0932,    U0962   ] };  // L: la, vocalic L or lru matra`
148     key <AC10>   { [   semicolon, colon  ] }; 
149     key <AC11>   { [apostrophe, quotedbl ] };
150
151     //Z Row
152     key <AB01>   { [   U0936,    U0945   ] };  // Z: sha, akaar candra
153     key <AB02>   { [   U094D,    U0949   ] };  // X: halant, aakaar candra
154     key <AB03>   { [   U091A,    U091B   ] };  // C: ca, cha
155     key <AB04>   { [   U0921,    U0922   ] };  // V: da, dha
156     key <AB05>   { [   U092C,    U092D   ] };  // B: ba, bha
157     key <AB06>   { [   U0928,    U0923   ] };  // N: na, nha
158     key <AB07>   { [   U092E,    U093D, U092E,  U093D   ] };  // M: ma, avagraha
159     key <AB08>   { [   comma,    U0970   ] };// comma: comma, dev abbreviation sign
160     key <AB09>   { [   period,   U093C   ] };  // period: period, nukta
161     key <AB10>   { [   slash,   question ] };
162
163    // begin modifier mappings
164 //    modifier_map Shift  { Shift_L };
165 //    modifier_map Lock   { Caps_Lock };
166 //    modifier_map Control{ Control_L };
167 //    modifier_map Mod3   { Mode_switch };
168     include "level3(ralt_switch)"
169 };
170
171 // based on a keyboard map from an 'xkb/symbols/ben' file
172
173 partial alphanumeric_keys
174 xkb_symbols "ben" {
175     name[Group1]= "Bengali";
176
177       // Mainly numbers.
178       key <AE01> { [      U09E7                 ]       };
179       key <AE02> { [      U09E8                 ]       };
180       key <AE03> { [      U09E9                 ]       };
181       key <AE04> { [      U09EA                 ]       };
182       key <AE05> { [      U09EB         ]       };
183       key <AE06> { [      U09EC                 ]       };
184       key <AE07> { [      U09ED         ]       };
185       key <AE08> { [      U09EE                 ]       };
186       key <AE09> { [      U09EF, parenleft      ]       };
187       key <AE10> { [      U09E6, parenright     ]       };
188       key <AE11> { [      minus, U0983  ]       };
189       key <AE12> { [      U098B, U09C3  ]       };
190
191 // Mainly long vowels
192
193       key <AD01> { [      U09CC,  U0994 ]       };
194       key <AD02> { [      U09C8,  U0990 ]       };
195       key <AD03> { [      U09BE,  U0986 ]       };
196       key <AD04> { [      U09C0,  U0988 ]       };
197       key <AD05> { [      U09C2,  U098A ]       };
198
199 // Mainly voiced consonants
200
201       key <AD06> { [      U09AC,  U09AD ]       };
202       key <AD07> { [      U09B9,  U0999 ]       };
203       key <AD08> { [      U0997,  U0998 ]       };
204       key <AD09> { [      U09A6,  U09A7 ]       };
205       key <AD10> { [      U099C,  U099D ]       };
206       key <AD11> { [      U09A1, U09A2  ]       };
207       key <AD12> { [      U09BC, U099E  ]       };
208
209 // Mainly short vowels
210       key <AC01> { [      U09CB,  U0993 ]       };
211       key <AC02> { [      U09C7,  U098F ]       };
212       key <AC03> { [      U09CD,  U0985 ]       };
213       key <AC04> { [      U09BF,  U0987 ]       };
214       key <AC05> { [      U09C1,  U0989 ]       };
215
216
217 // Mainly unvoiced consonants
218
219       key <AC06> { [      U09AA,  U09AB ]       };
220       key <AC07> { [      U09B0,  U09DD ]       };
221       key <AC08> { [      U0995,  U0996 ]       };
222       key <AC09> { [      U09A4,  U09A5 ]       };
223       key <AC10> { [      U099A,  U099B ]       };
224       key <AC11> { [      U099F, U09A0  ]       };
225       key <BKSL> { [      U005C, U007C  ]       };
226
227       key <AB01> { [      z, Z                  ]       };
228       key <AB02> { [      U0982,  U0981 ]       };
229       key <AB03> { [      U09AE,  U09A3 ]       };
230       key <AB04> { [      U09A8,  U09A8 ]       };
231       key <AB05> { [      U09AC,  U09AC ]       };
232       key <AB06> { [      U09B2,  U09B2 ]       };
233       key <AB07> { [      U09B8,  U09B6 ]       };
234       key <AB08> { [      comma,      U09B7 ]       };
235       key <AB09> { [      period,     U0964 ]       };
236       key <AB10> { [      U09DF,  U09AF ]       };
237 };
238
239 xkb_symbols "ben_probhat" {
240  name[Group1]= "Bengali (Probhat)";
241    key <ESC>  { [ Escape ] };
242
243 // numbers
244    key <TLDE> { [ U200D, asciitilde   ] };
245    key <AE01> { [ U09E7, exclam       ] };
246    key <AE02> { [ U09E8, at           ] };
247    key <AE03> { [ U09E9, numbersign   ] };
248    key <AE04> { [ U09EA, U09F3    ] };
249    key <AE05> { [ U09EB, percent      ] };
250    key <AE06> { [ U09EC, asciicircum  ] };
251    key <AE07> { [ U09ED, U099E    ] };
252    key <AE08> { [ U09EE, U09CE    ] };
253    key <AE09> { [ U09EF, parenleft    ] };
254    key <AE10> { [ U09E6, parenright   ] };
255    key <AE11> { [ minus,     underscore   ] };
256    key <AE12> { [ equal,     plus         ] };
257    key <BKSP> { [ BackSpace               ] };
258
259 // tab, q to ] 
260    key <TAB>  { [   Tab,  ISO_Left_Tab     ] };
261    key <AD01> { [   U09A6,  U09A7  ] };
262    key <AD02> { [   U09C2,  U098A  ] };
263    key <AD03> { [   U09C0,  U0988  ] };
264    key <AD04> { [   U09B0,  U09DC  ] };
265    key <AD05> { [   U099F,  U09A0  ] };
266    key <AD06> { [   U098F,  U0990  ] };
267    key <AD07> { [   U09C1,  U0989  ] };
268    key <AD08> { [   U09BF,  U0987  ] };
269    key <AD09> { [   U0993,  U0994  ] };
270    key <AD10> { [   U09AA,  U09AB  ] };
271    key <AD11> { [   U09C7,  U09C8  ] };
272    key <AD12> { [   U09CB,  U09CC  ] };
273    key <RTRN> { [   Return                 ] };
274
275 // caps, a to ' 
276 //   key <CAPS> { [   Caps_Lock              ] };
277    key <AC01> { [   U09BE,  U0985  ] };
278    key <AC02> { [   U09B8,  U09B7  ] };
279    key <AC03> { [   U09A1,  U09A2  ] };
280    key <AC04> { [   U09A4,  U09A5  ] };
281    key <AC05> { [   U0997,  U0998  ] };
282    key <AC06> { [   U09B9,  U0983  ] };
283    key <AC07> { [   U099C,  U099D  ] };
284    key <AC08> { [   U0995,  U0996  ] };
285    key <AC09> { [   U09B2,  U0982  ] };
286    key <AC10> { [   semicolon,  colon      ] };
287    key <AC11> { [   quoteright, quotedbl   ] };
288
289 // shift, z to /
290 //   key <LFSH> { [   Shift_L                ] };
291    key <AB01> { [   U09DF,  U09AF  ] };
292    key <AB02> { [   U09B6,  U09DD  ] };
293    key <AB03> { [   U099A,  U099B  ] };
294    key <AB04> { [   U0986,  U098B  ] };
295    key <AB05> { [   U09AC,  U09AD  ] };
296    key <AB06> { [   U09A8,  U09A3  ] };
297    key <AB07> { [   U09AE,  U0999  ] };
298    key <AB08> { [   comma,      U09C3  ] };
299    key <AB09> { [   U0964,  U0981  ] };
300    key <AB10> { [   U09CD,  question   ] };
301    key <BKSL> { [   U200C,  U0965  ] };
302
303 //   key <LCTL> { [   Control_L              ] };
304 //   key <SPCE> { [   space                  ] };
305
306 //   modifier_map Shift  { Shift_L };
307 //   modifier_map Lock   { Caps_Lock };
308 //   modifier_map Control{ Control_L };
309
310 };
311
312 // Bengali Baishakhi, Bengali Baishakhi Inscript, Bengali Bornona, Uni Gitanjali Layouts are added by Promathesh Mandal <promathesh812004@gmail.com>
313
314 xkb_symbols "ben_baishakhi" {
315  name[Group1]= "Bengali (Baishakhi)";
316    key <ESC>   { [ Escape                                       ] };
317
318 // numbers
319    key <TLDE> { [ 0x100200D, 0x100200C  ] };
320    key <AE01> { [ 0x10009E7, exclam             ] };
321    key <AE02> { [ 0x10009E8, at         ] };
322    key <AE03> { [ 0x10009E9, numbersign ] };
323    key <AE04> { [ 0x10009EA, dollar, 0x10009F2  ] };
324    key <AE05> { [ 0x10009EB, percent            ] };
325    key <AE06> { [ 0x10009EC, asciicircum, 0x10009D7    ] };
326    key <AE07> { [ 0x10009ED, ampersand ] };
327    key <AE08> { [ 0x10009EE,   asterisk,0x10009FA                       ] };
328    key <AE09> { [ 0x10009EF, parenleft          ] };
329    key <AE10> { [ 0x10009E6, parenright         ] };
330    key <AE11> { [ minus, underscore     ] };
331    key <AE12> { [ equal,     plus       ] };
332    key <BKSP> { [ BackSpace                             ] };
333
334 // tab, q to ] 
335    key <TAB>   { [   Tab,  ISO_Left_Tab         ] };
336    key <AD01> { [   0x10009A1,  0x10009A2  ] };
337    key <AD02> { [  0x10009C0 ,  0x10009C2  ] };
338    key <AD03> { [   0x10009C7,  0x100098F, 0x1000990 ] };
339    key <AD04> { [   0x10009B0 , 0x10009C3, 0x100098B                            ] };
340    key <AD05> { [   0x100099F,  0x10009A0       ] };
341    key <AD06> { [   0x10009AF,  0x10009DF       ] };
342    key <AD07> { [   0x10009C1,  0x1000989, 0x100098A  ] };
343    key <AD08> { [   0x10009BF,  0x1000987, 0x1000988  ] };
344    key <AD09> { [   0x10009CB,  0x1000993, 0x1000994    ] };
345    key <AD10> { [   0x10009AA,  0x10009AB       ] };
346    key <AD11> { [   bracketleft,  braceleft] };
347    key <AD12> { [   bracketright,       braceright      ] };
348    key <RTRN> { [   Return                              ] };
349
350 // caps, a to ' 
351 // key <CAPS> { [   Caps_Lock                           ] };
352    key <AC01> { [   0x10009BE,  0x1000985, 0x1000986  ] };
353    key <AC02> { [   0x10009B8,  0x10009B6,  0x10009B7  ] };
354    key <AC03> { [   0x10009A6,  0x10009A7  ] };
355    key <AC04> { [   0x10009A4,   0x10009A5, 0x10009CE  ] };
356    key <AC05> { [   0x1000997,  0x1000998       ] };
357    key <AC06> { [   0x10009CD,  0x10009B9, 0x1000983  ] };
358    key <AC07> { [   0x100099C,  0x100099D       ] };
359    key <AC08> { [   0x1000995,  0x1000996       ] };
360   key <AC09> { [   0x10009B2,  0x1000964, 0x100098C  ] };
361    key <AC10> { [   semicolon,  colon   ] };
362    key <AC11> { [   quoteright, quotedbl        ] };
363
364 // shift, z to /
365 // key <LFSH> { [   Shift_L                                     ] };
366    key <AB01> { [   0x10009C8, 0x10009CC                        ] };
367    key <AB02> { [   0x10009DC, 0x10009DD                        ] };
368    key <AB03> { [   0x100099A,  0x100099B  ] };
369    key <AB04> { [   0x10009F1,  0x10009F0       ] };
370    key <AB05> { [   0x10009AC,  0x10009AD  ] };
371    key <AB06> { [   0x10009A8,  0x10009A3, 0x100099E  ] };
372    key <AB07> { [   0x10009AE,  0x1000999, 0x1000981  ] };
373    key <AB08> { [   comma,      less    ] };
374    key <AB09> { [    period,    greater,0x10009BC               ] };
375    key <AB10> { [   slash,  question, 0x1000982         ] };
376    key <BKSL> { [   backslash,        bar       ] };
377
378 // third level with right-alt
379     include "level3(ralt_switch)"
380
381 //   key <LCTL> { [   Control_L              ] };
382 //   key <SPCE> { [   space                  ] };
383
384 //   modifier_map Shift  { Shift_L };
385 //   modifier_map Lock   { Caps_Lock };
386 //   modifier_map Control{ Control_L };
387
388
389 };
390
391 xkb_symbols "ben_inscript" {
392     name[Group1]= "Bengali (Baishakhi Inscript)";
393
394       // Mainly numbers.
395       key <TLDE> { [      0x100200D, 0x100200C  ]       };
396       key <AE01> { [      0x10009E7             ]       };
397       key <AE02> { [      0x10009E8             ]       };
398       key <AE03> { [      0x10009E9             ]       };
399       key <AE04> { [      0x10009EA             ]       };
400       key <AE05> { [      0x10009EB             ]       };
401       key <AE06> { [      0x10009EC             ]       };
402       key <AE07> { [      0x10009ED             ]       };
403       key <AE08> { [      0x10009EE             ]       };
404       key <AE09> { [      0x10009EF, parenleft  ]       };
405       key <AE10> { [      0x10009E6, parenright ]       };
406       key <AE11> { [      minus, 0x1000983      ]       };
407       key <AE12> { [      0x10009C3, 0x100098B  ]       };
408
409 // Mainly long vowels
410
411       key <AD01> { [      0x10009CC,  0x1000994 ]       };
412       key <AD02> { [      0x10009C8,  0x1000990 ]       };
413       key <AD03> { [      0x10009BE,  0x1000986 ]       };
414       key <AD04> { [      0x10009C0,  0x1000988 ]       };
415       key <AD05> { [      0x10009C2,  0x100098A ]       };
416
417 // Mainly voiced consonants
418
419       key <AD06> { [      0x10009AC,  0x10009AD ]       };
420       key <AD07> { [      0x10009B9,  0x1000999 ]       };
421       key <AD08> { [      0x1000997,  0x1000998 ]       };
422       key <AD09> { [      0x10009A6,  0x10009A7 ]       };
423       key <AD10> { [      0x100099C,  0x100099D ]       };
424       key <AD11> { [      0x10009A1,  0x10009A2 ]       };
425       key <AD12> { [      0x10009BC,  0x100099E ]       };
426
427 // Mainly short vowels
428       key <AC01> { [      0x10009CB,  0x1000993 ]       };
429       key <AC02> { [      0x10009C7,  0x100098F ]       };
430       key <AC03> { [      0x10009CD,  0x1000985 ]       };
431       key <AC04> { [      0x10009BF,  0x1000987 ]       };
432       key <AC05> { [      0x10009C1,  0x1000989 ]       };
433
434
435 // Mainly unvoiced consonants
436
437       key <AC06> { [      0x10009AA,  0x10009AB ]       };
438       key <AC07> { [      0x10009B0,  0x10009DD ]       };
439       key <AC08> { [      0x1000995,  0x1000996 ]       };
440       key <AC09> { [      0x10009A4,  0x10009A5 ]       };
441       key <AC10> { [      0x100099A,  0x100099B ]       };
442       key <AC11> { [      0x100099F, 0x10009A0  ]       };
443       key <BKSL> { [      backslash, bar        ]       };
444
445       key <AB01> { [      0x10009CE             ]       };
446       key <AB02> { [      0x1000982,  0x1000981 ]       };
447       key <AB03> { [      0x10009AE,  0x10009A3 ]       };
448       key <AB04> { [      0x10009A8,  0x10009A8 ]       };
449       key <AB05> { [      0x10009AC,  0x10009AC ]       };
450       key <AB06> { [      0x10009B2,  0x10009B2 ]       };
451       key <AB07> { [      0x10009B8,  0x10009B6 ]       };
452       key <AB08> { [      comma,      0x10009B7 ]       };
453       key <AB09> { [      period,     0x1000964 ]       };
454       key <AB10> { [      0x10009DF,  0x10009AF ]       };
455 };
456
457 xkb_symbols "ben_gitanjali" {
458  name[Group1]= "Bengali (Uni Gitanjali)";
459    key <ESC>   { [ Escape                       ] };
460
461 // numbers
462    key <TLDE> { [ colon, question       ] };
463    key <AE01> { [ 0x10009E7, 0x10009CE  ] };
464    key <AE02> { [ 0x10009E8, quoteright ] };
465    key <AE03> { [ 0x10009E9, numbersign ] };
466    key <AE04> { [ 0x10009EA, 0x10009F3  ] };
467    key <AE05> { [ 0x10009EB, slash      ] };
468    key <AE06> { [ 0x10009EC, period     ] };
469    key <AE07> { [ 0x10009ED, ampersand  ] };
470    key <AE08> { [ 0x10009EE, asterisk   ] };
471    key <AE09> { [ 0x10009EF, parenleft  ] };
472    key <AE10> { [ 0x10009E6, parenright ] };
473    key <AE11> { [ minus, 0x1000983      ] };
474    key <AE12> { [ 0x10009C3, 0x100098B  ] };
475    key <BKSP> { [ BackSpace             ] };
476
477 // tab, q to ] 
478    key <TAB>   { [   Tab,  ISO_Left_Tab ] };
479    key <AD01> { [   0x10009D7,  0x1000994 ] };
480    key <AD02> { [   0x10009C8,  0x1000990 ] };
481    key <AD03> { [   0x10009BE,  0x1000985 ] };
482    key <AD04> { [   0x10009C0,  0x1000988 ] };
483    key <AD05> { [   0x10009C2,  0x100098A ] };
484    key <AD06> { [   0x10009AC,  0x10009AD ] };
485    key <AD07> { [   0x10009B9,  0x1000999 ] };
486    key <AD08> { [   0x1000997,  0x1000998 ] };
487    key <AD09> { [   0x10009A6,  0x10009A7 ] };
488    key <AD10> { [   0x100099C,  0x100099D ] };
489    key <AD11> { [   0x10009A1,  0x10009A2 ] };
490    key <AD12> { [   0x100200C,  0x100099E ] };
491    key <RTRN> { [   Return                ] };
492
493 // caps, a to ' 
494 // key <CAPS> { [   Caps_Lock                           ] };
495    key <AC01> { [   0x100200D,  0x1000993 ] };
496    key <AC02> { [   0x10009C7,  0x100098F ] };
497    key <AC03> { [   0x10009CD             ] };
498    key <AC04> { [   0x10009BF,  0x1000987 ] };
499    key <AC05> { [   0x10009C1,  0x1000989 ] };
500    key <AC06> { [   0x10009AA,  0x10009AB ] };
501    key <AC07> { [   0x10009B0,  0x10009F0 ] };
502    key <AC08> { [   0x1000995,  0x1000996 ] };
503    key <AC09> { [   0x10009A4,  0x10009A5 ] };
504    key <AC10> { [   0x100099A,  0x100099B ] };
505    key <AC11> { [   0x100099F,  0x10009A0 ] };
506
507 // shift, z to /
508 // key <LFSH> { [   Shift_L                                     ] };
509    key <AB01> { [   0x10009C7, 0x100098F ] };
510    key <AB02> { [   0x1000982, 0x1000981 ] };
511    key <AB03> { [   0x10009AE, 0x10009A3 ] };
512    key <AB04> { [   0x10009A8, 0x10009DC ] };
513    key <AB05> { [   0x10009F1, 0x10009DD ] };
514    key <AB06> { [   0x10009B2            ] };
515    key <AB07> { [   0x10009B8, 0x10009B6 ] };
516    key <AB08> { [   comma,     0x10009B7 ] };
517    key <AB09> { [   0x1000964, 0x10009FA ] };
518    key <AB10> { [   0x10009AF, 0x10009DF ] };
519    key <BKSL> { [   backslash, bar       ] };
520
521 // third level with right-win
522 //    include "level3(lwin_switch)"
523
524 //   key <LCTL> { [   Control_L              ] };
525 //   key <SPCE> { [   space                  ] };
526
527 //   modifier_map Shift  { Shift_L };
528 //   modifier_map Lock   { Caps_Lock };
529 //   modifier_map Control{ Control_L };
530
531
532 };
533
534
535 xkb_symbols "ben_bornona" {
536  name[Group1]= "Bengali (Bornona)";
537    key <ESC>  { [ Escape                                        ] };
538
539 // numbers
540    key <TLDE> { [ 0x100200D, 0x100200C          ] };
541    key <AE01> { [ 0x10009E7, exclam             ] };
542    key <AE02> { [ 0x10009E8, 0x1000981  ] };
543    key <AE03> { [ 0x10009E9, numbersign         ] };
544    key <AE04> { [ 0x10009EA, 0x10009F3          ] };
545    key <AE05> { [ 0x10009EB, percent            ] };
546    key <AE06> { [ 0x10009EC, 0x1000983          ] };
547    key <AE07> { [ 0x10009ED, 0x10009CE  ] };
548    key <AE08> { [ 0x10009EE, asterisk           ] };
549    key <AE09> { [ 0x10009EF, parenleft          ] };
550    key <AE10> { [ 0x10009E6, parenright ] };
551    key <AE11> { [ minus,           underscore   ] };
552    key <AE12> { [ equal,          plus                  ] };
553    key <BKSP> { [ BackSpace                             ] };
554
555 // tab, q to ] 
556    key <TAB>   { [   Tab,       ISO_Left_Tab    ] };
557    key <AD01> { [   0x1000982,  0x1000999, 0x10009D7    ] };
558    key <AD02> { [   0x10009A2,  0x10009A0, 0x100098A ] };
559    key <AD03> { [   0x10009C7,  0x10009C8, 0x1000988    ] };
560    key <AD04> { [   0x10009B0,  0x10009C3, 0x100098B    ] };
561    key <AD05> { [   0x10009A4,  0x100099F       ] };
562    key <AD06> { [   0x10009A7,  0x10009A5, 0x100098F  ] };
563    key <AD07> { [   0x10009C1,  0x10009C2, 0x1000989    ] };
564    key <AD08> { [   0x10009BF,  0x10009C0, 0x1000987    ] };
565    key <AD09> { [   0x10009CB,  0x10009CC, 0x1000993    ] };
566    key <AD10> { [   0x10009AA, 0x1000990, 0x1000994             ] };
567    key <AD11> { [   0x100005B,  0x100007B, 0x10009DC  ] };
568    key <AD12> { [   0x100005D,  0x100007D  ] };
569    key <RTRN> { [   Return                                      ] };
570
571 // caps, a to ' 
572 // key <CAPS> { [   Caps_Lock                           ] };
573    key <AC01> { [   0x10009BE,  0x1000985, 0x10009F4  ] };
574    key <AC02> { [   0x10009B8,  0x10009B6, 0x10009F5  ] };
575    key <AC03> { [   0x10009A6,  0x10009A1, 0x10009F8  ] };
576    key <AC04> { [   0x10009AB                           ] };
577    key <AC05> { [   0x1000997,  0x1000998       ] };
578    key <AC06> { [   0x10009CD, 0x10009B9        ] };
579    key <AC07> { [   0x100099C,  0x100099D       ] };
580    key <AC08> { [   0x1000995,  0x1000996       ] };
581    key <AC09> { [   0x10009B2,  0x1000964  ] };
582    key <AC10> { [   semicolon,  0x100003A       ] };
583    key <AC11> { [   quoteright, quotedbl        ] };
584
585 // shift, z to /
586 // key <LFSH> { [   Shift_L                                     ] };
587    key <AB01> { [   0x10009AF, 0x10009DC        ] };
588    key <AB02> { [   0x10009B7, 0x10009DD, 0x10009FA     ] };
589    key <AB03> { [   0x100099A,  0x100099B  ] };
590    key <AB04> { [   0x10009AD                           ] };
591    key <AB05> { [   0x10009AC,  0x10009DF       ] };
592    key <AB06> { [   0x10009A8,  0x10009A3       ] };
593    key <AB07> { [   0x10009AE,  0x100099E       ] };
594    key <AB08> { [   comma,      0x100003C       ] };
595    key <AB09> { [   0x100002E,  0x100003E  ] };
596    key <AB10> { [   0x100002F,  question        ] };
597    key <BKSL> { [   0x10009F1,  0x10009F0       ] };
598
599 //   key <LCTL> { [   Control_L              ] };
600 //   key <SPCE> { [   space                  ] };
601
602 //   modifier_map Shift  { Shift_L };
603 //   modifier_map Lock   { Caps_Lock };
604 //   modifier_map Control{ Control_L };
605 // third level with right-alt
606     include "level3(ralt_switch)"
607
608 };
609
610 partial alphanumeric_keys 
611 xkb_symbols "guj" {
612       name[Group1]= "Gujarati";
613
614       // Mainly numbers.
615       key <AE01> { [      U0AE7, U0A8D  ]       };
616       key <AE02> { [      U0AE8, U0AC5  ]       };
617       key <AE03> { [      U0AE9                 ]       };
618       key <AE04> { [      U0AEA                 ]       };
619       key <AE05> { [      U0AEB                 ]       };
620       key <AE06> { [      U0AEC                 ]       };
621       key <AE07> { [      U0AED                 ]       };
622       key <AE08> { [      U0AEE                 ]       };
623       key <AE09> { [      U0AEF, parenleft      ]       };
624       key <AE10> { [      U0AE6, parenright ]   };
625       key <AE11> { [      minus,     U0A83  ]   };
626       key <AE12> { [      U0A8B, U0AC3  ]       };
627
628 // Mainly long vowels
629
630       key <AD01> { [      U0ACC, U0A94  ]       };
631       key <AD02> { [      U0AC8, U0A90  ]       };
632       key <AD03> { [      U0ABE, U0A86  ]       };
633       key <AD04> { [      U0AC0, U0A88  ]       };
634       key <AD05> { [      U0AC2, U0A8A  ]       };
635
636 // Mainly voiced consonants
637
638       key <AD06> { [      U0AAC, U0AAD  ]       };
639       key <AD07> { [      U0AB9, U0A99  ]       };
640       key <AD08> { [      U0A97, U0A98  ]       };
641       key <AD09> { [      U0AA6, U0AA7  ]       };
642       key <AD10> { [      U0A9C, U0A9D  ]       };
643       key <AD11> { [      U0AA1, U0AA2  ]       };
644       key <AD12> { [      U0ABC, U0A9E  ]       };
645
646 // Mainly short vowels
647       key <AC01> { [      U0ACB, U0A93  ]       };
648       key <AC02> { [      U0AC7, U0A8F  ]       };
649       key <AC03> { [      U0ACD, U0A85  ]       };
650       key <AC04> { [      U0ABF, U0A87  ]       };
651       key <AC05> { [      U0AC1, U0A89  ]       };
652
653 // Mainly unvoiced consonants
654
655       key <AC06> { [      U0AAA, U0AAB  ]       };
656       key <AC07> { [      U0AB0, U0AB0  ]       };
657       key <AC08> { [      U0A95, U0A96  ]       };
658       key <AC09> { [      U0AA4, U0AA5  ]       };
659       key <AC10> { [      U0A9A, U0A9B  ]       };
660       key <AC11> { [      U0A9F, U0AA0  ]       };
661       key <BKSL> { [      U0AC9, U0A91  ]       };
662
663       key <AB01> { [      z        , Z          ]       };
664       key <AB02> { [      U0A82, U0A81  ]       };
665       key <AB03> { [      U0AAE, U0AA3  ]       };
666       key <AB04> { [      U0AA8, U0AA8   ]       };
667       key <AB05> { [      U0AB5, U0AB5   ]       };
668       key <AB06> { [      U0AB2, U0AB3  ]       };
669       key <AB07> { [      U0AB8, U0AB6  ]       };
670       key <AB08> { [      comma,     U0AB7  ]       };
671       key <AB09> { [      period,    U0964  ]       };
672       key <AB10> { [      U0AAF, question   ]       };
673 };
674
675 partial alphanumeric_keys 
676 xkb_symbols "kan" {
677
678     // Inscript layout for Kannada  
679     // Author : G Karunakar <karunakar@freedomink.org>
680     // Date   : Wed Nov 13 17:22:58 IST 2002
681     // Kannada digits mapped in basic only
682
683     name[Group1]= "Kannada";
684
685     key <TLDE> { [  U0cca, U0c92        ] };
686     key <AE01> { [  U0ce7                       ] };
687     key <AE02> { [  U0ce8                       ] };
688     key <AE03> { [  U0ce9                       ] };
689     key <AE04> { [  U0cea                       ] };
690     key <AE05> { [  U0ceb                       ] };
691     key <AE06> { [  U0cec                       ] };
692     key <AE07> { [  U0ced                       ] };
693     key <AE08> { [  U0cee                       ] };
694     key <AE09> { [  U0cef                       ] };
695     key <AE10> { [  U0ce6                       ] };
696     key <AE11> { [  U0c83                       ] };
697     key <AE12> { [  U0cc3, U0c8b        ] };
698
699     key <AD01> { [  U0ccc, U0c94        ] };
700     key <AD02> { [  U0cc8, U0c90        ] };
701     key <AD03> { [  U0cbe, U0c86        ] };
702     key <AD04> { [  U0cc0, U0c88        ] };
703     key <AD05> { [  U0cc2, U0c8a        ] };
704     key <AD06> { [  U0cac, U0cad        ] };
705     key <AD07> { [  U0cb9, U0c99        ] };
706     key <AD08> { [  U0c97, U0c98        ] };
707     key <AD09> { [  U0ca6, U0ca7        ] };
708     key <AD10> { [  U0c9c, U0c9d        ] };
709     key <AD11> { [  U0ca1, U0ca2        ] };
710     key <AD12> { [  U0cbc, U0c9e        ] };
711  
712     key <AC01> { [  U0ccb, U0c93        ] };
713     key <AC02> { [  U0cc7, U0c8f        ] };
714     key <AC03> { [  U0ccd, U0c85        ] };
715     key <AC04> { [  U0cbf, U0c87        ] };
716     key <AC05> { [  U0cc1, U0c89        ] };
717     key <AC06> { [  U0caa, U0cab        ] };
718     key <AC07> { [  U0cb0, U0cb1        ] };
719     key <AC08> { [  U0c95, U0c96        ] };
720     key <AC09> { [  U0ca4, U0ca5        ] };
721     key <AC10> { [  U0c9a, U0c9b        ] };
722     key <AC11> { [  U0c9f, U0ca0        ] };
723
724     key <AB01> { [  U0cc6, U0c8e        ] };
725     key <AB02> { [  U0c82                       ] };
726     key <AB03> { [  U0cae, U0ca3        ] };
727     key <AB04> { [  U0ca8                       ] };
728     key <AB05> { [  U0cb5, U0cb4        ] };
729     key <AB06> { [  U0cb2, U0cb3        ] };
730     key <AB07> { [  U0cb8, U0cb6        ] };
731     key <AB08> { [  comma     , U0cb7   ] };
732     key <AB09> { [  period                              ] };
733     key <AB10> { [  U0caf, U0040        ] };
734
735     key <RALT> {
736         symbols[Group1] = [ Mode_switch, Multi_key ],
737         virtualMods = AltGr
738     };
739
740 };
741
742 // Description : A keymap for Malayalam
743 // Encoding    : Unicode (http://www.unicode.org)
744 // Author      : Baiju M <baiju@freeshell.org>
745 // Date        : Sat Aug  17 21:10:48 IST 2002
746 // Mapping:
747
748 partial alphanumeric_keys 
749 xkb_symbols "mal" {
750
751     name[Group1] = "Malayalam";
752
753     //From grave to backslash (\)
754     
755     key <TLDE> { [ U0d4a , U0d12           ] };
756
757 // svu: 
758 // These lines were in former "mal" variant - 
759 // but the digits are replaced with the ones from 'mal_plusnum' -
760 // for the integrity of all Indian layouts
761 //
762 //    key <AE01> { [1           ,     exclam           ] }; 
763 //    key <AE02> { [2           ,         at           ] };
764 //    key <AE03> { [3           , numbersign           ] };
765 //    key <AE04> { [4           ,     dollar           ] };
766 //    key <AE05> { [5           ,    percent           ] };
767 //    key <AE06> { [6           ,asciicircum           ] };
768 //    key <AE07> { [7           ,  ampersand           ] };
769 //    key <AE08> { [8           , asterisk           ] };
770 //    key <AE09> { [9           ,  parenleft           ] };
771 //    key <AE10> { [0           , parenright           ] };
772
773       key <AE01> { [ U0d67 ,      exclam ] };
774       key <AE02> { [ U0d68 ,          at ] };
775       key <AE03> { [ U0d69 ,  numbersign ] };
776       key <AE04> { [ U0d6a ,      dollar ] };
777       key <AE05> { [ U0d6b ,     percent ] };
778       key <AE06> { [ U0d6c , asciicircum ] };
779       key <AE07> { [ U0d6d ,   ampersand ] };
780       key <AE08> { [ U0d6e ,  asterisk ] };
781       key <AE09> { [ U0d6f ,   parenleft ] };
782       key <AE10> { [ U0d66 ,  parenright ] };
783
784     key <AE11> { [ minus      , U0d03           ] };
785     key <AE12> { [ U0d43 , U0d0b           ] };
786     key <BKSL>  { [U0200c, U05C ]};//bksl: ZWNJ 
787
788   
789     // From 'q' to right bracket (])
790     
791     key <AD01> { [ U0d4c , U0d14 ] };
792     key <AD02> { [ U0d48 , U0d10 ] };
793     key <AD03> { [ U0d3e , U0d06 ] };
794     key <AD04> { [ U0d40 , U0d08 ] };
795     key <AD05> { [ U0d42 , U0d0a ] };
796     key <AD06> { [ U0d2c , U0d2d ] };
797     key <AD07> { [ U0d39 , U0d19 ] };
798     key <AD08> { [ U0d17 , U0d18 ] };
799     key <AD09> { [ U0d26 , U0d27 ] };
800     key <AD10> { [ U0d1c , U0d1d ] };
801     key <AD11> { [ U0d21 , U0d22 ] };
802     key <AD12> { [ U0200d , U0d1e ] };
803
804     // From 'a' to apostrophe (')
805     
806     key <AC01> { [ U0d4b , U0d13 ] };
807     key <AC02> { [ U0d47 , U0d0f ] };
808     key <AC03> { [ U0d4d , U0d05 ] };
809     key <AC04> { [ U0d3f , U0d07 ] };
810     key <AC05> { [ U0d41 , U0d09 ] };
811     key <AC06> { [ U0d2a , U0d2b ] };
812     key <AC07> { [ U0d30 , U0d31 ] };
813     key <AC08> { [ U0d15 , U0d16 ] };
814     key <AC09> { [ U0d24 , U0d25 ] };
815     key <AC10> { [ U0d1a , U0d1b ] };
816     key <AC11> { [ U0d1f , U0d20 ] };
817     
818     // From 'z' to slash (/)
819     
820     key <AB01> { [ U0d46 , U0d0e ] };
821     key <AB02> { [ U0d02 , U200b ] };//X:ZWSP
822     key <AB03> { [ U0d2e , U0d23 ] };
823     key <AB04> { [ U0d28 ] };
824     key <AB05> { [ U0d35 , U0d34 ] };
825     key <AB06> { [ U0d32 , U0d33 ] };
826     key <AB07> { [ U0d38 , U0d36 ] };
827     key <AB08> { [ comma      , U0d37 ] };
828     key <AB09> { [ period     , U0200d ] };
829     key <AB10> { [ U0d2f , question   ] };
830
831 };
832
833 //Name          :       Lalitha
834 //Description   :       A transliteration keyboard layout for Malayalam
835 //Original Author :     Noah Levitt<nlevitt at columbia.edu>
836 //Current Main  :       Jinesh K.J<jinesh.k@gmail.com>, Swathantra Malayalam Computing (SMC)<smc-discuss@googlegroups.com>
837
838 partial alphanumeric_keys
839 xkb_symbols "mal_lalitha" {
840      name[Group1] = "Malayalam (Lalitha)";
841      key.type="FOUR_LEVEL";
842     //Top Alphanumeric row
843     // Roman digits
844     key <TLDE>  { [   U0D4D,    U0D02,          apostrophe,     asciitilde ] }; // apostrophe: virama(chandrakala),anusvara
845     key <AE01>  { [   1,        exclam, U0D67,          exclam     ] };
846     key <AE02>  { [   2,        at,             U0D68,          at         ] };
847     key <AE03>  { [   3,        numbersign,     U0D69,          numbersign ] };
848     key <AE04>  { [   4,        dollar,         U0D6A,          dollar     ] };
849     key <AE05>  { [   5,        percent,        U0D6B,          percent    ] };
850     key <AE06>  { [   6,        asciicircum,    U0D6C,          asciicircum ] };
851     key <AE07>  { [   7,        ampersand,      U0D6D,          ampersand  ] };
852     key <AE08>  { [   8,        asterisk,       U0D6E,          asterisk   ] };
853     key <AE09>  { [   9,        parenleft,      U0D6F,          parenleft  ] };
854     key <AE10>  { [   0,        parenright,     U0D66,          parenright ] };
855     key <AE11>  { [   minus,    underscore           ] };
856     key <AE12>  { [   equal,    plus                 ] };
857     key <BKSL>  { [   U005C,    U007C,          U200C   ] };//backslash:pipe,backslash,ZWNJ 
858
859     //Q Row     
860     key <AD01>   { [   U0D48,   U0D4C,  U0D10,  U0D14  ] }; // Q: ai and au matras 
861     key <AD02>   { [   U0D35    ] };  // W: wa, OM
862     key <AD03>   { [   U0D46,   U0D47,  U0D0E,  U0D0F   ] };  // E: e,ee matras
863     key <AD04>   { [   U0D30,   U0D31,  U0D43,  U0D0B   ] };  // R: ra,rra, vocalic Ri
864     key <AD05>   { [   U0D24,   U0D25,  U0D1F,  U0D20   ] };  // T: tha, ttha,ta,tta
865     key <AD06>   { [   U0D2f    ] };  // Y: ya
866     key <AD07>   { [   U0D41,   U0D42,  U0D09,  U0D0A   ] };  // U: u, uu matras
867     key <AD08>   { [   U0D3F,   U0D40,  U0D07,  U0D08   ] };  // I: i, ii matras
868     key <AD09>   { [   U0D4A,   U0D4B,  U0D12,  U0D13   ] };  // O: o, oo matras
869     key <AD10>   { [   U0D2A   ] };  // P: pa
870     key <AD11>   { [   bracketleft,   braceleft   ] };//braceleft:   
871     key <AD12>   { [   bracketright, braceright   ] };//braceright:
872     
873     //A Row
874     key <AC01>   { [   U0D3E,    U0D05, U0D06,  U0D05  ] };   // A: a,aa
875     key <AC02>   { [   U0D38,    U0D37   ] };  // S: sa, ssa
876     key <AC03>   { [   U0D26,    U0D27, U0D21,  U0D22   ] };  // D: soft da,soft dda,hard da,hard dda,
877     key <AC04>   { [   U0D2B     ] };  // F: pha
878     key <AC05>   { [   U0D17,    U0D18   ] };  // G: ga, gha
879     key <AC06>   { [   U0D39,    U0D03   ] };  // H: ha, visarg 
880     key <AC07>   { [   U0D1C,    U0D1D   ] };  // J: ja, jha
881     key <AC08>   { [   U0D15,    U0D16   ] };  // K: ka, kha
882     key <AC09>   { [   U0D32,    U0D33   ] };  // L: la, vocalic L or lru matra`
883     key <AC10>   { [   semicolon, colon  ] }; 
884     key <AC11>   { [apostrophe, quotedbl ] };
885
886     //Z Row
887     key <AB01>   { [   U0D34,    U0D36   ] };  // Z: sha,zha
888     key <AB02>   { [   U0D4D,    U200B  ] };  // X: chandrakala,ZWSP
889     key <AB03>   { [   U0D1A,    U0D1B   ] };  // C: ca, cha
890     key <AB04>   { [   U0D35,    U200D  ] };  // V: va,ZWJ
891     key <AB05>   { [   U0D2C,    U0D2D   ] };  // B: ba, bha
892     key <AB06>   { [   U0D28,    U0D23, U0D19,  U0D1E   ] };  // N: na, hard na,nga,nha
893     key <AB07>   { [   U0D2E,    U0D02  ] };  // M: ma
894     key <AB08>   { [   comma,    U003C ] };// comma: comma
895     key <AB09>   { [   period,   U003E ] };  // period: period
896     key <AB10>   { [   slash,   question ] };
897
898    // begin modifier mappings
899 //    modifier_map Shift  { Shift_L };
900 //    modifier_map Lock   { Caps_Lock };
901 //    modifier_map Control{ Control_L };
902 //    modifier_map Mod3   { Mode_switch };
903     include "level3(ralt_switch)"
904 };
905
906
907 partial alphanumeric_keys 
908 xkb_symbols "ori" {
909     // Inscript layout for Oriya  
910     // Author: G Karunakar <karunakar@freedomink.org>
911     // Date: Wed Nov 13 18:16:19 IST 2002
912
913     name[Group1]= "Oriya";
914     
915     key <AE01> { [  U0b67                       ] };
916     key <AE02> { [  U0b68                       ] };
917     key <AE03> { [  U0b69                       ] };
918     key <AE04> { [  U0b6a                       ] };
919     key <AE05> { [  U0b6b                       ] };
920     key <AE06> { [  U0b6c                       ] };
921     key <AE07> { [  U0b6d                       ] };
922     key <AE08> { [  U0b6e                       ] };
923     key <AE09> { [  U0b6f                       ] };
924     key <AE10> { [  U0b66                       ] };
925     key <AE11> { [  U0b03                       ] };
926     key <AE12> { [  U0b43, U0b0b        ] };
927
928     key <AD01> { [  U0b4c, U0b14        ] };
929     key <AD02> { [  U0b48, U0b10        ] };
930     key <AD03> { [  U0b3e, U0b06        ] };
931     key <AD04> { [  U0b40, U0b08        ] };
932     key <AD05> { [  U0b42, U0b0a        ] };
933     key <AD06> { [  U0b2c, U0b2d        ] };
934     key <AD07> { [  U0b39, U0b19        ] };
935     key <AD08> { [  U0b17, U0b18        ] };
936     key <AD09> { [  U0b26, U0b27        ] };
937     key <AD10> { [  U0b1c, U0b1d        ] };
938     key <AD11> { [  U0b21, U0b22        ] };
939     key <AD12> { [  U0b3c, U0b1e        ] };
940  
941     key <AC01> { [  U0b4b, U0b13        ] };
942     key <AC02> { [  U0b47, U0b0f        ] };
943     key <AC03> { [  U0b4d, U0b05        ] };
944     key <AC04> { [  U0b3f, U0b07        ] };
945     key <AC05> { [  U0b41, U0b09        ] };
946     key <AC06> { [  U0b2a, U0b2b        ] };
947     key <AC07> { [  U0b30                       ] };
948     key <AC08> { [  U0b15, U0b16        ] };
949     key <AC09> { [  U0b24, U0b25        ] };
950     key <AC10> { [  U0b1a, U0b1b        ] };
951     key <AC11> { [  U0b1f, U0b20        ] };
952  
953     key <AB02> { [  U0b02, U0b01        ] };
954     key <AB03> { [  U0b2e, U0b23        ] };
955     key <AB04> { [  U0b28                       ] };
956     key <AB05> { [  U0b35                       ] };
957     key <AB06> { [  U0b32, U0b33        ] };
958     key <AB07> { [  U0b38, U0b36        ] };
959     key <AB08> { [  comma     , U0b37   ] };
960     key <AB09> { [  period                              ] };
961     key <AB10> { [  U0b2f, U0040        ] };
962
963     key <RALT> {
964         symbols[Group1] = [ Mode_switch, Multi_key ],
965         virtualMods = AltGr
966     };
967 };
968
969 // based on a keyboard map from an 'xkb/symbols/tml' file
970 // INSCRIPT
971 partial alphanumeric_keys 
972 xkb_symbols "tam" {
973       name[Group1]= "Tamil";
974
975       key <TLDE> { [      U0BCA, U0B92  ]       };
976
977       // Mainly numbers.
978       key <AE01> { [      U0BE7                 ]       };
979       key <AE02> { [      U0BE8                 ]       };
980       key <AE03> { [      U0BE9                 ]       };
981       key <AE04> { [      U0BEA                 ]       };
982       key <AE05> { [      U0BEB                 ]       };
983       key <AE06> { [      U0BEC                 ]       };
984       key <AE07> { [      U0BED         ]       };
985       key <AE08> { [      U0BEE                 ]       };
986       key <AE09> { [      U0BEF, parenleft      ]       };
987       key <AE10> { [      U0BF0, parenright     ]       };
988       key <AE11> { [      U0BF1, U0B83  ]       };
989       key <AE12> { [      U0BF2, plus   ]       };
990
991 // Mainly long vowels
992
993       key <AD01> { [      U0BCC,  U0B94 ]       };
994       key <AD02> { [      U0BC8,  U0B90 ]       };
995       key <AD03> { [      U0BBE,  U0B86 ]       };
996       key <AD04> { [      U0BC0,  U0B88 ]       };
997       key <AD05> { [      U0BC2,  U0B8A ]       };
998
999 // Mainly voiced consonants
1000
1001       key <AD07> { [      U0BB9, U0B99  ]       };
1002       key <AD10> { [      U0B9c         ]       }; 
1003       key <AD12> { [      U0B9E                         ]       };
1004
1005 // Mainly short vowels
1006       key <AC01> { [      U0BCB,  U0B93 ]       };
1007       key <AC02> { [      U0BC7,  U0B8F ]       };
1008       key <AC03> { [      U0BCD,  U0B85 ]       };
1009       key <AC04> { [      U0BBF,  U0B87 ]       };
1010       key <AC05> { [      U0BC1,  U0B89 ]       };
1011
1012 // Mainly unvoiced consonants
1013
1014       key <AC06> { [      U0BAA                 ]       };
1015       key <AC07> { [      U0BB0,  U0BB1 ]       };
1016       key <AC08> { [      U0B95                 ]       };
1017       key <AC09> { [      U0BA4                 ]       };
1018       key <AC10> { [      U0B9A                 ]       };
1019       key <AC11> { [      U0B9F                 ]       };
1020       key <BKSL> { [      U005C, U007C  ]       };//backslash-bar  - Changed to Unicode
1021
1022       key <AB01> { [      U0BC6,  U0B8E ]       };
1023       key <AB02> { [      U0B82                 ]       };
1024       key <AB03> { [      U0BAE,  U0BA3 ]       };
1025       key <AB04> { [      U0BA8,  U0BA9 ]       };
1026       key <AB05> { [      U0BB5,  U0BB4 ]       };
1027       key <AB06> { [      U0BB2,  U0BB3 ]       };
1028       key <AB07> { [      U0BB8,  U0BB6 ]       };
1029       key <AB08> { [      comma,      U0BB7 ]       };
1030       key <AB09> { [      period,     U0964 ]       };
1031       key <AB10> { [      U0BAF,  question  ]       };
1032 };
1033
1034 partial alphanumeric_keys 
1035 xkb_symbols "tam_unicode" {
1036
1037 // Description: A keymap based on the TamilNet'99 typewriter keyboard 
1038 // Encoding: Unicode (http://www.unicode.org)
1039 // Author: Thuraiappah Vaseeharan <vasee@ieee.org>
1040 // Modifed by: Malathi S <malathiramya@gmail.com>
1041 // Secondary contact: Sri Ramadoss M <amachu@au-kbc.org>
1042 // Date  : Fri Sep 4 11:32:00 CST 2009
1043 // Mapping:
1044   
1045     name[Group1]= "Tamil (Unicode)";
1046
1047     // granthas
1048     key <TLDE> {  [ apostrophe, asciitilde ] };
1049     key <AE01> {  [ U0031, exclam ] } ;
1050     key <AE02> {  [ U0032, at ] } ;
1051     key <AE03> {  [ U0033, numbersign ] } ;
1052     key <AE04> {  [ U0034, U0BF9 ] } ;
1053     key <AE05> {  [ U0035, percent ] } ;
1054     key <AE06> {  [ U0036, asciicircum ] } ;
1055     key <AE07> {  [ U0037, ampersand ] } ;
1056     key <AE08> {  [ U0038, asterisk ] } ;
1057     key <AE09> {  [ U0039, parenleft ] } ;
1058     key <AE10> {  [ U0030, parenright ] } ;
1059     key <AE11> {  [ minus, underscore ] };
1060     key <AE12> {  [ equal, plus ] };
1061
1062
1063     // Qrow
1064     key <AD01> {  [ U0B9E, U0BB6 ] };
1065     key <AD02> {  [ U0BB1, U0BB7 ] };
1066     key <AD03> {  [ U0BA8, U0BB8 ] };
1067     key <AD04> {  [ U0B9A, U0BB9 ] };
1068     key <AD05> {  [ U0BB5, U0B9C ] };
1069     key <AD06> {  [ U0BB2 ] };
1070     key <AD07> {  [ U0BB0 ] };
1071     key <AD08> {  [ U0BC8, U0B90 ] };
1072     key <AD09> {  [ U0BCA, U0BCB ] };
1073     key <AD10> {  [ U0BBF, U0BC0 ] };
1074     key <AD11> {  [ U0BC1, U0BC2 ] };
1075
1076     // Arow
1077     key <AC01> { [ U0BAF ] };
1078     key <AC02> { [ U0BB3 ] };
1079     key <AC03> { [ U0BA9 ] };
1080     key <AC04> { [ U0B95 ] };
1081     key <AC05> { [ U0BAA ] };
1082     key <AC06> { [ U0BBE, U0BB4 ] };
1083     key <AC07> { [ U0BA4 ] };
1084     key <AC08> { [ U0BAE ] };
1085     key <AC09> { [ U0B9F ] };
1086     key <AC10> { [ U0BCD, U0B83 ] };
1087     key <AC11> { [ U0B99 ] };
1088     
1089     // Zrow
1090     key <AB01> { [ U0BA3 ]  };
1091     key <AB02> { [ U0B92, U0B93 ]  };
1092     key <AB03> { [ U0B89, U0B8A ]  };
1093     key <AB04> { [ U0B8E, U0B8F ]  };
1094     key <AB05> { [ U0BC6, U0BC7 ]  };
1095     key <AB06> { [ U0B94, U0BCC ]  };
1096     key <AB07> { [ U0B85, U0B86 ]  };
1097     key <AB08> { [ U0B87, U0B88 ]  };
1098 };
1099
1100 partial alphanumeric_keys
1101 xkb_symbols "tam_keyboard_with_numerals" {
1102
1103 // Description: A keymap based on the TamilNet'99 typewriter keyboard 
1104 // Encoding: Unicode (http://www.unicode.org)
1105 // Author: Malathi S <malathiramya@gmail.com>
1106 // Secondary contact: Sri Ramadoss M <amachu@au-kbc.org>
1107 // Date  : Fri Sep 4 11:33:00 CST 2009
1108 // Mapping:
1109
1110       name[Group1]= "Tamil (keyboard with numerals)";
1111
1112       // Mainly numbers.
1113       key <TLDE> { [ apostrophe, asciitilde ] };
1114       key <AE01> { [ U0BE7, exclam ] };
1115       key <AE02> { [ U0BE8, at ] };
1116       key <AE03> { [ U0BE9, numbersign ] };
1117       key <AE04> { [ U0BEA, U0BF9 ] };
1118       key <AE05> { [ U0BEB, percent ] };
1119       key <AE06> { [ U0BEC, asciicircum ] };
1120       key <AE07> { [ U0BED, ampersand ] };
1121       key <AE08> { [ U0BEE, asterisk ] };
1122       key <AE09> { [ U0BEF, parenleft ] };
1123       key <AE10> { [ U0BE6, parenright ] };
1124       key <AE11> { [ minus, underscore ] };
1125       key <AE12> { [ equal, plus ] };
1126
1127
1128     // Qrow
1129     key <AD01> {  [ U0B9E, U0BB6 ] };
1130     key <AD02> {  [ U0BB1, U0BB7 ] };
1131     key <AD03> {  [ U0BA8, U0BB8 ] };
1132     key <AD04> {  [ U0B9a, U0BB9 ] };
1133     key <AD05> {  [ U0BB5, U0B9c ] };
1134     key <AD06> {  [ U0BB2 ] };
1135     key <AD07> {  [ U0BB0 ] };
1136     key <AD08> {  [ U0BC8, U0B90 ] };
1137     key <AD09> {  [ U0BCA, U0BCB ] };
1138     key <AD10> {  [ U0BBF, U0BC0 ] };
1139     key <AD11> {  [ U0BC1, U0BC2 ] };
1140
1141     // Arow
1142     key <AC01> { [ U0BAF ] };
1143     key <AC02> { [ U0BB3 ] };
1144     key <AC03> { [ U0BA9 ] };
1145     key <AC04> { [ U0B95 ] };
1146     key <AC05> { [ U0BAA ] };
1147     key <AC06> { [ U0BBE, U0BB4 ] };
1148     key <AC07> { [ U0BA4 ] };
1149     key <AC08> { [ U0BAE ] };
1150     key <AC09> { [ U0B9F ] };
1151     key <AC10> { [ U0BCD, U0B83 ] };
1152     key <AC11> { [ U0B99 ] };
1153
1154     // Zrow
1155     key <AB01> { [ U0BA3 ]  };
1156     key <AB02> { [ U0B92, U0B93 ]  };
1157     key <AB03> { [ U0B89, U0B8A ]  };
1158     key <AB04> { [ U0B8E, U0B8F ]  };
1159     key <AB05> { [ U0BC6, U0BC7 ]  };
1160     key <AB06> { [ U0B94, U0BCC ]  };
1161     key <AB07> { [ U0B85, U0B86 ]  };
1162     key <AB08> { [ U0B87, U0B88 ]  };
1163 };
1164
1165 partial alphanumeric_keys 
1166 xkb_symbols "tam_TSCII" {
1167
1168 // Description  : A Tamil typewrite-style keymap 
1169 //                loosely based on TamilNet'99 reommendations 
1170 // Encoding     : TSCII (http://www.tscii.org)
1171 // Author       : Thuraiappah Vaseeharan <vasee@ieee.org>
1172 // Last Modified: Sat Jan  5 17:11:26 CST 2002
1173
1174     name[Group1]= "Tamil (TSCII typewriter)";
1175
1176     key <AE01> {  [ 0x10000b7, 0x10000a4 ] }; // aytham
1177     key <AE02> {  [ 0x1000082, 0x10000a5 ] }; // shri
1178     key <AE03> {  [ 0x1000083, 0x1000088 ] }; // ja
1179     key <AE04> {  [ 0x1000084, 0x1000089 ] }; // sha
1180     key <AE05> {  [ 0x1000085, 0x100008a ] }; // sa
1181     key <AE06> {  [ 0x1000086, 0x100008b ] }; // ha
1182     key <AE07> {  [ 0x1000087, 0x100008c ] }; // ksha
1183         
1184     // Qrow
1185     key <AD01> {  [ 0x10000bb, 0x100009a ] }; // nja
1186     key <AD02> {  [ 0x10000c8, 0x10000da ] }; // Ra
1187     key <AD03> {  [ 0x10000bf, 0x10000d1 ] }; // NNa
1188     key <AD04> {  [ 0x10000ba, 0x10000cd ] }; // ca
1189     key <AD05> {  [ 0x10000c5, 0x10000d7 ] }; // va
1190     key <AD06> {  [ 0x10000c4, 0x10000d6 ] }; // la
1191     key <AD07> {  [ 0x10000c3, 0x10000d5 ] }; // ra
1192     key <AD08> {  [ 0x10000a8, 0x10000b3 ] }; // sangili, ai
1193     key <AD09> {  [ 0x10000ca, 0x10000cb ] }; // di, dI
1194     key <AD10> {  [ 0x10000a2, 0x10000a3 ] }; // visiri
1195     key <AD11> {  [ dead_acute, 0x10000a3 ] }; // Ukaaram
1196
1197     // Arow
1198     key <AC01> { [ 0x10000c2, 0x10000d4 ] }; // ya
1199     key <AC02> { [ 0x10000c7, 0x10000d9 ] }; // La
1200     key <AC03> { [ 0x10000c9, 0x10000db ] }; // na
1201     key <AC04> { [ 0x10000b8, 0x10000cc ] }; // ka
1202     key <AC05> { [ 0x10000c0, 0x10000d2 ] }; // pa
1203     key <AC06> { [ dead_grave,0x10000a1 ] }; // pulli,aravu
1204     key <AC07> { [ 0x10000be, 0x10000d0 ] }; // tha
1205     key <AC08> { [ 0x10000c1, 0x10000d3 ] }; // ma
1206     key <AC09> { [ 0x10000bc, 0x10000ce ] }; // da
1207     key <AC10> { [ 0x10000c6, 0x10000d8 ] }; // zha
1208     key <AC11> { [ 0x10000b9, 0x1000099 ] }; // nga
1209     
1210     // Zrow
1211     key <AB01> { [ 0x10000bd, 0x10000cf ] }; // Na
1212     key <AB02> { [ 0x10000b4, 0x10000b5 ] }; // o, O
1213     key <AB03> { [ 0x10000af, 0x10000b0 ] }; // u, U
1214     key <AB04> { [ 0x10000b1, 0x10000b2 ] }; // e, E
1215     key <AB05> { [ 0x10000a6, 0x10000a7 ] }; // kombus
1216     key <AB06> { [ 0x10000b6, 0x10000aa ] }; // au
1217     key <AB07> { [ 0x10000ab, 0x10000ac ] }; // a, A
1218     key <AB08> { [ 0x10000fe, 0x10000ae ] }; // i, I
1219
1220 };
1221
1222 partial alphanumeric_keys 
1223 xkb_symbols "tam_TAB" {
1224
1225 // Description: A keymap based on the TamilNet'99 typewriter keyboard 
1226 // Encoding: TAB (http://www.tamilnet99.org)
1227 // Author: Thuraiappah Vaseeharan <t_vasee@yahoo.com>
1228 // Date  : Sun Aug 12 02:23:00 CDT 2001
1229
1230     name[Group1]= "Tamil (TAB typewriter)";
1231
1232     // numeral row
1233     key <AE01> {  [ 0x10000e7, 0x10000a7 ] } ;
1234     key <AE02> {  [ 0x10000fa, 0x10000a8 ] } ;
1235     key <AE03> {  [ 0x10000fb ] } ;
1236     key <AE04> {  [ 0x10000fc ] } ;
1237     key <AE05> {  [ 0x10000fd ] } ;
1238     key <AE06> {  [ 0x10000fe ] } ;
1239     key <AE07> {  [ 0x10000ff ] } ;
1240         
1241     // q-row
1242     key <AD01> {  [ 0x10000eb, 0x10000b3 ] };
1243     key <AD02> {  [ 0x10000f8, 0x10000c1 ] };
1244     key <AD03> {  [ 0x10000ef, 0x10000b8 ] };
1245     key <AD04> {  [ 0x10000ea, 0x10000b2 ] };
1246     key <AD05> {  [ 0x10000f5, 0x10000be ] };
1247     key <AD06> {  [ 0x10000f4, 0x10000bd ] };
1248     key <AD07> {  [ 0x10000f3, 0x10000bc ] };
1249     key <AD08> {  [ 0x10000ac, 0x10000e4 ] };
1250     key <AD09> {  [ 0x10000ae, 0x10000af ] };
1251     key <AD10> {  [ 0x10000a4, 0x10000a6 ] };
1252     key <AD11> {  [ dead_circumflex, 0x10000a6 ] }; // Ukaaram
1253
1254     // a-row
1255     key <AC01> {  [ 0x10000f2, 0x10000bb ] };
1256     key <AC02> {  [ 0x10000f7, 0x10000c0 ] };
1257     key <AC03> {  [ 0x10000f9, 0x10000c2 ] };
1258     key <AC04> {  [ 0x10000e8, 0x10000b0 ] };
1259     key <AC05> {  [ 0x10000f0, 0x10000b9 ] };
1260     key <AC06> {  [ 0x10000a2, 0x10000a3 ] };
1261     key <AC07> {  [ 0x10000ee, 0x10000b6 ] };
1262     key <AC08> {  [ 0x10000f1, 0x10000ba ] };
1263     key <AC09> {  [ 0x10000ec, 0x10000b4 ] };
1264     key <AC10> {  [ 0x10000f6, 0x10000bf ] };
1265     key <AC11> {  [ 0x10000e9, 0x10000b1 ] };
1266     
1267     // z-row
1268     key <AB01> {  [ 0x10000ed, 0x10000b5 ] };
1269     key <AB02> {  [ 0x10000e5, 0x10000e6 ] };
1270     key <AB03> {  [ 0x10000e0, 0x10000e1 ] };
1271     key <AB04> {  [ 0x10000e2, 0x10000e3 ] };
1272     key <AB05> {  [ 0x10000aa, 0x10000ab ] };
1273     key <AB06> {  [ 0x10000ac, 0x10000a3 ] };
1274     key <AB07> {  [ 0x10000dc, 0x10000dd ] };
1275     key <AB08> {  [ 0x10000de, 0x10000df ] };
1276 };
1277
1278 partial alphanumeric_keys 
1279 xkb_symbols "tel" {
1280
1281     // Inscript layout for Telugu using Unicode 
1282     // Author: G Karunakar <karunakar@freedomink.org>
1283     // Date:
1284     // See layout at http://www.indlinux.org/keymap/telugu.php
1285
1286     name[Group1]= "Telugu";
1287
1288     key <TLDE> { [  U0c4a, U0c12        ] };
1289     key <AE01> { [  U0c67                       ] };
1290     key <AE02> { [  U0c68                       ] };
1291     key <AE03> { [  U0c69, numbersign   ] };
1292     key <AE04> { [  U0c6a, dollar               ] };
1293     key <AE05> { [  U0c6b, percent              ] };
1294     key <AE06> { [  U0c6c, asciicircum  ] };
1295     key <AE07> { [  U0c6d, ampersand    ] };
1296     key <AE08> { [  U0c6e, asterisk     ] };
1297     key <AE09> { [  U0c6f, parenleft    ] };
1298     key <AE10> { [  U0c66, parenright   ] };
1299     key <AE11> { [  U0c03, underscore   ] };
1300     key <AE12> { [  U0c43, U0c0b        ] };
1301     key <BKSP> { [  BackSpace                   ] };    
1302  
1303     key <AD01> { [  U0c4c, U0c14        ] };
1304     key <AD02> { [  U0c48, U0c10        ] };
1305     key <AD03> { [  U0c3e, U0c06        ] };
1306     key <AD04> { [  U0c40, U0c08        ] };
1307     key <AD05> { [  U0c42, U0c0a        ] };
1308     key <AD06> { [  U0c2c, U0c2d        ] };
1309     key <AD07> { [  U0c39, U0c19        ] };
1310     key <AD08> { [  U0c17, U0c18        ] };
1311     key <AD09> { [  U0c26, U0c27        ] };
1312     key <AD10> { [  U0c1c, U0c1d        ] };
1313     key <AD11> { [  U0c21, U0c22        ] };
1314     key <AD12> { [  U0c1e                       ] };
1315   
1316     key <AC01> { [  U0c4b, U0c13        ] };
1317     key <AC02> { [  U0c47, U0c0f        ] };
1318     key <AC03> { [  U0c4d, U0c05        ] };
1319     key <AC04> { [  U0c3f, U0c07        ] };
1320     key <AC05> { [  U0c41, U0c09        ] };
1321     key <AC06> { [  U0c2a, U0c2b        ] };
1322     key <AC07> { [  U0c30, U0c31        ] };
1323     key <AC08> { [  U0c15, U0c16        ] };
1324     key <AC09> { [  U0c24, U0c25        ] };
1325     key <AC10> { [  U0c1a, U0c1b        ] };
1326     key <AC11> { [  U0c1f, U0c20        ] };
1327  
1328     key <AB01> { [  U0c46, U0c0e        ] };
1329     key <AB02> { [  U0c02, U0c01        ] };
1330     key <AB03> { [  U0c2e, U0c23        ] };
1331     key <AB04> { [  U0c28                       ] };
1332     key <AB05> { [  U0c35                       ] };
1333     key <AB06> { [  U0c32, U0c33        ] };
1334     key <AB07> { [  U0c38, U0c36        ] };
1335     key <AB08> { [  comma     , U0c37   ] };
1336     key <AB09> { [  period                              ] };
1337     key <AB10> { [  U0c2f, U0040        ] };
1338
1339     key <RALT> {        
1340         symbols[Group1] = [ Mode_switch, Multi_key ],
1341         virtualMods = AltGr
1342     };
1343 };
1344
1345 partial alphanumeric_keys 
1346 xkb_symbols "urd-phonetic" {
1347     include "pk(urd-phonetic)"
1348     name[Group1]= "Urdu (phonetic)";
1349 };
1350
1351 partial alphanumeric_keys 
1352 xkb_symbols "urd-phonetic3" {
1353     include "pk(urd-crulp)"
1354     name[Group1]= "Urdu (alternative phonetic)";
1355 };
1356
1357 partial alphanumeric_keys 
1358 xkb_symbols "urd-winkeys" {
1359     include "pk(urd-nla)"
1360     name[Group1]= "Urdu (WinKeys)";
1361 };
1362
1363 // based on a keyboard map from an 'xkb/symbols/gur' file
1364
1365 partial alphanumeric_keys
1366 xkb_symbols "guru" {
1367       name[Group1]= "Punjabi (Gurmukhi)";
1368
1369       // Mainly numbers.
1370       key <AE01> { [      U0A67                 ]       };
1371       key <AE02> { [      U0A68         ]       };
1372       key <AE03> { [      U0A69, U0A71  ]       };
1373       key <AE04> { [      U0A6A, U0A74          ]       };
1374       key <AE05> { [      U0A6B, U262C          ]       };
1375       key <AE06> { [      U0A6C                 ]       };
1376       key <AE07> { [      U0A6D                 ]       };
1377       key <AE08> { [      U0A6e                 ]       };
1378       key <AE09> { [      U0A6F, parenleft      ]       };
1379       key <AE10> { [      U0A66, parenright ]   };
1380       key <AE11> { [      gur_visarga           ]       };
1381       key <AE12> { [      equal,        plus    ]       };
1382
1383 // Mainly long vowels
1384
1385       key <AD01> { [      U0A4C, U0A14  ]       };
1386       key <AD02> { [      U0A48, U0A10  ]       };
1387       key <AD03> { [      U0A3E, U0A06  ]       };
1388       key <AD04> { [      U0A40, U0A08  ]       };
1389       key <AD05> { [      U0A42, U0A0A  ]       };
1390
1391 // Mainly voiced consonants
1392
1393       key <AD06> { [      U0A2C, U0A2D  ]       };
1394       key <AD07> { [      U0A39, U0A19  ]       };
1395       key <AD08> { [      U0A17, U0A18  ]       };
1396       key <AD09> { [      U0A26, U0A27  ]       };
1397       key <AD10> { [      U0A1C, U0A1D  ]       };
1398       key <AD11> { [      U0A21, U0A22  ]       };
1399       key <AD12> { [      U0A3C, U0A1E  ]       };
1400
1401 // Mainly short vowels
1402       key <AC01> { [      U0A4B, U0A13  ]       };
1403       key <AC02> { [      U0A47, U0A0F  ]       };
1404       key <AC03> { [      U0A4D, U0A05  ]       };
1405       key <AC04> { [      U0A3F, U0A07  ]       };
1406       key <AC05> { [      U0A41, U0A09  ]       };
1407
1408 // Mainly unvoiced consonants
1409
1410       key <AC06> { [      U0A2A, U0A2B  ]       };
1411       key <AC07> { [      U0A30, U0A5C  ]       };
1412       key <AC08> { [      U0A15, U0A16  ]       };
1413       key <AC09> { [      U0A24, U0A25  ]       };
1414       key <AC10> { [      U0A1A, U0A1B  ]       };
1415       key <AC11> { [      U0A1F, U0A20  ]       };
1416       key <BKSL> { [      U005C, U007C  ]       };
1417
1418       key <AB01> { [      z,     U0A01  ]       };
1419       key <AB02> { [      U0A02, U0A70, U0A71  ]       };
1420       key <AB03> { [      U0A2E, U0A23  ]       };
1421       key <AB04> { [      U0A28, U0A28  ]       };
1422       key <AB05> { [      U0A35, U0A35  ]       };
1423       key <AB06> { [      U0A32, U0A33  ]       };
1424       key <AB07> { [      U0A38, U0A36  ]       };
1425       key <AB08> { [      comma,     less       ]       };
1426       key <AB09> { [      period,    U0964  ]       };
1427       key <AB10> { [      U0A2F, question   ]       };
1428 };
1429
1430 //Name          :       Jhelum (Refind Inscript)
1431 //Description   :       A Jhelum keyboard layout for Gurmukhi (Punjabi)
1432 //                      http://www.satluj.org/Jhelum.html
1433 //Modified for Inscript to make
1434 //Original Author :     Amanpreet Singh Alam <apreet.alam@gmail.com
1435  
1436 partial alphanumeric_keys
1437 xkb_symbols "jhelum" {
1438       name[Group1] = "Punjabi (Gurmukhi Jhelum)";
1439           key.type="FOUR_LEVEL";
1440      //Top Alphanumeric row
1441      // Roman digits
1442      key <TLDE>  { [  apostrophe, asciitilde, U0A02,U0A01 ] }; // apostrophe: anusvara, candrabindu
1443      key <AE01>  { [   1,exclam,        U0A67,  exclam     ] };
1444      key <AE02>  { [   2,at,    U0A68,  at         ] };
1445      key <AE03>  { [   3,numbersign, U0A69,     numbersign ] };
1446      key <AE04>  { [   4,dollar,        U0A6A,  dollar     ] };
1447      key <AE05>  { [   5,percent,U0A6B, percent    ] };
1448      key <AE06>  { [   6,asciicircum, U0A6C,asciicircum ] };
1449      key <AE07>  { [   7,ampersand,U0A6D,ampersand  ] };
1450      key <AE08>  { [   8,asterisk,U0A6E,        asterisk   ] };
1451      key <AE09>  { [   9,parenleft,U0A6F,parenleft  ] };
1452      key <AE10>  { [   0,parenright,U0A66,parenright ] };
1453      key <AE11> { [   minus,underscore] };
1454      key <AE12> { [   equal,plus] };
1455      key <BKSL>  { [   U0964,U0965,U007C,U005C] }; //pipe : danda, double danda
1456  
1457      //Q Row    
1458      key <AD01>   { [   U0A4C,  U0A14   ] };  // Q: oo, ooh
1459      key <AD02>   { [   U0A48,          U0A10   ] };  // W: ee, ae
1460      key <AD03>   { [   U0A3E,   U0A06  ] };  // E: a, aa
1461      key <AD04>   { [   U0A40,  U0A08   ] };  // R: ee, ai
1462      key <AD05>   { [   U0A42,   U0A0A   ] };  // T: u, uu
1463      key <AD06>   { [   U0A30,  U0A5C   ] };  // Y: ra, raa
1464      key <AD07>   { [   U0A26,   U0A27   ] };  // U: tha, thha
1465      key <AD08>   { [   U0A17,   U0A18   ] };  // I:ga, gha
1466      key <AD09>   { [   U0A24,   U0A1F   ] };  // O: ta, tha
1467      key <AD10>   { [   U0A2A,   U0A5E   ] };  // P: pa, pha
1468      key <AD11>   { [   U0A21,   U0A22,   bracketleft,   braceleft   ] };  
1469      key <AD12>  { [   U0A19,   U0A1E,   bracketright, braceright   ] };
1470      
1471      //A Row
1472      key <AC01>   { [   U0A4B,   U0A13  ] };   // A: o, oo
1473      key <AC02>   { [   U0A40,    U0A0F   ] };  // S: e, ee
1474      key <AC03>   { [   U0A4D,    U0A05   ] };  // D: halant, aa
1475      key <AC04>   { [   U0A3F,    U0A07   ] };  // F: i, aa
1476      key <AC05>   { [   U0A41,    U0A09   ] };  // G: u, uh
1477      key <AC06>   { [   U0A39,    U0A20   ] };  // H: ha, thha
1478      key <AC07>   { [   U0A1C,    U0A1D   ] };  // J: ja, jha
1479      key <AC08>   { [   U0A15,    U0A16   ] };  // K: ka, kha
1480      key <AC09>   { [   U0A32,   U0A25   ] };  // L: la, tha
1481      key <AC10>   { [   U0A38,   semicolon, colon  ] }; //; sa
1482      key <AC11>   { [apostrophe, quotedbl ] };
1483  
1484      //Z Row
1485      key <AB01>   { [   U0A71,   U0A3C   ] };  // Z: addak, par bindi
1486      key <AB02>   { [   U0A02,    U0A70  ] };  // X: bindi, tippi
1487      key <AB03>   { [   U0A1A,    U0A1B   ] };  // C: ca, cha
1488      key <AB04>   { [   U0A35,    U0A2F   ] };  // V: va, ya
1489      key <AB05>   { [   U0A2C,    U0A2D   ] };  // B: ba, bha
1490      key <AB06>   { [   U0A28,    U0A23   ] };  // N: na, nha
1491      key <AB07>   { [   U0A2E, U0A2E       ] };  // M: ma
1492      key <AB08>   { [   comma,    U262C  ] };// comma: comma, dev abbreviation sign
1493      key <AB09>   { [   period,   U0A74          ] };  // period: period, nukta
1494      key <AB10>  { [   slash,   question ] };
1495  
1496 // begin modifier mappings
1497 //    modifier_map Shift  { Shift_L };
1498 //    modifier_map Lock   { Caps_Lock };
1499 //    modifier_map Control{ Control_L };
1500 //    modifier_map Mod3   { Mode_switch };
1501     include "level3(ralt_switch)"
1502 };
1503
1504 partial alphanumeric_keys
1505 xkb_symbols "olpc" {
1506
1507 // Contact: Walter Bender <walter@laptop.org>
1508
1509   include "in(deva)"
1510   key <TLDE> { [        U094A,  U0912 ] }; // DEVANAGARI VOWEL SIGN SHORT O; DEVANAGARI LETTER SHORT O
1511   key <AE01> { [        U0967,  U090D ] }; // DEVANAGARI DIGIT ONE; DEVANAGARI LETTER CANDRA E
1512   key <AE02> { [        U0968,  U0945 ] }; // DEVANAGARI DIGIT TWO; DEVANAGARI VOWEL SIGN CANDRA E
1513   key <AE03> { [        U0969    ] }; // DEVANAGARI DIGIT THREE; 
1514   key <AE04> { [        U096A    ] }; // DEVANAGARI DIGIT FOUR; 
1515   key <AE05> { [        U096B    ] }; // DEVANAGARI DIGIT FIVE; 
1516   key <AE06> { [        U096C    ] }; // DEVANAGARI DIGIT SIX; 
1517   key <AE07> { [        U096D    ] }; // DEVANAGARI DIGIT SEVEN; 
1518   key <AE08> { [        U096E    ] }; // DEVANAGARI DIGIT EIGHT; 
1519   key <AE09> { [        U096F,  parenleft ] }; // DEVANAGARI DIGIT NINE; 
1520   key <AE10> { [        U0966,  parenright ] }; // DEVANAGARI DIGIT ZERO; 
1521   key <AE11> { [        minus,          U0903 ] }; // DEVANAGARI SIGN VISARGA; 
1522   key <AE12> { [        U0943,  U090B ] }; // DEVANAGARI VOWEL SIGN VOCALIC R; DEVANAGARI LETTER VOCALIC R
1523
1524   key <AD01> { [        U094C,  U0914 ] }; // DEVANAGARI VOWEL SIGN AU; DEVANAGARI LETTER AU
1525   key <AD02> { [        U0948,  U0910 ] }; // DEVANAGARI VOWEL SIGN AI; DEVANAGARI LETTER AI
1526   key <AD03> { [        U093E,  U0906 ] }; // DEVANAGARI VOWEL SIGN AA; DEVANAGARI LETTER AA
1527   key <AD04> { [        U0940,  U0908 ] }; // DEVANAGARI VOWEL SIGN II; DEVANAGARI LETTER II
1528   key <AD05> { [        U0942,  U090A ] }; // DEVANAGARI VOWEL SIGN UU; DEVANAGARI LETTER UU
1529   key <AD06> { [        U092C,  U092D ] }; // DEVANAGARI LETTER BA; DEVANAGARI LETTER BHA
1530   key <AD07> { [        U0939,  U0919 ] }; // DEVANAGARI LETTER HA; DEVANAGARI LETTER NGA
1531   key <AD08> { [        U0917,  U0918 ] }; // DEVANAGARI LETTER GA; DEVANAGARI LETTER GHA
1532   key <AD09> { [        U0926,  U0927 ] }; // DEVANAGARI LETTER DA; DEVANAGARI LETTER DHA
1533   key <AD10> { [        U091C,  U091D ] }; // DEVANAGARI LETTER JA; DEVANAGARI LETTER JHA
1534   key <AD11> { [        U0921,  U0922 ] }; // DEVANAGARI LETTER DDA; DEVANAGARI LETTER DDHA
1535   key <AD12> { [        U093C,  U091E ] }; // DEVANAGARI SIGN NUKTA; DEVANAGARI LETTER NYA
1536
1537   key <BKSL> { [        U0949,  U0911 ] }; // DEVANAGARI VOWEL SIGN CANDRA O; DEVANAGARI LETTER CANDRA O
1538
1539   key <AC01> { [        U094B,  U0913 ] }; // DEVANAGARI VOWEL SIGN O; DEVANAGARI LETTER O
1540   key <AC02> { [        U0947,  U090F ] }; // DEVANAGARI VOWEL SIGN E; DEVANAGARI LETTER E
1541   key <AC03> { [        U094D,  U0905 ] }; // DEVANAGARI SIGN VIRAMA; DEVANAGARI LETTER A
1542   key <AC04> { [        U093F,  U0907 ] }; // DEVANAGARI VOWEL SIGN I; DEVANAGARI LETTER I
1543   key <AC05> { [        U0941,  U0909 ] }; // DEVANAGARI VOWEL SIGN U; DEVANAGARI LETTER U
1544   key <AC06> { [        U092A,  U092B ] }; // DEVANAGARI LETTER PA; DEVANAGARI LETTER PHA
1545   key <AC07> { [        U0930,  U0931 ] }; // DEVANAGARI LETTER RA; DEVANAGARI LETTER RRA
1546   key <AC08> { [        U0915,  U0916 ] }; // DEVANAGARI LETTER KA; DEVANAGARI LETTER KHA
1547   key <AC09> { [        U0924,  U0925 ] }; // DEVANAGARI LETTER TA; DEVANAGARI LETTER THA
1548   key <AC10> { [        U091A,  U091B ] }; // DEVANAGARI LETTER CA; DEVANAGARI LETTER CHA
1549   key <AC11> { [        U091F,  U0920 ] }; // DEVANAGARI LETTER TTA; DEVANAGARI LETTER TTHA
1550
1551   key <AB01> { [        U0946,  U090E ] }; // DEVANAGARI VOWEL SIGN SHORT E; DEVANAGARI LETTER SHORT E
1552   key <AB02> { [        U0902,  U0901 ] }; // DEVANAGARI SIGN ANUSVARA; DEVANAGARI SIGN CANDRABINDU
1553   key <AB03> { [        U092E,  U0923 ] }; // DEVANAGARI LETTER MA; DEVANAGARI LETTER NNA
1554   key <AB04> { [        U0928,  U0929 ] }; // DEVANAGARI LETTER NA; DEVANAGARI LETTER NNNA
1555   key <AB05> { [        U0935,  U0934 ] }; // DEVANAGARI LETTER VA; DEVANAGARI LETTER LLLA
1556   key <AB06> { [        U0932,  U0933 ] }; // DEVANAGARI LETTER LA; DEVANAGARI LETTER LLA
1557   key <AB07> { [        U0938,  U0936 ] }; // DEVANAGARI LETTER SA; DEVANAGARI LETTER SHA
1558   key <AB08> { [        comma,          U0937 ] }; // DEVANAGARI LETTER SSA
1559   key <AB09> { [        period,         U0964 ] }; // DEVANAGARI DANDA
1560   key <AB10> { [        U092F,  U095F ] }; // DEVANAGARI LETTER YA; DEVANAGARI LETTER YYA
1561
1562   // space, space, Zero-Width-Non-Joiner (ZWNJ), Zero-Width-Joiner (ZWJ):
1563   include "nbsp(zwnj3zwj4)"
1564
1565   include "group(olpc)"
1566 };
1567
1568 partial alphanumeric_keys 
1569 xkb_symbols "hin-wx" {
1570
1571     name[Group1]= "Hindi (Wx)";
1572
1573       key <TLDE> {       [     grave, asciitilde, 2, 3    ]     };
1574
1575       key <AE01> {       [      0x1000967, exclam               ]       };
1576       key <AE02> {       [      0x1000968, at           ]       };
1577       key <AE03> {       [      0x1000969 , numbersign                  ]       };
1578       key <AE04> {       [      0x100096A , dollar              ]       };
1579       key <AE05> {       [      0x100096B , percent                     ]       };
1580       key <AE06> {       [      0x100096C , asciicircum                 ]       };
1581       key <AE07> {       [      0x100096D , ampersand                       ]   };
1582       key <AE08> {       [      0x100096e , asterisk                    ]       };
1583       key <AE09> {       [      0x100096F, parenleft            ]       };
1584       key <AE10> {       [      0x1000966, parenright           ]       };
1585       key <AE11> {       [      minus, underscore                       ]       };
1586       key <AE12> {       [      equal, plus             ]       };
1587
1588
1589       key <AD01> {       [      0x1000943,  0x1000944, 0x100090B, 0x1000960]    };
1590       key <AD02> {       [      0x1000924,  0x1000925           ]       };
1591       key <AD03> {       [      0x1000947,  0x1000948, 0x100090F, 0x1000910]    };
1592       key <AD04> {       [      0x1000930,  0x1000937           ]       };
1593       key <AD05> {       [      0x100091F,  0x1000920           ]       };
1594
1595
1596       key <AD06> {       [      0x100092F               ]       };
1597       key <AD07> {       [      0x1000941,  0x1000942, 0x1000909, 0x100090A ]   };
1598       key <AD08> {       [      0x100093F,  0x1000940, 0x1000907, 0x1000908 ]   };
1599       key <AD09> {       [      0x100094B,  0x100094C, 0x1000913, 0x1000914]    };
1600       key <AD10> {       [      0x100092A,  0x100092B           ]       };
1601       key <AD11> {       [      bracketleft, braceleft                  ]       };
1602       key <AD12> {       [      bracketright, braceright                ]       };
1603       key <BKSL> {       [      backslash, bar, 0x1000964, 0x1000965 ] };
1604
1605       key <AC01> {       [      0x100094D,  0x100093E, 0x1000905,0x1000906 ]    };
1606       key <AC02> {       [      0x1000938,  0x1000936           ]       };
1607       key <AC03> {       [      0x1000921,  0x1000922           ]       };
1608       key <AC04> {       [      0x1000919,  0x100091E           ]       };
1609       key <AC05> {       [      0x1000917,  0x1000918           ]       };
1610
1611
1612       key <AC06> {       [      0x1000939,  0x1000903           ]       };
1613       key <AC07> {       [      0x100091C,  0x100091D           ]       };
1614       key <AC08> {       [      0x1000915,  0x1000916           ]       };
1615       key <AC09> {       [      0x1000932,  0x1000962, 0x1000933, 0x100090C]    };
1616       key <AC10> {       [      semicolon, colon                ]       };
1617       key <AC11> {       [      quoteright, quotedbl            ]       };
1618
1619       key <AB01> {       [      0x1000901,   0x100093C, 0x100093D, 0x1000950]   };
1620       key <AB02> {       [      0x1000926,   0x1000927      ]       };
1621       key <AB03> {       [      0x100091A,   0x100091B         ]       };
1622       key <AB04> {       [      0x1000935,   dead_V        ]       };
1623       key <AB05> {       [      0x100092C,   0x100092D        ]       };
1624       key <AB06> {       [      0x1000928,   0x1000923         ]       };
1625       key <AB07> {       [      0x100092E,   0x1000902         ]       };
1626       key <AB08> {       [      comma,       less         ]       };
1627       key <AB09> {       [      period,      greater       ]       };
1628       key <AB10> {       [      slash,      question        ]       };
1629
1630     include "level3(ralt_switch)"
1631 };
1632
1633 partial alphanumeric_keys
1634 xkb_symbols "eng" {
1635
1636     name[Group1]= "English (India, with RupeeSign)";
1637
1638     include "us(basic)"
1639
1640     include "rupeesign(4)"
1641
1642     include "level3(ralt_switch)"
1643 };
1644
1645
1646 // Description : Enhanced INSCRIPT keymap for Malayalam
1647 // Encoding    : Unicode (http://www.unicode.org)
1648 // Author      : Mahesh T Pai <paivakil@gmail.com>
1649 // Date        : March, 2011
1650 // Source      : http://www.nongnu.org/smc/docs/images/ml_inscript_layout.jpg
1651 // Comment     : Based on the Inscript Keyboard created by M Baiju
1652 // Mapping:
1653
1654 partial alphanumeric_keys 
1655 xkb_symbols "mal_enhanced" {
1656
1657     name[Group1] = "Malayalam (enhanced Inscript with Rupee Sign)";
1658
1659    //From grave to backslash (\)
1660     
1661       key <TLDE> { [ U0d4a ,       U0d12 ] };
1662       key <AE01> { [ U0d67 ,      exclam ] };
1663       key <AE02> { [ U0d68 ,          at ] };
1664       key <AE03> { [ U0d69 ,  numbersign ] };
1665       key <AE04> { [ U0d6a ,      dollar ] };
1666       key <AE05> { [ U0d6b ,     percent ] };
1667       key <AE06> { [ U0d6c , asciicircum ] };
1668       key <AE07> { [ U0d6d ,   ampersand ] };
1669       key <AE08> { [ U0d6e ,       U0d7e ] };
1670       key <AE09> { [ U0d6f ,   parenleft ] };
1671       key <AE10> { [ U0d66 ,  parenright ] };
1672
1673       key <AE11> { [ minus , U0d03       ] };
1674       key <AE12> { [ U0d43 , U0d0b       ] };
1675       key <BKSL> { [ U0d7c , U05C        ] }; //bksl: chillu RR 
1676
1677
1678   // From 'q' to right bracket (])
1679     
1680     key <AD01> { [ U0d57 , U0d14 ] };
1681     key <AD02> { [ U0d48 , U0d10 ] };
1682     key <AD03> { [ U0d3e , U0d06 ] };
1683     key <AD04> { [ U0d40 , U0d08 ] };
1684     key <AD05> { [ U0d42 , U0d0a ] };
1685     key <AD06> { [ U0d2c , U0d2d ] };
1686     key <AD07> { [ U0d39 , U0d19 ] };
1687     key <AD08> { [ U0d17 , U0d18 ] };
1688     key <AD09> { [ U0d26 , U0d27 ] };
1689     key <AD10> { [ U0d1c , U0d1d ] };
1690     key <AD11> { [ U0d21 , U0d22 ] };
1691     key <AD12> { [ U0200d , U0d1e ] };
1692
1693     // From 'a' to apostrophe (')
1694     
1695     key <AC01> { [ U0d4b , U0d13 ] };
1696     key <AC02> { [ U0d47 , U0d0f ] };
1697     key <AC03> { [ U0d4d , U0d05 ] };
1698     key <AC04> { [ U0d3f , U0d07 ] };
1699     key <AC05> { [ U0d41 , U0d09 ] };
1700     key <AC06> { [ U0d2a , U0d2b ] };
1701     key <AC07> { [ U0d30 , U0d31 ] };
1702     key <AC08> { [ U0d15 , U0d16 ] };
1703     key <AC09> { [ U0d24 , U0d25 ] };
1704     key <AC10> { [ U0d1a , U0d1b ] };
1705     key <AC11> { [ U0d1f , U0d20 ] };
1706     
1707     // From 'z' to slash (/)
1708     
1709     key <AB01> { [ U0d46 , U0d0e ] };
1710     key <AB02> { [ U0d02 , U0d7a ] };
1711     key <AB03> { [ U0d2e , U0d23 ] };
1712     key <AB04> { [ U0d28 , U0d7b ] };
1713     key <AB05> { [ U0d35 , U0d34 ] };
1714     key <AB06> { [ U0d32 , U0d33 ] };
1715     key <AB07> { [ U0d38 , U0d36 ] };
1716     key <AB08> { [ comma , U0d37 ] };
1717     key <AB09> { [ period , U0d7d ] }; //chillu l
1718     key <AB10> { [ U0d2f , question ] };
1719
1720     // hope this includes the rupee sign at alt + 4
1721
1722     include "rupeesign(4)"
1723     include "level3(ralt_switch)"
1724
1725 };
1726