fixed space in in(olpc), b.fd.o#14224
[xorg/xkeyboard-config] / symbols / in
1 // $XKeyboardConfig$
2
3 // This layout includes all Indian layouts, including:
4 //     - Bengali
5 //     - Gujarati 
6 //     - Kannada 
7 //     - Malayalam
8 //     - Oriya 
9 //     - Tamil
10 //     - Telugu
11 //     - Urdu
12
13 // Links:
14 // - Indic INSCRIPT keyboard layout diagrams:
15 //     http://java.sun.com/products/jfc/tsc/articles/InputMethod/indiclayout.html
16 // - Ekusheyr Shadhinota (Bengali layouts):
17 //     http://ekushey.org/projects/shadhinota/index.html
18 // - Microsoft Windows XP SP2: Indic Language Standards - an Introduction:
19 //     http://www.bhashaindia.com/MSProducts/XpSp2/Articles/IndicLanguageStandards.aspx
20
21 // based on a keyboard map from an 'xkb/symbols/dev' file
22
23 // Devangari is the default. Kill me if I am wrong:)
24 default partial alphanumeric_keys
25 xkb_symbols "deva" {
26         // March 2004 -- David Holl <smyrph+dev_xkb@ece.wpi.edu>
27         name[Group1]="India";
28
29         key.type="FOUR_LEVEL";
30
31         key <TLDE> { [ U094a, U0912,   grave, asciitilde  ] };
32         key <AE01> { [ U0967, U090d,       1, exclam      ] };
33         key <AE02> { [ U0968, U0945,       2, at          ] };
34         // Shift+AE0[3-8] really need to return a macro of keys defined by
35         // INSCRIPT in place of the symbols that are here for now.  But this
36         // requires XKB to map 1 key into two to three other key presses.
37         key <AE03> { [ U0969, numbersign,  3, numbersign  ] };
38         key <AE04> { [ U096a, dollar,      4, dollar      ] };
39         key <AE05> { [ U096b, percent,     5, percent     ] };
40         key <AE06> { [ U096c, asciicircum, 6, asciicircum ] };
41         key <AE07> { [ U096d, ampersand,   7, ampersand   ] };
42         key <AE08> { [ U096e, asterisk,    8, asterisk    ] };
43         key <AE09> { [ U096f, parenleft,   9, parenleft   ] };
44         key <AE10> { [ U0966, parenright,  0, parenright  ] };
45         key <AE11> { [ minus, U0903, minus, underscore    ] };
46         key <AE12> { [ U0943, U090b, U0944, U0960 ] };
47
48         key <AD01> { [ U094c, U0914 ] };
49         key <AD02> { [ U0948, U0910 ] };
50         key <AD03> { [ U093e, U0906 ] };
51         key <AD04> { [ U0940, U0908, U0963, U0961 ] };
52         key <AD05> { [ U0942, U090a ] };
53         key <AD06> { [ U092c, U092d ] };
54         key <AD07> { [ U0939, U0919 ] };
55         key <AD08> { [ U0917, U0918, U095a ] };
56         key <AD09> { [ U0926, U0927 ] };
57         key <AD10> { [ U091c, U091d, U095b ] };
58         key <AD11> { [ U0921, U0922, U095c, U095d ] };
59         key <AD12> { [ U093c, U091e ] };
60         // I added \ / ? | for shell-convenience (file names and piping)
61         key <BKSL> { [ U0949, U0911, backslash, bar ] };
62
63         key <AC01> { [ U094b, U0913 ] };
64         key <AC02> { [ U0947, U090f ] };
65         key <AC03> { [ U094d, U0905 ] };
66         key <AC04> { [ U093f, U0907, U0962, U090c ] };
67         key <AC05> { [ U0941, U0909 ] };
68         key <AC06> { [ U092a, U092b, NoSymbol, U095e ] };
69         key <AC07> { [ U0930, U0931 ] };
70         key <AC08> { [ U0915, U0916, U0958, U0959 ] };
71         key <AC09> { [ U0924, U0925 ] };
72         key <AC10> { [ U091a, U091b, U0952 ] };
73         key <AC11> { [ U091f, U0920, NoSymbol, U0951 ] };
74
75         key <AB01> { [ U0946, U090e, U0953 ] };
76         key <AB02> { [ U0902, U0901, NoSymbol, U0950 ] };
77         key <AB03> { [ U092e, U0923, U0954 ] };
78         key <AB04> { [ U0928, U0929 ] };
79         key <AB05> { [ U0935, U0934 ] };
80         key <AB06> { [ U0932, U0933 ] };
81         key <AB07> { [ U0938, U0936 ] };
82         key <AB08> { [ comma, U0937, U0970 ] };
83         key <AB09> { [ period, U0964, U0965, U093d ] };
84         // I added \ / ? | for shell-convenience (file names and piping)
85         key <AB10> { [ U092f, U095f, slash, question ] };
86
87         // space, space, Zero-Width-Non-Joiner (ZWNJ), Zero-Width-Joiner (ZWJ):
88         key <SPCE> { [ space, space, U200c, U200d ] };
89 };
90
91 //Name          :       Bolnagri (Combined)
92 //Description   :       A phonetic keyboard layout for Devnagari(Hindi)
93 //                      http://www.indlinux.org/wiki/index.php/BolNagri
94 //NOTE          :       This is a combined map of bolnagri_matras and bolnagri_vowels.
95 //Inspired by "devrom" keymap by Steve Smith for the windows tool "keyman"
96 //Original Author :     Noah Levitt<nlevitt at columbia.edu>
97 //Past Authors  : Pramod.R <pramodr at gmail.com> and Ravikant <ravikant at sarai.net>
98 // Current Main.: G Karunakar <karunakar@sarai.net>
99
100 partial alphanumeric_keys
101 xkb_symbols "bolnagri" {
102      name[Group1] = "India - Hindi Bolnagri";
103      key.type="FOUR_LEVEL";
104     //Top Alphanumeric row
105     // Roman digits
106     key <TLDE>  { [   U0902,    U0901,          apostrophe,     asciitilde ] }; // apostrophe: anusvara, candrabindu
107     key <AE01>  { [   1,        exclam,         U0967,          exclam     ] };
108     key <AE02>  { [   2,        at,             U0968,          at         ] };
109     key <AE03>  { [   3,        numbersign,     U0969,          numbersign ] };
110     key <AE04>  { [   4,        dollar,         U096A,          dollar     ] };
111     key <AE05>  { [   5,        percent,        U096B,          percent    ] };
112     key <AE06>  { [   6,        asciicircum,    U096C,          asciicircum ] };
113     key <AE07>  { [   7,        ampersand,      U096D,          ampersand  ] };
114     key <AE08>  { [   8,        asterisk,       U096E,          asterisk   ] };
115     key <AE09>  { [   9,        parenleft,      U096F,          parenleft  ] };
116     key <AE10>  { [   0,        parenright,     U0966,          parenright ] };
117     key <AE11>  { [   minus,    underscore           ] };
118     key <AE12>  { [   equal,    plus                 ] };
119     key <BKSL>  { [   U0964,    U0965,          pipe,           backlash   ] }; //pipe : danda, double danda
120
121     //Q Row     
122     key <AD01>   { [   U200C,   U200D   ] };  // Q: ZWNJ, ZWJ
123     key <AD02>   { [   U0935,   U950    ] };  // W: wa, OM
124     key <AD03>   { [   U0947,   U0948,  U090F,  U0910   ] };  // E: e, ai matras
125     key <AD04>   { [   U0930,   U0943   ] };  // R: ra, vocalic Ri
126     key <AD05>   { [   U0924,   U0925   ] };  // T: ta, tha
127     key <AD06>   { [   U092f,   U091E   ] };  // Y: ya, nya
128     key <AD07>   { [   U0941,   U0942,  U0909,  U090A   ] };  // U: u, uu matras
129     key <AD08>   { [   U093F,   U0940,  U0907,  U0908   ] };  // I: i, ii matras
130     key <AD09>   { [   U094B,   U094C,  U0913,  U0914   ] };  // O: o, au matras
131     key <AD10>   { [   U092A,   U092B   ] };  // P: pa, pha
132     key <AD11>   { [   bracketleft,   braceleft   ] };  
133     key <AD12>   { [   bracketright, braceright   ] };
134     
135     //A Row
136     key <AC01>   { [   U093E,    U0906, U0905,  U0906  ] };   // A: aa
137     key <AC02>   { [   U0938,    U0937   ] };  // S: sa, ssa
138     key <AC03>   { [   U0926,    U0927   ] };  // D: da, dha
139     key <AC04>   { [   U091F,    U0920   ] };  // F: TA, THA
140     key <AC05>   { [   U0917,    U0918   ] };  // G: ga, gha
141     key <AC06>   { [   U0939,    U0903   ] };  // H: ha, visarg 
142     key <AC07>   { [   U091C,    U091D   ] };  // J: ja, jha
143     key <AC08>   { [   U0915,    U0916   ] };  // K: ka, kha
144     key <AC09>   { [   U0932,    U0962   ] };  // L: la, vocalic L or lru matra`
145     key <AC10>   { [   semicolon, colon  ] }; 
146     key <AC11>   { [apostrophe, quotedbl ] };
147
148     //Z Row
149     key <AB01>   { [   U0936,    U0945   ] };  // Z: sha, akaar candra
150     key <AB02>   { [   U094D,    U0949   ] };  // X: halant, aakaar candra
151     key <AB03>   { [   U091A,    U091B   ] };  // C: ca, cha
152     key <AB04>   { [   U0921,    U0922   ] };  // V: da, dha
153     key <AB05>   { [   U092C,    U092D   ] };  // B: ba, bha
154     key <AB06>   { [   U0928,    U0923   ] };  // N: na, nha
155     key <AB07>   { [   U092E,    U093D, U092E,  U093D   ] };  // M: ma, avagraha
156     key <AB08>   { [   comma,    U0970   ] };// comma: comma, dev abbreviation sign
157     key <AB09>   { [   period,   U093C   ] };  // period: period, nukta
158     key <AB10>   { [   slash,   question ] };
159
160    // begin modifier mappings
161 //    modifier_map Shift  { Shift_L };
162 //    modifier_map Lock   { Caps_Lock };
163 //    modifier_map Control{ Control_L };
164 //    modifier_map Mod3   { Mode_switch };
165     include "level3(ralt_switch)"
166 };
167
168 // based on a keyboard map from an 'xkb/symbols/ben' file
169 //
170 // $XFree86: xc/programs/xkbcomp/symbols/ben,v 1.2 2002/11/22 04:03:28 dawes Exp $
171
172 partial alphanumeric_keys
173 xkb_symbols "ben" {
174     name[Group1]= "India - Bengali";
175
176       // Mainly numbers.
177       key <AE01> { [      0x10009E7             ]       };
178       key <AE02> { [      0x10009E8             ]       };
179       key <AE03> { [      0x10009E9             ]       };
180       key <AE04> { [      0x10009EA             ]       };
181       key <AE05> { [      0x10009EB             ]       };
182       key <AE06> { [      0x10009EC             ]       };
183       key <AE07> { [      0x10009ED             ]       };
184       key <AE08> { [      0x10009EE             ]       };
185       key <AE09> { [      0x10009EF, parenleft  ]       };
186       key <AE10> { [      0x10009E6, parenright ]       };
187       key <AE11> { [      minus, 0x1000983      ]       };
188       key <AE12> { [      0x100098B, 0x10009C3  ]       };
189
190 // Mainly long vowels
191
192       key <AD01> { [      0x10009CC,  0x1000994 ]       };
193       key <AD02> { [      0x10009C8,  0x1000990 ]       };
194       key <AD03> { [      0x10009BE,  0x1000986 ]       };
195       key <AD04> { [      0x10009C0,  0x1000988 ]       };
196       key <AD05> { [      0x10009C2,  0x100098A ]       };
197
198 // Mainly voiced consonants
199
200       key <AD06> { [      0x10009AC,  0x10009AD ]       };
201       key <AD07> { [      0x10009B9,  0x1000999 ]       };
202       key <AD08> { [      0x1000997,  0x1000998 ]       };
203       key <AD09> { [      0x10009A6,  0x10009A7 ]       };
204       key <AD10> { [      0x100099C,  0x100099D ]       };
205       key <AD11> { [      0x10009A1, 0x10009A2  ]       };
206       key <AD12> { [      0x10009BC, 0x100099E  ]       };
207
208 // Mainly short vowels
209       key <AC01> { [      0x10009CB,  0x1000993 ]       };
210       key <AC02> { [      0x10009C7,  0x100098F ]       };
211       key <AC03> { [      0x10009CD,  0x1000985 ]       };
212       key <AC04> { [      0x10009BF,  0x1000987 ]       };
213       key <AC05> { [      0x10009C1,  0x1000989 ]       };
214
215
216 // Mainly unvoiced consonants
217
218       key <AC06> { [      0x10009AA,  0x10009AB ]       };
219       key <AC07> { [      0x10009B0,  0x10009DD ]       };
220       key <AC08> { [      0x1000995,  0x1000996 ]       };
221       key <AC09> { [      0x10009A4,  0x10009A5 ]       };
222       key <AC10> { [      0x100099A,  0x100099B ]       };
223       key <AC11> { [      0x100099F, 0x10009A0  ]       };
224       key <BKSL> { [      backslash, bar        ]       };
225
226       key <AB01> { [      z, Z                  ]       };
227       key <AB02> { [      0x1000982,  0x1000981 ]       };
228       key <AB03> { [      0x10009AE,  0x10009A3 ]       };
229       key <AB04> { [      0x10009A8,  0x10009A8 ]       };
230       key <AB05> { [      0x10009AC,  0x10009AC ]       };
231       key <AB06> { [      0x10009B2,  0x10009B2 ]       };
232       key <AB07> { [      0x10009B8,  0x10009B6 ]       };
233       key <AB08> { [      comma,      0x10009B7 ]       };
234       key <AB09> { [      period,     0x1000964 ]       };
235       key <AB10> { [      0x10009DF,  0x10009AF ]       };
236 };
237
238 xkb_symbols "ben_probhat" {
239  name[Group1]= "India - Bengali Probhat";
240    key <ESC>  { [ Escape ] };
241
242 // numbers
243    key <TLDE> { [ 0x100200D, asciitilde   ] };
244    key <AE01> { [ 0x10009E7, exclam       ] };
245    key <AE02> { [ 0x10009E8, at           ] };
246    key <AE03> { [ 0x10009E9, numbersign   ] };
247    key <AE04> { [ 0x10009EA, 0x10009F3    ] };
248    key <AE05> { [ 0x10009EB, percent      ] };
249    key <AE06> { [ 0x10009EC, asciicircum  ] };
250    key <AE07> { [ 0x10009ED, 0x100099E    ] };
251    key <AE08> { [ 0x10009EE, 0x10009CE    ] };
252    key <AE09> { [ 0x10009EF, parenleft    ] };
253    key <AE10> { [ 0x10009E6, parenright   ] };
254    key <AE11> { [ minus,     underscore   ] };
255    key <AE12> { [ equal,     plus         ] };
256    key <BKSP> { [ BackSpace               ] };
257
258 // tab, q to ] 
259    key <TAB>  { [   Tab,  ISO_Left_Tab     ] };
260    key <AD01> { [   0x10009A6,  0x10009A7  ] };
261    key <AD02> { [   0x10009C2,  0x100098A  ] };
262    key <AD03> { [   0x10009C0,  0x1000988  ] };
263    key <AD04> { [   0x10009B0,  0x10009DC  ] };
264    key <AD05> { [   0x100099F,  0x10009A0  ] };
265    key <AD06> { [   0x100098F,  0x1000990  ] };
266    key <AD07> { [   0x10009C1,  0x1000989  ] };
267    key <AD08> { [   0x10009BF,  0x1000987  ] };
268    key <AD09> { [   0x1000993,  0x1000994  ] };
269    key <AD10> { [   0x10009AA,  0x10009AB  ] };
270    key <AD11> { [   0x10009C7,  0x10009C8  ] };
271    key <AD12> { [   0x10009CB,  0x10009CC  ] };
272    key <RTRN> { [   Return                 ] };
273
274 // caps, a to ' 
275 //   key <CAPS> { [   Caps_Lock              ] };
276    key <AC01> { [   0x10009BE,  0x1000985  ] };
277    key <AC02> { [   0x10009B8,  0x10009B7  ] };
278    key <AC03> { [   0x10009A1,  0x10009A2  ] };
279    key <AC04> { [   0x10009A4,  0x10009A5  ] };
280    key <AC05> { [   0x1000997,  0x1000998  ] };
281    key <AC06> { [   0x10009B9,  0x1000983  ] };
282    key <AC07> { [   0x100099C,  0x100099D  ] };
283    key <AC08> { [   0x1000995,  0x1000996  ] };
284    key <AC09> { [   0x10009B2,  0x1000982  ] };
285    key <AC10> { [   semicolon,  colon      ] };
286    key <AC11> { [   quoteright, quotedbl   ] };
287
288 // shift, z to /
289 //   key <LFSH> { [   Shift_L                ] };
290    key <AB01> { [   0x10009DF,  0x10009AF  ] };
291    key <AB02> { [   0x10009B6,  0x10009DD  ] };
292    key <AB03> { [   0x100099A,  0x100099B  ] };
293    key <AB04> { [   0x1000986,  0x100098B  ] };
294    key <AB05> { [   0x10009AC,  0x10009AD  ] };
295    key <AB06> { [   0x10009A8,  0x10009A3  ] };
296    key <AB07> { [   0x10009AE,  0x1000999  ] };
297    key <AB08> { [   comma,      0x10009C3  ] };
298    key <AB09> { [   0x1000964,  0x1000981  ] };
299    key <AB10> { [   0x10009CD,  question   ] };
300    key <BKSL> { [   0x100200C,  0x1000965  ] };
301
302 //   key <LCTL> { [   Control_L              ] };
303 //   key <SPCE> { [   space                  ] };
304
305 //   modifier_map Shift  { Shift_L };
306 //   modifier_map Lock   { Caps_Lock };
307 //   modifier_map Control{ Control_L };
308
309 };
310
311 partial alphanumeric_keys 
312 xkb_symbols "guj" {
313       name[Group1]= "India - Gujarati";
314
315       // Mainly numbers.
316       key <AE01> { [      0x1000AE7, 0x1000A8D  ]       };
317       key <AE02> { [      0x1000AE8, 0x1000AC5  ]       };
318       key <AE03> { [      0x1000AE9             ]       };
319       key <AE04> { [      0x1000AEA             ]       };
320       key <AE05> { [      0x1000AEB             ]       };
321       key <AE06> { [      0x1000AEC             ]       };
322       key <AE07> { [      0x1000AED             ]       };
323       key <AE08> { [      0x1000AEE             ]       };
324       key <AE09> { [      0x1000AEF, parenleft  ]       };
325       key <AE10> { [      0x1000AE6, parenright ]       };
326       key <AE11> { [      minus,     0x1000A83  ]       };
327       key <AE12> { [      0x1000A8B, 0x1000AC3  ]       };
328
329 // Mainly long vowels
330
331       key <AD01> { [      0x1000ACC, 0x1000A94  ]       };
332       key <AD02> { [      0x1000AC8, 0x1000A90  ]       };
333       key <AD03> { [      0x1000ABE, 0x1000A86  ]       };
334       key <AD04> { [      0x1000AC0, 0x1000A88  ]       };
335       key <AD05> { [      0x1000AC2, 0x1000A8A  ]       };
336
337 // Mainly voiced consonants
338
339       key <AD06> { [      0x1000AAC, 0x1000AAD  ]       };
340       key <AD07> { [      0x1000AB9, 0x1000A99  ]       };
341       key <AD08> { [      0x1000A97, 0x1000A98  ]       };
342       key <AD09> { [      0x1000AA6, 0x1000AA7  ]       };
343       key <AD10> { [      0x1000A9C, 0x1000A9D  ]       };
344       key <AD11> { [      0x1000AA1, 0x1000AA2  ]       };
345       key <AD12> { [      0x1000ABC, 0x1000A9E  ]       };
346
347 // Mainly short vowels
348       key <AC01> { [      0x1000ACB, 0x1000A93  ]       };
349       key <AC02> { [      0x1000AC7, 0x1000A8F  ]       };
350       key <AC03> { [      0x1000ACD, 0x1000A85  ]       };
351       key <AC04> { [      0x1000ABF, 0x1000A87  ]       };
352       key <AC05> { [      0x1000AC1, 0x1000A89  ]       };
353
354 // Mainly unvoiced consonants
355
356       key <AC06> { [      0x1000AAA, 0x1000AAB  ]       };
357       key <AC07> { [      0x1000AB0, guj_rra    ]       };
358       key <AC08> { [      0x1000A95, 0x1000A96  ]       };
359       key <AC09> { [      0x1000AA4, 0x1000AA5  ]       };
360       key <AC10> { [      0x1000A9A, 0x1000A9B  ]       };
361       key <AC11> { [      0x1000A9F, 0x1000AA0  ]       };
362       key <BKSL> { [      0x1000AC9, 0x1000A91  ]       };
363
364       key <AB01> { [      z        , Z          ]       };
365       key <AB02> { [      0x1000A82, 0x1000A81  ]       };
366       key <AB03> { [      0x1000AAE, 0x1000AA3  ]       };
367       key <AB04> { [      0x1000AA8, guj_nnna   ]       };
368       key <AB05> { [      0x1000AB5, guj_llla   ]       };
369       key <AB06> { [      0x1000AB2, 0x1000AB3  ]       };
370       key <AB07> { [      0x1000AB8, 0x1000AB6  ]       };
371       key <AB08> { [      comma,     0x1000AB7  ]       };
372       key <AB09> { [      period,    0x1000964  ]       };
373       key <AB10> { [      0x1000AAF, question   ]       };
374 };
375
376 partial alphanumeric_keys 
377 xkb_symbols "kan" {
378
379     // Inscript layout for Kannada  
380     // Author : G Karunakar <karunakar@freedomink.org>
381     // Date   : Wed Nov 13 17:22:58 IST 2002
382     // Kannada digits mapped in basic only
383
384     name[Group1]= "India - Kannada";
385
386     key <TLDE> { [  0x01000cca, 0x01000c92      ] };
387     key <AE01> { [  0x01000ce7                  ] };
388     key <AE02> { [  0x01000ce8                  ] };
389     key <AE03> { [  0x01000ce9                  ] };
390     key <AE04> { [  0x01000cea                  ] };
391     key <AE05> { [  0x01000ceb                  ] };
392     key <AE06> { [  0x01000cec                  ] };
393     key <AE07> { [  0x01000ced                  ] };
394     key <AE08> { [  0x01000cee                  ] };
395     key <AE09> { [  0x01000cef                  ] };
396     key <AE10> { [  0x01000ce6                  ] };
397     key <AE11> { [  0x01000c83                  ] };
398     key <AE12> { [  0x01000cc3, 0x01000c8b      ] };
399
400     key <AD01> { [  0x01000ccc, 0x01000c94      ] };
401     key <AD02> { [  0x01000cc8, 0x01000c90      ] };
402     key <AD03> { [  0x01000cbe, 0x01000c86      ] };
403     key <AD04> { [  0x01000cc0, 0x01000c88      ] };
404     key <AD05> { [  0x01000cc2, 0x01000c8a      ] };
405     key <AD06> { [  0x01000cac, 0x01000cad      ] };
406     key <AD07> { [  0x01000cb9, 0x01000c99      ] };
407     key <AD08> { [  0x01000c97, 0x01000c98      ] };
408     key <AD09> { [  0x01000ca6, 0x01000ca7      ] };
409     key <AD10> { [  0x01000c9c, 0x01000c9d      ] };
410     key <AD11> { [  0x01000ca1, 0x01000ca2      ] };
411     key <AD12> { [  0x01000cbc, 0x01000c9e      ] };
412  
413     key <AC01> { [  0x01000ccb, 0x01000c93      ] };
414     key <AC02> { [  0x01000cc7, 0x01000c8f      ] };
415     key <AC03> { [  0x01000ccd, 0x01000c85      ] };
416     key <AC04> { [  0x01000cbf, 0x01000c87      ] };
417     key <AC05> { [  0x01000cc1, 0x01000c89      ] };
418     key <AC06> { [  0x01000caa, 0x01000cab      ] };
419     key <AC07> { [  0x01000cb0, 0x01000cb1      ] };
420     key <AC08> { [  0x01000c95, 0x01000c96      ] };
421     key <AC09> { [  0x01000ca4, 0x01000ca5      ] };
422     key <AC10> { [  0x01000c9a, 0x01000c9b      ] };
423     key <AC11> { [  0x01000c9f, 0x01000ca0      ] };
424
425     key <AB01> { [  0x01000cc6, 0x01000c8e      ] };
426     key <AB02> { [  0x01000c82                  ] };
427     key <AB03> { [  0x01000cae, 0x01000ca3      ] };
428     key <AB04> { [  0x01000ca8                  ] };
429     key <AB05> { [  0x01000cb5, 0x01000cb4      ] };
430     key <AB06> { [  0x01000cb2, 0x01000cb3      ] };
431     key <AB07> { [  0x01000cb8, 0x01000cb6      ] };
432     key <AB08> { [  comma     , 0x01000cb7      ] };
433     key <AB09> { [  period                              ] };
434     key <AB10> { [  0x01000caf, 0x01000040      ] };
435
436     key <RALT> {
437         symbols[Group1] = [ Mode_switch, Multi_key ],
438         virtualMods = AltGr
439     };
440
441 };
442
443 // Description : A keymap for Malayalam
444 // Encoding    : Unicode (http://www.unicode.org)
445 // Author      : Baiju M <baiju@freeshell.org>
446 // Date        : Sat Aug  17 21:10:48 IST 2002
447 // Mapping:
448
449 partial alphanumeric_keys 
450 xkb_symbols "mal" {
451
452     name[Group1] = "India - Malayalam";
453
454     //From grave to backslash (\)
455     
456     key <TLDE> { [ 0x01000d4a , 0x01000d12           ] };
457
458 // svu: 
459 // These lines were in former "mal" variant - 
460 // but the digits are replaced with the ones from 'mal_plusnum' -
461 // for the integrity of all Indian layouts
462 //
463 //    key <AE01> { [1           ,     exclam           ] }; 
464 //    key <AE02> { [2           ,         at           ] };
465 //    key <AE03> { [3           , numbersign           ] };
466 //    key <AE04> { [4           ,     dollar           ] };
467 //    key <AE05> { [5           ,    percent           ] };
468 //    key <AE06> { [6           ,asciicircum           ] };
469 //    key <AE07> { [7           ,  ampersand           ] };
470 //    key <AE08> { [8           , asterisk           ] };
471 //    key <AE09> { [9           ,  parenleft           ] };
472 //    key <AE10> { [0           , parenright           ] };
473
474       key <AE01> { [ 0x01000d67 ,      exclam ] };
475       key <AE02> { [ 0x01000d68 ,          at ] };
476       key <AE03> { [ 0x01000d69 ,  numbersign ] };
477       key <AE04> { [ 0x01000d6a ,      dollar ] };
478       key <AE05> { [ 0x01000d6b ,     percent ] };
479       key <AE06> { [ 0x01000d6c , asciicircum ] };
480       key <AE07> { [ 0x01000d6d ,   ampersand ] };
481       key <AE08> { [ 0x01000d6e ,  asterisk ] };
482       key <AE09> { [ 0x01000d6f ,   parenleft ] };
483       key <AE10> { [ 0x01000d66 ,  parenright ] };
484
485     key <AE11> { [ minus      , 0x01000d03           ] };
486     key <AE12> { [ 0x01000d43 , 0x01000d0b           ] };
487     key <BKSL>  { [0x0100200c, backlash ]};//bksl: ZWNJ 
488
489   
490     // From 'q' to right bracket (])
491     
492     key <AD01> { [ 0x01000d4c , 0x01000d14 ] };
493     key <AD02> { [ 0x01000d48 , 0x01000d10 ] };
494     key <AD03> { [ 0x01000d3e , 0x01000d06 ] };
495     key <AD04> { [ 0x01000d40 , 0x01000d08 ] };
496     key <AD05> { [ 0x01000d42 , 0x01000d0a ] };
497     key <AD06> { [ 0x01000d2c , 0x01000d2d ] };
498     key <AD07> { [ 0x01000d39 , 0x01000d19 ] };
499     key <AD08> { [ 0x01000d17 , 0x01000d18 ] };
500     key <AD09> { [ 0x01000d26 , 0x01000d27 ] };
501     key <AD10> { [ 0x01000d1c , 0x01000d1d ] };
502     key <AD11> { [ 0x01000d21 , 0x01000d22 ] };
503     key <AD12> { [ 0x0100200d , 0x01000d1e ] };
504
505     // From 'a' to apostrophe (')
506     
507     key <AC01> { [ 0x01000d4b , 0x01000d13 ] };
508     key <AC02> { [ 0x01000d47 , 0x01000d0f ] };
509     key <AC03> { [ 0x01000d4d , 0x01000d05 ] };
510     key <AC04> { [ 0x01000d3f , 0x01000d07 ] };
511     key <AC05> { [ 0x01000d41 , 0x01000d09 ] };
512     key <AC06> { [ 0x01000d2a , 0x01000d2b ] };
513     key <AC07> { [ 0x01000d30 , 0x01000d31 ] };
514     key <AC08> { [ 0x01000d15 , 0x01000d16 ] };
515     key <AC09> { [ 0x01000d24 , 0x01000d25 ] };
516     key <AC10> { [ 0x01000d1a , 0x01000d1b ] };
517     key <AC11> { [ 0x01000d1f , 0x01000d20 ] };
518     
519     // From 'z' to slash (/)
520     
521     key <AB01> { [ 0x01000d46 , 0x01000d0e ] };
522     key <AB02> { [ 0x01000d02 , 0x0100200b ] };//X:ZWSP
523     key <AB03> { [ 0x01000d2e , 0x01000d23 ] };
524     key <AB04> { [ 0x01000d28 ] };
525     key <AB05> { [ 0x01000d35 , 0x01000d34 ] };
526     key <AB06> { [ 0x01000d32 , 0x01000d33 ] };
527     key <AB07> { [ 0x01000d38 , 0x01000d36 ] };
528     key <AB08> { [ comma      , 0x01000d37 ] };
529     key <AB09> { [ period     , 0x0100200d ] };
530     key <AB10> { [ 0x01000d2f , question   ] };
531
532 };
533
534 //Name          :       Lalitha
535 //Description   :       A transliteration keyboard layout for Malayalam
536 //Original Author :     Noah Levitt<nlevitt at columbia.edu>
537 //Current Main  :       Jinesh K.J<jinesh.k@gmail.com>, Swathantra Malayalam Computing (SMC)<smc-discuss@googlegroups.com>
538
539 partial alphanumeric_keys
540 xkb_symbols "mal_lalitha" {
541      name[Group1] = "India - Malayalam Lalitha";
542      key.type="FOUR_LEVEL";
543     //Top Alphanumeric row
544     // Roman digits
545     key <TLDE>  { [   U0D4D,    U0D02,          apostrophe,     asciitilde ] }; // apostrophe: virama(chandrakala),anusvara
546     key <AE01>  { [   1,        exclam, U0D67,          exclam     ] };
547     key <AE02>  { [   2,        at,             U0D68,          at         ] };
548     key <AE03>  { [   3,        numbersign,     U0D69,          numbersign ] };
549     key <AE04>  { [   4,        dollar,         U0D6A,          dollar     ] };
550     key <AE05>  { [   5,        percent,        U0D6B,          percent    ] };
551     key <AE06>  { [   6,        asciicircum,    U0D6C,          asciicircum ] };
552     key <AE07>  { [   7,        ampersand,      U0D6D,          ampersand  ] };
553     key <AE08>  { [   8,        asterisk,       U0D6E,          asterisk   ] };
554     key <AE09>  { [   9,        parenleft,      U0D6F,          parenleft  ] };
555     key <AE10>  { [   0,        parenright,     U0D66,          parenright ] };
556     key <AE11>  { [   minus,    underscore           ] };
557     key <AE12>  { [   equal,    plus                 ] };
558     key <BKSL>  { [   U005C,    U007C,          U200C   ] };//backlash:pipe,backlash,ZWNJ 
559
560     //Q Row     
561     key <AD01>   { [   U0D48,   U0D4C,  U0D10,  U0D14  ] }; // Q: ai and au matras 
562     key <AD02>   { [   U0D35    ] };  // W: wa, OM
563     key <AD03>   { [   U0D46,   U0D47,  U0D0E,  U0D0F   ] };  // E: e,ee matras
564     key <AD04>   { [   U0D30,   U0D31,  U0D43,  U0D0B   ] };  // R: ra,rra, vocalic Ri
565     key <AD05>   { [   U0D24,   U0D25,  U0D1F,  U0D20   ] };  // T: tha, ttha,ta,tta
566     key <AD06>   { [   U0D2f    ] };  // Y: ya
567     key <AD07>   { [   U0D41,   U0D42,  U0D09,  U0D0A   ] };  // U: u, uu matras
568     key <AD08>   { [   U0D3F,   U0D40,  U0D07,  U0D08   ] };  // I: i, ii matras
569     key <AD09>   { [   U0D4A,   U0D4B,  U0D12,  U0D13   ] };  // O: o, oo matras
570     key <AD10>   { [   U0D2A   ] };  // P: pa
571     key <AD11>   { [   bracketleft,   braceleft   ] };//braceleft:   
572     key <AD12>   { [   bracketright, braceright   ] };//braceright:
573     
574     //A Row
575     key <AC01>   { [   U0D3E,    U0D05, U0D06,  U0D05  ] };   // A: a,aa
576     key <AC02>   { [   U0D38,    U0D37   ] };  // S: sa, ssa
577     key <AC03>   { [   U0D26,    U0D27, U0D21,  U0D22   ] };  // D: soft da,soft dda,hard da,hard dda,
578     key <AC04>   { [   U0D2B     ] };  // F: pha
579     key <AC05>   { [   U0D17,    U0D18   ] };  // G: ga, gha
580     key <AC06>   { [   U0D39,    U0D03   ] };  // H: ha, visarg 
581     key <AC07>   { [   U0D1C,    U0D1D   ] };  // J: ja, jha
582     key <AC08>   { [   U0D15,    U0D16   ] };  // K: ka, kha
583     key <AC09>   { [   U0D32,    U0D33   ] };  // L: la, vocalic L or lru matra`
584     key <AC10>   { [   semicolon, colon  ] }; 
585     key <AC11>   { [apostrophe, quotedbl ] };
586
587     //Z Row
588     key <AB01>   { [   U0D34,    U0D36   ] };  // Z: sha,zha
589     key <AB02>   { [   U0D4D,    U200B  ] };  // X: chandrakala,ZWSP
590     key <AB03>   { [   U0D1A,    U0D1B   ] };  // C: ca, cha
591     key <AB04>   { [   U0D35,    U200D  ] };  // V: va,ZWJ
592     key <AB05>   { [   U0D2C,    U0D2D   ] };  // B: ba, bha
593     key <AB06>   { [   U0D28,    U0D23, U0D19,  U0D1E   ] };  // N: na, hard na,nga,nha
594     key <AB07>   { [   U0D2E,    U0D02  ] };  // M: ma
595     key <AB08>   { [   comma,    U003C ] };// comma: comma
596     key <AB09>   { [   period,   U003E ] };  // period: period
597     key <AB10>   { [   slash,   question ] };
598
599    // begin modifier mappings
600 //    modifier_map Shift  { Shift_L };
601 //    modifier_map Lock   { Caps_Lock };
602 //    modifier_map Control{ Control_L };
603 //    modifier_map Mod3   { Mode_switch };
604     include "level3(ralt_switch)"
605 };
606
607
608 partial alphanumeric_keys 
609 xkb_symbols "ori" {
610     // Inscript layout for Oriya  
611     // Author: G Karunakar <karunakar@freedomink.org>
612     // Date: Wed Nov 13 18:16:19 IST 2002
613
614     name[Group1]= "India - Oriya";
615     
616     key <AE01> { [  0x01000b67                  ] };
617     key <AE02> { [  0x01000b68                  ] };
618     key <AE03> { [  0x01000b69                  ] };
619     key <AE04> { [  0x01000b6a                  ] };
620     key <AE05> { [  0x01000b6b                  ] };
621     key <AE06> { [  0x01000b6c                  ] };
622     key <AE07> { [  0x01000b6d                  ] };
623     key <AE08> { [  0x01000b6e                  ] };
624     key <AE09> { [  0x01000b6f                  ] };
625     key <AE10> { [  0x01000b66                  ] };
626     key <AE11> { [  0x01000b03                  ] };
627     key <AE12> { [  0x01000b43, 0x01000b0b      ] };
628
629     key <AD01> { [  0x01000b4c, 0x01000b14      ] };
630     key <AD02> { [  0x01000b48, 0x01000b10      ] };
631     key <AD03> { [  0x01000b3e, 0x01000b06      ] };
632     key <AD04> { [  0x01000b40, 0x01000b08      ] };
633     key <AD05> { [  0x01000b42, 0x01000b0a      ] };
634     key <AD06> { [  0x01000b2c, 0x01000b2d      ] };
635     key <AD07> { [  0x01000b39, 0x01000b19      ] };
636     key <AD08> { [  0x01000b17, 0x01000b18      ] };
637     key <AD09> { [  0x01000b26, 0x01000b27      ] };
638     key <AD10> { [  0x01000b1c, 0x01000b1d      ] };
639     key <AD11> { [  0x01000b21, 0x01000b22      ] };
640     key <AD12> { [  0x01000b3c, 0x01000b1e      ] };
641  
642     key <AC01> { [  0x01000b4b, 0x01000b13      ] };
643     key <AC02> { [  0x01000b47, 0x01000b0f      ] };
644     key <AC03> { [  0x01000b4d, 0x01000b05      ] };
645     key <AC04> { [  0x01000b3f, 0x01000b07      ] };
646     key <AC05> { [  0x01000b41, 0x01000b09      ] };
647     key <AC06> { [  0x01000b2a, 0x01000b2b      ] };
648     key <AC07> { [  0x01000b30                  ] };
649     key <AC08> { [  0x01000b15, 0x01000b16      ] };
650     key <AC09> { [  0x01000b24, 0x01000b25      ] };
651     key <AC10> { [  0x01000b1a, 0x01000b1b      ] };
652     key <AC11> { [  0x01000b1f, 0x01000b20      ] };
653  
654     key <AB02> { [  0x01000b02, 0x01000b01      ] };
655     key <AB03> { [  0x01000b2e, 0x01000b23      ] };
656     key <AB04> { [  0x01000b28                  ] };
657     key <AB05> { [  0x01000b35                  ] };
658     key <AB06> { [  0x01000b32, 0x01000b33      ] };
659     key <AB07> { [  0x01000b38, 0x01000b36      ] };
660     key <AB08> { [  comma     , 0x01000b37      ] };
661     key <AB09> { [  period                              ] };
662     key <AB10> { [  0x01000b2f, 0x01000040      ] };
663
664     key <RALT> {
665         symbols[Group1] = [ Mode_switch, Multi_key ],
666         virtualMods = AltGr
667     };
668 };
669
670 // based on a keyboard map from an 'xkb/symbols/tml' file
671 //
672 // $XFree86: xc/programs/xkbcomp/symbols/tml,v 1.2 2002/11/22 04:03:28 dawes Exp $
673 // INSCRIPT
674 partial alphanumeric_keys 
675 xkb_symbols "tam" {
676       name[Group1]= "India - Tamil";
677
678       key <TLDE> { [      0x1000BCA, 0x1000B92  ]       };
679
680       // Mainly numbers.
681       key <AE01> { [      0x1000BE7             ]       };
682       key <AE02> { [      0x1000BE8             ]       };
683       key <AE03> { [      0x1000BE9             ]       };
684       key <AE04> { [      0x1000BEA             ]       };
685       key <AE05> { [      0x1000BEB             ]       };
686       key <AE06> { [      0x1000BEC             ]       };
687       key <AE07> { [      0x1000BED             ]       };
688       key <AE08> { [      0x1000BEE             ]       };
689       key <AE09> { [      0x1000BEF, parenleft  ]       };
690       key <AE10> { [      0x1000BF0, parenright ]       };
691       key <AE11> { [      0x1000BF1, 0x1000B83  ]       };
692       key <AE12> { [      0x1000BF2, plus       ]       };
693
694 // Mainly long vowels
695
696       key <AD01> { [      0x1000BCC,  0x1000B94 ]       };
697       key <AD02> { [      0x1000BC8,  0x1000B90 ]       };
698       key <AD03> { [      0x1000BBE,  0x1000B86 ]       };
699       key <AD04> { [      0x1000BC0,  0x1000B88 ]       };
700       key <AD05> { [      0x1000BC2,  0x1000B8A ]       };
701
702 // Mainly voiced consonants
703
704       key <AD07> { [      0x1000BB9, 0x1000B99  ]       };
705       key <AD12> { [      0x1000B9E                             ]       };
706
707 // Mainly short vowels
708       key <AC01> { [      0x1000BCB,  0x1000B93 ]       };
709       key <AC02> { [      0x1000BC7,  0x1000B8F ]       };
710       key <AC03> { [      0x1000BCD,  0x1000B85 ]       };
711       key <AC04> { [      0x1000BBF,  0x1000B87 ]       };
712       key <AC05> { [      0x1000BC1,  0x1000B89 ]       };
713
714 // Mainly unvoiced consonants
715
716       key <AC06> { [      0x1000BAA             ]       };
717       key <AC07> { [      0x1000BB0,  0x1000BB1 ]       };
718       key <AC08> { [      0x1000B95             ]       };
719       key <AC09> { [      0x1000BA4             ]       };
720       key <AC10> { [      0x1000B9A             ]       };
721       key <AC11> { [      0x1000B9F             ]       };
722       key <BKSL> { [      backslash, bar        ]       };
723
724       key <AB01> { [      0x1000BC6,  0x1000B8E ]       };
725       key <AB02> { [      0x1000B82             ]       };
726       key <AB03> { [      0x1000BAE,  0x1000BA3 ]       };
727       key <AB04> { [      0x1000BA8,  0x1000BA9 ]       };
728       key <AB05> { [      0x1000BB5,  0x1000BB4 ]       };
729       key <AB06> { [      0x1000BB2,  0x1000BB3 ]       };
730       key <AB07> { [      0x1000BB8             ]       };
731       key <AB08> { [      comma,      0x1000BB7 ]       };
732       key <AB09> { [      period,     0x1000964 ]       };
733       key <AB10> { [      0x1000BAF,  question  ]       };
734 };
735
736 partial alphanumeric_keys 
737 xkb_symbols "tam_unicode" {
738
739 // Description: A keymap based on the TamilNet'99 typewriter keyboard 
740 // Encoding: Unicode (http://www.unicode.org)
741 // Author: Thuraiappah Vaseeharan <vasee@ieee.org>
742 // Date  : Sat Feb  9 21:10:48 CST 2002
743 // Mapping:
744   
745     name[Group1]= "India - Tamil Unicode";
746
747     // granthas
748     key <AE01> {  [ 0x1000b83 ] } ;
749     key <AE03> {  [ 0x1000b9c ] } ;
750     key <AE04> {  [ 0x1000bb7 ] } ;
751     key <AE05> {  [ 0x1000bb8 ] } ;
752     key <AE06> {  [ 0x1000bb9 ] } ;
753         
754     // Qrow
755     key <AD01> {  [ 0x1000b9e ] };
756     key <AD02> {  [ 0x1000bb1 ] };
757     key <AD03> {  [ 0x1000ba8 ] };
758     key <AD04> {  [ 0x1000b9a ] };
759     key <AD05> {  [ 0x1000bb5 ] };
760     key <AD06> {  [ 0x1000bb2 ] };
761     key <AD07> {  [ 0x1000bb0 ] };
762     key <AD08> {  [ 0x1000bc8, 0x1000b90 ] };
763     key <AD09> {  [ 0x1000bca, 0x1000bcb ] };
764     key <AD10> {  [ 0x1000bbf, 0x1000bc0 ] };
765     key <AD11> {  [ 0x1000bc1, 0x1000bc2 ] };
766
767     // Arow
768     key <AC01> { [ 0x1000baf ] };
769     key <AC02> { [ 0x1000bb3 ] };
770     key <AC03> { [ 0x1000ba9 ] };
771     key <AC04> { [ 0x1000b95 ] };
772     key <AC05> { [ 0x1000baa ] };
773     key <AC06> { [ 0x1000bbe, 0x1000bb4 ] };
774     key <AC07> { [ 0x1000ba4 ] };
775     key <AC08> { [ 0x1000bae ] };
776     key <AC09> { [ 0x1000b9f ] };
777     key <AC10> { [ 0x1000bcd ] };
778     key <AC11> { [ 0x1000b99 ] };
779     
780     // Zrow
781     key <AB01> { [ 0x1000ba3 ]  };
782     key <AB02> { [ 0x1000b92, 0x1000b93 ]  };
783     key <AB03> { [ 0x1000b89, 0x1000b8a ]  };
784     key <AB04> { [ 0x1000b8e, 0x1000b8f ]  };
785     key <AB05> { [ 0x1000bc6, 0x1000bc7 ]  };
786     key <AB06> { [ 0x1000b94, 0x1000bcc ]  };
787     key <AB07> { [ 0x1000b85, 0x1000b86 ]  };
788     key <AB08> { [ 0x1000b87, 0x1000b88 ]  };
789 };
790
791 partial alphanumeric_keys 
792 xkb_symbols "tam_TSCII" {
793
794 // Description  : A Tamil typewrite-style keymap 
795 //                loosely based on TamilNet'99 reommendations 
796 // Encoding     : TSCII (http://www.tscii.org)
797 // Author       : Thuraiappah Vaseeharan <vasee@ieee.org>
798 // Last Modified: Sat Jan  5 17:11:26 CST 2002
799
800     name[Group1]= "India - Tamil TSCII Typewriter";
801
802     key <AE01> {  [ 0x10000b7, 0x10000a4 ] }; // aytham
803     key <AE02> {  [ 0x1000082, 0x10000a5 ] }; // shri
804     key <AE03> {  [ 0x1000083, 0x1000088 ] }; // ja
805     key <AE04> {  [ 0x1000084, 0x1000089 ] }; // sha
806     key <AE05> {  [ 0x1000085, 0x100008a ] }; // sa
807     key <AE06> {  [ 0x1000086, 0x100008b ] }; // ha
808     key <AE07> {  [ 0x1000087, 0x100008c ] }; // ksha
809         
810     // Qrow
811     key <AD01> {  [ 0x10000bb, 0x100009a ] }; // nja
812     key <AD02> {  [ 0x10000c8, 0x10000da ] }; // Ra
813     key <AD03> {  [ 0x10000bf, 0x10000d1 ] }; // NNa
814     key <AD04> {  [ 0x10000ba, 0x10000cd ] }; // ca
815     key <AD05> {  [ 0x10000c5, 0x10000d7 ] }; // va
816     key <AD06> {  [ 0x10000c4, 0x10000d6 ] }; // la
817     key <AD07> {  [ 0x10000c3, 0x10000d5 ] }; // ra
818     key <AD08> {  [ 0x10000a8, 0x10000b3 ] }; // sangili, ai
819     key <AD09> {  [ 0x10000ca, 0x10000cb ] }; // di, dI
820     key <AD10> {  [ 0x10000a2, 0x10000a3 ] }; // visiri
821     key <AD11> {  [ dead_acute, 0x10000a3 ] }; // Ukaaram
822
823     // Arow
824     key <AC01> { [ 0x10000c2, 0x10000d4 ] }; // ya
825     key <AC02> { [ 0x10000c7, 0x10000d9 ] }; // La
826     key <AC03> { [ 0x10000c9, 0x10000db ] }; // na
827     key <AC04> { [ 0x10000b8, 0x10000cc ] }; // ka
828     key <AC05> { [ 0x10000c0, 0x10000d2 ] }; // pa
829     key <AC06> { [ dead_grave,0x10000a1 ] }; // pulli,aravu
830     key <AC07> { [ 0x10000be, 0x10000d0 ] }; // tha
831     key <AC08> { [ 0x10000c1, 0x10000d3 ] }; // ma
832     key <AC09> { [ 0x10000bc, 0x10000ce ] }; // da
833     key <AC10> { [ 0x10000c6, 0x10000d8 ] }; // zha
834     key <AC11> { [ 0x10000b9, 0x1000099 ] }; // nga
835     
836     // Zrow
837     key <AB01> { [ 0x10000bd, 0x10000cf ] }; // Na
838     key <AB02> { [ 0x10000b4, 0x10000b5 ] }; // o, O
839     key <AB03> { [ 0x10000af, 0x10000b0 ] }; // u, U
840     key <AB04> { [ 0x10000b1, 0x10000b2 ] }; // e, E
841     key <AB05> { [ 0x10000a6, 0x10000a7 ] }; // kombus
842     key <AB06> { [ 0x10000b6, 0x10000aa ] }; // au
843     key <AB07> { [ 0x10000ab, 0x10000ac ] }; // a, A
844     key <AB08> { [ 0x10000fe, 0x10000ae ] }; // i, I
845
846 };
847
848 partial alphanumeric_keys 
849 xkb_symbols "tam_TAB" {
850
851 // Description: A keymap based on the TamilNet'99 typewriter keyboard 
852 // Encoding: TAB (http://www.tamilnet99.org)
853 // Author: Thuraiappah Vaseeharan <t_vasee@yahoo.com>
854 // Date  : Sun Aug 12 02:23:00 CDT 2001
855
856     name[Group1]= "India - Tamil TAB Typewriter";
857
858     // numeral row
859     key <AE01> {  [ 0x10000e7, 0x10000a7 ] } ;
860     key <AE02> {  [ 0x10000fa, 0x10000a8 ] } ;
861     key <AE03> {  [ 0x10000fb ] } ;
862     key <AE04> {  [ 0x10000fc ] } ;
863     key <AE05> {  [ 0x10000fd ] } ;
864     key <AE06> {  [ 0x10000fe ] } ;
865     key <AE07> {  [ 0x10000ff ] } ;
866         
867     // q-row
868     key <AD01> {  [ 0x10000eb, 0x10000b3 ] };
869     key <AD02> {  [ 0x10000f8, 0x10000c1 ] };
870     key <AD03> {  [ 0x10000ef, 0x10000b8 ] };
871     key <AD04> {  [ 0x10000ea, 0x10000b2 ] };
872     key <AD05> {  [ 0x10000f5, 0x10000be ] };
873     key <AD06> {  [ 0x10000f4, 0x10000bd ] };
874     key <AD07> {  [ 0x10000f3, 0x10000bc ] };
875     key <AD08> {  [ 0x10000ac, 0x10000e4 ] };
876     key <AD09> {  [ 0x10000ae, 0x10000af ] };
877     key <AD10> {  [ 0x10000a4, 0x10000a6 ] };
878     key <AD11> {  [ dead_circumflex, 0x10000a6 ] }; // Ukaaram
879
880     // a-row
881     key <AC01> {  [ 0x10000f2, 0x10000bb ] };
882     key <AC02> {  [ 0x10000f7, 0x10000c0 ] };
883     key <AC03> {  [ 0x10000f9, 0x10000c2 ] };
884     key <AC04> {  [ 0x10000e8, 0x10000b0 ] };
885     key <AC05> {  [ 0x10000f0, 0x10000b9 ] };
886     key <AC06> {  [ 0x10000a2, 0x10000a3 ] };
887     key <AC07> {  [ 0x10000ee, 0x10000b6 ] };
888     key <AC08> {  [ 0x10000f1, 0x10000ba ] };
889     key <AC09> {  [ 0x10000ec, 0x10000b4 ] };
890     key <AC10> {  [ 0x10000f6, 0x10000bf ] };
891     key <AC11> {  [ 0x10000e9, 0x10000b1 ] };
892     
893     // z-row
894     key <AB01> {  [ 0x10000ed, 0x10000b5 ] };
895     key <AB02> {  [ 0x10000e5, 0x10000e6 ] };
896     key <AB03> {  [ 0x10000e0, 0x10000e1 ] };
897     key <AB04> {  [ 0x10000e2, 0x10000e3 ] };
898     key <AB05> {  [ 0x10000aa, 0x10000ab ] };
899     key <AB06> {  [ 0x10000ac, 0x10000a3 ] };
900     key <AB07> {  [ 0x10000dc, 0x10000dd ] };
901     key <AB08> {  [ 0x10000de, 0x10000df ] };
902 };
903
904 partial alphanumeric_keys 
905 xkb_symbols "tel" {
906
907     // Inscript layout for Telugu using Unicode 
908     // Author: G Karunakar <karunakar@freedomink.org>
909     // Date:
910     // See layout at http://www.indlinux.org/keymap/telugu.php
911
912     name[Group1]= "India - Telugu";
913
914     key <TLDE> { [  0x01000c4a, 0x01000c12      ] };
915     key <AE01> { [  0x01000c67                  ] };
916     key <AE02> { [  0x01000c68                  ] };
917     key <AE03> { [  0x01000c69, numbersign      ] };
918     key <AE04> { [  0x01000c6a, dollar          ] };
919     key <AE05> { [  0x01000c6b, percent         ] };
920     key <AE06> { [  0x01000c6c, asciicircum     ] };
921     key <AE07> { [  0x01000c6d, ampersand       ] };
922     key <AE08> { [  0x01000c6e, asterisk        ] };
923     key <AE09> { [  0x01000c6f, parenleft       ] };
924     key <AE10> { [  0x01000c66, parenright      ] };
925     key <AE11> { [  0x01000c03, underscore      ] };
926     key <AE12> { [  0x01000c43, 0x01000c0b      ] };
927     key <BKSP> { [  BackSpace                   ] };    
928  
929     key <AD01> { [  0x01000c4c, 0x01000c14      ] };
930     key <AD02> { [  0x01000c48, 0x01000c10      ] };
931     key <AD03> { [  0x01000c3e, 0x01000c06      ] };
932     key <AD04> { [  0x01000c40, 0x01000c08      ] };
933     key <AD05> { [  0x01000c42, 0x01000c0a      ] };
934     key <AD06> { [  0x01000c2c, 0x01000c2d      ] };
935     key <AD07> { [  0x01000c39, 0x01000c19      ] };
936     key <AD08> { [  0x01000c17, 0x01000c18      ] };
937     key <AD09> { [  0x01000c26, 0x01000c27      ] };
938     key <AD10> { [  0x01000c1c, 0x01000c1d      ] };
939     key <AD11> { [  0x01000c21, 0x01000c22      ] };
940     key <AD12> { [  0x01000c1e                  ] };
941   
942     key <AC01> { [  0x01000c4b, 0x01000c13      ] };
943     key <AC02> { [  0x01000c47, 0x01000c0f      ] };
944     key <AC03> { [  0x01000c4d, 0x01000c05      ] };
945     key <AC04> { [  0x01000c3f, 0x01000c07      ] };
946     key <AC05> { [  0x01000c41, 0x01000c09      ] };
947     key <AC06> { [  0x01000c2a, 0x01000c2b      ] };
948     key <AC07> { [  0x01000c30, 0x01000c31      ] };
949     key <AC08> { [  0x01000c15, 0x01000c16      ] };
950     key <AC09> { [  0x01000c24, 0x01000c25      ] };
951     key <AC10> { [  0x01000c1a, 0x01000c1b      ] };
952     key <AC11> { [  0x01000c1f, 0x01000c20      ] };
953  
954     key <AB01> { [  0x01000c46, 0x01000c0e      ] };
955     key <AB02> { [  0x01000c02, 0x01000c01      ] };
956     key <AB03> { [  0x01000c2e, 0x01000c23      ] };
957     key <AB04> { [  0x01000c28                  ] };
958     key <AB05> { [  0x01000c35                  ] };
959     key <AB06> { [  0x01000c32, 0x01000c33      ] };
960     key <AB07> { [  0x01000c38, 0x01000c36      ] };
961     key <AB08> { [  comma     , 0x01000c37      ] };
962     key <AB09> { [  period                              ] };
963     key <AB10> { [  0x01000c2f, 0x01000040      ] };
964
965     key <RALT> {        
966         symbols[Group1] = [ Mode_switch, Multi_key ],
967         virtualMods = AltGr
968     };
969 };
970
971 partial alphanumeric_keys 
972 xkb_symbols "urd" {
973     include "pk(urd)"
974     name[Group1]= "India - Urdu";
975 };
976
977 // based on a keyboard map from an 'xkb/symbols/gur' file
978
979 partial alphanumeric_keys
980 xkb_symbols "guru" {
981       name[Group1]= "India - Gurmukhi";
982
983       // Mainly numbers.
984       key <AE01> { [      0x1000A67             ]       };
985       key <AE02> { [      0x1000A68             ]       };
986       key <AE03> { [      0x1000A69             ]       };
987       key <AE04> { [      0x1000A6A             ]       };
988       key <AE05> { [      0x1000A6B             ]       };
989       key <AE06> { [      0x1000A6C             ]       };
990       key <AE07> { [      0x1000A6D             ]       };
991       key <AE08> { [      0x1000A6e             ]       };
992       key <AE09> { [      0x1000A6F, parenleft  ]       };
993       key <AE10> { [      0x1000A66, parenright ]       };
994       key <AE11> { [      gur_visarga           ]       };
995       key <AE12> { [      gur_v_r, gur_v_r_s    ]       };
996
997 // Mainly long vowels
998
999       key <AD01> { [      0x1000A4C, 0x1000A14  ]       };
1000       key <AD02> { [      0x1000A48, 0x1000A10  ]       };
1001       key <AD03> { [      0x1000A3E, 0x1000A06  ]       };
1002       key <AD04> { [      0x1000A40, 0x1000A08  ]       };
1003       key <AD05> { [      0x1000A42, 0x1000A0A  ]       };
1004
1005 // Mainly voiced consonants
1006
1007       key <AD06> { [      0x1000A2C, 0x1000A2D  ]       };
1008       key <AD07> { [      0x1000A39, 0x1000A19  ]       };
1009       key <AD08> { [      0x1000A17, 0x1000A18  ]       };
1010       key <AD09> { [      0x1000A26, 0x1000A27  ]       };
1011       key <AD10> { [      0x1000A1C, 0x1000A1D  ]       };
1012       key <AD11> { [      0x1000A21, 0x1000A22  ]       };
1013       key <AD12> { [      0x1000A3C, 0x1000A1E  ]       };
1014
1015 // Mainly short vowels
1016       key <AC01> { [      0x1000A4B, 0x1000A13  ]       };
1017       key <AC02> { [      0x1000A47, 0x1000A0F  ]       };
1018       key <AC03> { [      0x1000A4D, 0x1000A05  ]       };
1019       key <AC04> { [      0x1000A3F, 0x1000A07  ]       };
1020       key <AC05> { [      0x1000A41, 0x1000A09  ]       };
1021
1022 // Mainly unvoiced consonants
1023
1024       key <AC06> { [      0x1000A2A, 0x1000A2B  ]       };
1025       key <AC07> { [      0x1000A30, 0x1000A30  ]       };
1026       key <AC08> { [      0x1000A15, 0x1000A16  ]       };
1027       key <AC09> { [      0x1000A24, 0x1000A25  ]       };
1028       key <AC10> { [      0x1000A1A, 0x1000A1B  ]       };
1029       key <AC11> { [      0x1000A1F, 0x1000A20  ]       };
1030       key <BKSL> { [      backslash, bar        ]       };
1031
1032       key <AB01> { [              z, Z          ]       };
1033       key <AB02> { [      0x1000A02, 0x1000A70  ]       };
1034       key <AB03> { [      0x1000A2E, 0x1000A23  ]       };
1035       key <AB04> { [      0x1000A28, 0x1000A28  ]       };
1036       key <AB05> { [      0x1000A35, 0x1000A35  ]       };
1037       key <AB06> { [      0x1000A32, 0x1000A33  ]       };
1038       key <AB07> { [      0x1000A38, 0x1000A36  ]       };
1039       key <AB08> { [      comma,     less       ]       };
1040       key <AB09> { [      period,    0x1000964  ]       };
1041       key <AB10> { [      0x1000A2F, question   ]       };
1042 };
1043
1044 partial alphanumeric_keys
1045 xkb_symbols "olpc" {
1046
1047 // Contact: Walter Bender <walter@laptop.org>
1048
1049   include "in(deva)"
1050   key <TLDE> { [        0x100094A,      0x1000912 ] }; // DEVANAGARI VOWEL SIGN SHORT O; DEVANAGARI LETTER SHORT O
1051   key <AE01> { [        0x1000967,      0x100090D ] }; // DEVANAGARI DIGIT ONE; DEVANAGARI LETTER CANDRA E
1052   key <AE02> { [        0x1000968,      0x1000945 ] }; // DEVANAGARI DIGIT TWO; DEVANAGARI VOWEL SIGN CANDRA E
1053   key <AE03> { [        0x1000969        ] }; // DEVANAGARI DIGIT THREE; 
1054   key <AE04> { [        0x100096A        ] }; // DEVANAGARI DIGIT FOUR; 
1055   key <AE05> { [        0x100096B        ] }; // DEVANAGARI DIGIT FIVE; 
1056   key <AE06> { [        0x100096C        ] }; // DEVANAGARI DIGIT SIX; 
1057   key <AE07> { [        0x100096D        ] }; // DEVANAGARI DIGIT SEVEN; 
1058   key <AE08> { [        0x100096E        ] }; // DEVANAGARI DIGIT EIGHT; 
1059   key <AE09> { [        0x100096F,      parenleft ] }; // DEVANAGARI DIGIT NINE; 
1060   key <AE10> { [        0x1000966,      parenright ] }; // DEVANAGARI DIGIT ZERO; 
1061   key <AE11> { [        minus,          0x1000903 ] }; // DEVANAGARI SIGN VISARGA; 
1062   key <AE12> { [        0x1000943,      0x100090B ] }; // DEVANAGARI VOWEL SIGN VOCALIC R; DEVANAGARI LETTER VOCALIC R
1063
1064   key <AD01> { [        0x100094C,      0x1000914 ] }; // DEVANAGARI VOWEL SIGN AU; DEVANAGARI LETTER AU
1065   key <AD02> { [        0x1000948,      0x1000910 ] }; // DEVANAGARI VOWEL SIGN AI; DEVANAGARI LETTER AI
1066   key <AD03> { [        0x100093E,      0x1000906 ] }; // DEVANAGARI VOWEL SIGN AA; DEVANAGARI LETTER AA
1067   key <AD04> { [        0x1000940,      0x1000908 ] }; // DEVANAGARI VOWEL SIGN II; DEVANAGARI LETTER II
1068   key <AD05> { [        0x1000942,      0x100090A ] }; // DEVANAGARI VOWEL SIGN UU; DEVANAGARI LETTER UU
1069   key <AD06> { [        0x100092C,      0x100092D ] }; // DEVANAGARI LETTER BA; DEVANAGARI LETTER BHA
1070   key <AD07> { [        0x1000939,      0x1000919 ] }; // DEVANAGARI LETTER HA; DEVANAGARI LETTER NGA
1071   key <AD08> { [        0x1000917,      0x1000918 ] }; // DEVANAGARI LETTER GA; DEVANAGARI LETTER GHA
1072   key <AD09> { [        0x1000926,      0x1000927 ] }; // DEVANAGARI LETTER DA; DEVANAGARI LETTER DHA
1073   key <AD10> { [        0x100091C,      0x100091D ] }; // DEVANAGARI LETTER JA; DEVANAGARI LETTER JHA
1074   key <AD11> { [        0x1000921,      0x1000922 ] }; // DEVANAGARI LETTER DDA; DEVANAGARI LETTER DDHA
1075   key <AD12> { [        0x100093C,      0x100091E ] }; // DEVANAGARI SIGN NUKTA; DEVANAGARI LETTER NYA
1076
1077   key <BKSL> { [        0x1000949,      0x1000911 ] }; // DEVANAGARI VOWEL SIGN CANDRA O; DEVANAGARI LETTER CANDRA O
1078
1079   key <AC01> { [        0x100094B,      0x1000913 ] }; // DEVANAGARI VOWEL SIGN O; DEVANAGARI LETTER O
1080   key <AC02> { [        0x1000947,      0x100090F ] }; // DEVANAGARI VOWEL SIGN E; DEVANAGARI LETTER E
1081   key <AC03> { [        0x100094D,      0x1000905 ] }; // DEVANAGARI SIGN VIRAMA; DEVANAGARI LETTER A
1082   key <AC04> { [        0x100093F,      0x1000907 ] }; // DEVANAGARI VOWEL SIGN I; DEVANAGARI LETTER I
1083   key <AC05> { [        0x1000941,      0x1000909 ] }; // DEVANAGARI VOWEL SIGN U; DEVANAGARI LETTER U
1084   key <AC06> { [        0x100092A,      0x100092B ] }; // DEVANAGARI LETTER PA; DEVANAGARI LETTER PHA
1085   key <AC07> { [        0x1000930,      0x1000931 ] }; // DEVANAGARI LETTER RA; DEVANAGARI LETTER RRA
1086   key <AC08> { [        0x1000915,      0x1000916 ] }; // DEVANAGARI LETTER KA; DEVANAGARI LETTER KHA
1087   key <AC09> { [        0x1000924,      0x1000925 ] }; // DEVANAGARI LETTER TA; DEVANAGARI LETTER THA
1088   key <AC10> { [        0x100091A,      0x100091B ] }; // DEVANAGARI LETTER CA; DEVANAGARI LETTER CHA
1089   key <AC11> { [        0x100091F,      0x1000920 ] }; // DEVANAGARI LETTER TTA; DEVANAGARI LETTER TTHA
1090
1091   key <AB01> { [        0x1000946,      0x100090E ] }; // DEVANAGARI VOWEL SIGN SHORT E; DEVANAGARI LETTER SHORT E
1092   key <AB02> { [        0x1000902,      0x1000901 ] }; // DEVANAGARI SIGN ANUSVARA; DEVANAGARI SIGN CANDRABINDU
1093   key <AB03> { [        0x100092E,      0x1000923 ] }; // DEVANAGARI LETTER MA; DEVANAGARI LETTER NNA
1094   key <AB04> { [        0x1000928,      0x1000929 ] }; // DEVANAGARI LETTER NA; DEVANAGARI LETTER NNNA
1095   key <AB05> { [        0x1000935,      0x1000934 ] }; // DEVANAGARI LETTER VA; DEVANAGARI LETTER LLLA
1096   key <AB06> { [        0x1000932,      0x1000933 ] }; // DEVANAGARI LETTER LA; DEVANAGARI LETTER LLA
1097   key <AB07> { [        0x1000938,      0x1000936 ] }; // DEVANAGARI LETTER SA; DEVANAGARI LETTER SHA
1098   key <AB08> { [        comma,          0x1000937 ] }; // DEVANAGARI LETTER SSA
1099   key <AB09> { [        period,         0x1000964 ] }; // DEVANAGARI DANDA
1100   key <AB10> { [        0x100092F,      0x100095F ] }; // DEVANAGARI LETTER YA; DEVANAGARI LETTER YYA
1101
1102   key <SPCE> { [        space,          space,  0x100200C,      0x100200D ] }; // ZERO-WIDTH-NON-JOINER (ZWNJ); ZERO-WIDTH-JOINER (ZWJ)
1103
1104   include "group(olpc)"
1105 };