fixed ben_probhat, closed b.fd.o#1012
[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       name[Group1]= "India";
27
28       key <TLDE> { [      0x100094A, 0x1000912          ]       };
29
30       // Mainly numbers.
31       key <AE01> { [      0x1000967, 0x100090D          ]       };
32       key <AE02> { [      0x1000968, 0x1000945          ]       };
33       key <AE03> { [      0x1000969                     ]       };
34       key <AE04> { [      0x100096A                     ]       };
35       key <AE05> { [      0x100096B                     ]       };
36       key <AE06> { [      0x100096C                     ]       };
37       key <AE07> { [      0x100096D                     ]       };
38       key <AE08> { [      0x100096e                     ]       };
39       key <AE09> { [      0x100096F, parenleft          ]       };
40       key <AE10> { [      0x1000966, parenright         ]       };
41       key <AE11> { [      0x1000903                     ]       };
42       key <AE12> { [      0x1000943, 0x100090B          ]       };
43
44 // Mainly long vowels
45
46       key <AD01> { [      0x100094C,  0x1000914         ]       };
47       key <AD02> { [      0x1000948,  0x1000910         ]       };
48       key <AD03> { [      0x100093E,  0x1000906         ]       };
49       key <AD04> { [      0x1000940,  0x1000908         ]       };
50       key <AD05> { [      0x1000942,  0x100090A         ]       };
51
52 // Mainly voiced consonants
53
54       key <AD06> { [      0x100092C,  0x100092D         ]       };
55       key <AD07> { [      0x1000939,  0x1000919         ]       };
56       key <AD08> { [      0x1000917,  0x1000918         ]       };
57       key <AD09> { [      0x1000926,  0x1000927         ]       };
58       key <AD10> { [      0x100091C,  0x100091D         ]       };
59       key <AD11> { [      0x1000921,  0x1000922         ]       };
60       key <AD12> { [      0x100093C,  0x100091E         ]       };
61
62 // Mainly short vowels
63       key <AC01> { [      0x100094B,  0x1000913         ]       };
64       key <AC02> { [      0x1000947,  0x100090F         ]       };
65       key <AC03> { [      0x100094D,  0x1000905         ]       };
66       key <AC04> { [      0x100093F,  0x1000907         ]       };
67       key <AC05> { [      0x1000941,  0x1000909         ]       };
68
69 // Mainly unvoiced consonants
70
71       key <AC06> { [      0x100092A,  0x100092B         ]       };
72       key <AC07> { [      0x1000930,  0x1000931         ]       };
73       key <AC08> { [      0x1000915,  0x1000916         ]       };
74       key <AC09> { [      0x1000924,  0x1000925         ]       };
75       key <AC10> { [      0x100091A,  0x100091B         ]       };
76       key <AC11> { [      0x100091F,  0x1000920         ]       };
77       key <BKSL> { [      0x1000949,  0x1000911         ]       };
78
79       key <AB01> { [      0x1000946,  0x100090E         ]       };
80       key <AB02> { [      0x1000902,  0x1000901         ]       };
81       key <AB03> { [      0x100092E,  0x1000923         ]       };
82       key <AB04> { [      0x1000928,  0x1000929         ]       };
83       key <AB05> { [      0x1000935,  0x1000934         ]       };
84       key <AB06> { [      0x1000932,  0x1000933         ]       };
85       key <AB07> { [      0x1000938,  0x1000936         ]       };
86       key <AB08> { [      comma,      0x1000937         ]       };
87       key <AB09> { [      period,     0x1000964         ]       };
88       key <AB10> { [      0x100092F,  question          ]       };
89 };
90
91 // based on a keyboard map from an 'xkb/symbols/ben' file
92 //
93 // $XFree86: xc/programs/xkbcomp/symbols/ben,v 1.2 2002/11/22 04:03:28 dawes Exp $
94
95 partial alphanumeric_keys
96 xkb_symbols "ben" {
97     name[Group1]= "India - Bengali";
98
99       // Mainly numbers.
100       key <AE01> { [      0x10009E7             ]       };
101       key <AE02> { [      0x10009E8             ]       };
102       key <AE03> { [      0x10009E9             ]       };
103       key <AE04> { [      0x10009EA             ]       };
104       key <AE05> { [      0x10009EB             ]       };
105       key <AE06> { [      0x10009EC             ]       };
106       key <AE07> { [      0x10009ED             ]       };
107       key <AE08> { [      0x10009EE             ]       };
108       key <AE09> { [      0x10009EF, parenleft  ]       };
109       key <AE10> { [      0x10009E6, parenright ]       };
110       key <AE11> { [      minus, 0x1000983      ]       };
111       key <AE12> { [      0x100098B, 0x10009C3  ]       };
112
113 // Mainly long vowels
114
115       key <AD01> { [      0x10009CC,  0x1000994 ]       };
116       key <AD02> { [      0x10009C8,  0x1000990 ]       };
117       key <AD03> { [      0x10009BE,  0x1000986 ]       };
118       key <AD04> { [      0x10009C0,  0x1000988 ]       };
119       key <AD05> { [      0x10009C2,  0x100098A ]       };
120
121 // Mainly voiced consonants
122
123       key <AD06> { [      0x10009AC,  0x10009AD ]       };
124       key <AD07> { [      0x10009B9,  0x1000999 ]       };
125       key <AD08> { [      0x1000997,  0x1000998 ]       };
126       key <AD09> { [      0x10009A6,  0x10009A7 ]       };
127       key <AD10> { [      0x100099C,  0x100099D ]       };
128       key <AD11> { [      0x10009A1, 0x10009A2  ]       };
129       key <AD12> { [      0x10009BC, 0x100099E  ]       };
130
131 // Mainly short vowels
132       key <AC01> { [      0x10009CB,  0x1000993 ]       };
133       key <AC02> { [      0x10009C7,  0x100098F ]       };
134       key <AC03> { [      0x10009CD,  0x1000985 ]       };
135       key <AC04> { [      0x10009BF,  0x1000987 ]       };
136       key <AC05> { [      0x10009C1,  0x1000989 ]       };
137
138 // Mainly unvoiced consonants
139
140       key <AC06> { [      0x10009AA,  0x10009AB ]       };
141       key <AC07> { [      0x10009B0,  0x10009DD ]       };
142       key <AC08> { [      0x1000995,  0x1000996 ]       };
143       key <AC09> { [      0x10009A4,  0x10009A5 ]       };
144       key <AC10> { [      0x100099A,  0x100099B ]       };
145       key <AC11> { [      0x100099F, 0x10009A0  ]       };
146       key <BKSL> { [      backslash, bar        ]       };
147
148       key <AB01> { [      z, Z                  ]       };
149       key <AB02> { [      0x1000982,  0x1000981 ]       };
150       key <AB03> { [      0x10009AE,  0x10009A3 ]       };
151       key <AB04> { [      0x10009A8,  0x10009A8 ]       };
152       key <AB05> { [      0x10009AC,  0x10009AC ]       };
153       key <AB06> { [      0x10009B2,  0x10009B2 ]       };
154       key <AB07> { [      0x10009B8,  0x10009B6 ]       };
155       key <AB08> { [      comma,      0x10009B7 ]       };
156       key <AB09> { [      period,     0x1000964 ]       };
157       key <AB10> { [      0x10009DF,  0x10009AF ]       };
158 };
159
160 xkb_symbols "ben_probhat" {
161  name[Group1]= "India - Bengali Probhat";
162    key <ESC>  { [ Escape ] };
163
164 // numbers
165    key <TLDE> { [ quoteleft, asciitilde   ] };
166    key <AE01> { [ 0x10009E7, exclam       ] };
167    key <AE02> { [ 0x10009E8, at           ] };
168    key <AE03> { [ 0x10009E9, numbersign   ] };
169    key <AE04> { [ 0x10009EA, 0x10009F3    ] };
170    key <AE05> { [ 0x10009EB, percent      ] };
171    key <AE06> { [ 0x10009EC, asciicircum  ] };
172    key <AE07> { [ 0x10009ED, 0x100099E    ] };
173    key <AE08> { [ 0x10009EE, 0x10009CE    ] };
174    key <AE09> { [ 0x10009EF, parenleft    ] };
175    key <AE10> { [ 0x10009E6, parenright   ] };
176    key <AE11> { [ 0x100200C, underscore   ] };
177    key <AE12> { [ equal,     0x100200D    ] };
178    key <BKSP> { [ BackSpace               ] };
179
180 // tab, q to ] 
181    key <TAB>  { [   Tab,  ISO_Left_Tab     ] };
182    key <AD01> { [   0x10009A6,  0x10009A7  ] };
183    key <AD02> { [   0x10009C2,  0x100098A  ] };
184    key <AD03> { [   0x10009C0,  0x1000988  ] };
185    key <AD04> { [   0x10009B0,  0x10009DC  ] };
186    key <AD05> { [   0x100099F,  0x10009A0  ] };
187    key <AD06> { [   0x100098F,  0x1000990  ] };
188    key <AD07> { [   0x10009C1,  0x1000989  ] };
189    key <AD08> { [   0x10009BF,  0x1000987  ] };
190    key <AD09> { [   0x1000993,  0x1000994  ] };
191    key <AD10> { [   0x10009AA,  0x10009AB  ] };
192    key <AD11> { [   0x10009C7,  0x10009C8  ] };
193    key <AD12> { [   0x10009CB,  0x10009CC  ] };
194    key <RTRN> { [   Return                 ] };
195
196 // caps, a to ' 
197 //   key <CAPS> { [   Caps_Lock              ] };
198    key <AC01> { [   0x10009BE,  0x1000985  ] };
199    key <AC02> { [   0x10009B8,  0x10009B7  ] };
200    key <AC03> { [   0x10009A1,  0x10009A2  ] };
201    key <AC04> { [   0x10009A4,  0x10009A5  ] };
202    key <AC05> { [   0x1000997,  0x1000998  ] };
203    key <AC06> { [   0x10009B9,  0x1000983  ] };
204    key <AC07> { [   0x100099C,  0x100099D  ] };
205    key <AC08> { [   0x1000995,  0x1000996  ] };
206    key <AC09> { [   0x10009B2,  0x1000982  ] };
207    key <AC10> { [   semicolon,  colon      ] };
208    key <AC11> { [   quoteright, quotedbl   ] };
209
210 // shift, z to /
211 //   key <LFSH> { [   Shift_L                ] };
212    key <AB01> { [   0x10009DF,  0x10009AF  ] };
213    key <AB02> { [   0x10009B6,  0x10009DD  ] };
214    key <AB03> { [   0x100099A,  0x100099B  ] };
215    key <AB04> { [   0x1000986,  0x100098B  ] };
216    key <AB05> { [   0x10009AC,  0x10009AD  ] };
217    key <AB06> { [   0x10009A8,  0x10009A3  ] };
218    key <AB07> { [   0x10009AE,  0x1000999  ] };
219    key <AB08> { [   comma,      0x10009C3  ] };
220    key <AB09> { [   0x1000964,  0x1000981  ] };
221    key <AB10> { [   0x10009CD,  question   ] };
222    key <BKSL> { [   backslash,  0x1000965  ] };
223
224 //   key <LCTL> { [   Control_L              ] };
225 //   key <SPCE> { [   space                  ] };
226
227 //   modifier_map Shift  { Shift_L };
228 //   modifier_map Lock   { Caps_Lock };
229 //   modifier_map Control{ Control_L };
230
231 };
232
233 partial alphanumeric_keys 
234 xkb_symbols "guj" {
235       name[Group1]= "India - Gujarati";
236
237       // Mainly numbers.
238       key <AE01> { [      0x1000AE7, 0x1000A8D  ]       };
239       key <AE02> { [      0x1000AE8, 0x1000AC5  ]       };
240       key <AE03> { [      0x1000AE9             ]       };
241       key <AE04> { [      0x1000AEA             ]       };
242       key <AE05> { [      0x1000AEB             ]       };
243       key <AE06> { [      0x1000AEC             ]       };
244       key <AE07> { [      0x1000AED             ]       };
245       key <AE08> { [      0x1000AEE             ]       };
246       key <AE09> { [      0x1000AEF, parenleft  ]       };
247       key <AE10> { [      0x1000AE6, parenright ]       };
248       key <AE11> { [      minus,     0x1000A83  ]       };
249       key <AE12> { [      0x1000A8B, 0x1000AC3  ]       };
250
251 // Mainly long vowels
252
253       key <AD01> { [      0x1000ACC, 0x1000A94  ]       };
254       key <AD02> { [      0x1000AC8, 0x1000A90  ]       };
255       key <AD03> { [      0x1000ABE, 0x1000A86  ]       };
256       key <AD04> { [      0x1000AC0, 0x1000A88  ]       };
257       key <AD05> { [      0x1000AC2, 0x1000A8A  ]       };
258
259 // Mainly voiced consonants
260
261       key <AD06> { [      0x1000AAC, 0x1000AAD  ]       };
262       key <AD07> { [      0x1000AB9, 0x1000A99  ]       };
263       key <AD08> { [      0x1000A97, 0x1000A98  ]       };
264       key <AD09> { [      0x1000AA6, 0x1000AA7  ]       };
265       key <AD10> { [      0x1000A9C, 0x1000A9D  ]       };
266       key <AD11> { [      0x1000AA1, 0x1000AA2  ]       };
267       key <AD12> { [      0x1000ABC, 0x1000A9E  ]       };
268
269 // Mainly short vowels
270       key <AC01> { [      0x1000ACB, 0x1000A93  ]       };
271       key <AC02> { [      0x1000AC7, 0x1000A8F  ]       };
272       key <AC03> { [      0x1000ACD, 0x1000A85  ]       };
273       key <AC04> { [      0x1000ABF, 0x1000A87  ]       };
274       key <AC05> { [      0x1000AC1, 0x1000A89  ]       };
275
276 // Mainly unvoiced consonants
277
278       key <AC06> { [      0x1000AAA, 0x1000AAB  ]       };
279       key <AC07> { [      0x1000AB0, guj_rra    ]       };
280       key <AC08> { [      0x1000A95, 0x1000A96  ]       };
281       key <AC09> { [      0x1000AA4, 0x1000AA5  ]       };
282       key <AC10> { [      0x1000A9A, 0x1000A9B  ]       };
283       key <AC11> { [      0x1000A9F, 0x1000AA0  ]       };
284       key <BKSL> { [      0x1000AC9, 0x1000A91  ]       };
285
286       key <AB01> { [      z        , Z          ]       };
287       key <AB02> { [      0x1000A82, 0x1000A81  ]       };
288       key <AB03> { [      0x1000AAE, 0x1000AA3  ]       };
289       key <AB04> { [      0x1000AA8, guj_nnna   ]       };
290       key <AB05> { [      0x1000AB5, guj_llla   ]       };
291       key <AB06> { [      0x1000AB2, 0x1000AB3  ]       };
292       key <AB07> { [      0x1000AB8, 0x1000AB6  ]       };
293       key <AB08> { [      comma,     0x1000AB7  ]       };
294       key <AB09> { [      period,    0x1000964  ]       };
295       key <AB10> { [      0x1000AAF, question   ]       };
296 };
297
298 partial alphanumeric_keys 
299 xkb_symbols "kan" {
300
301     // Inscript layout for Kannada  
302     // Author : G Karunakar <karunakar@freedomink.org>
303     // Date   : Wed Nov 13 17:22:58 IST 2002
304     // Kannada digits mapped in basic only
305
306     name[Group1]= "India - Kannada";
307
308     key <TLDE> { [  0x01000cca, 0x01000c92      ] };
309     key <AE01> { [  0x01000ce7, 0x01000c8d      ] };
310     key <AE02> { [  0x01000ce8, 0x01000cc5      ] };
311     key <AE03> { [  0x01000ce9                  ] };
312     key <AE04> { [  0x01000cea                  ] };
313     key <AE05> { [  0x01000ceb                  ] };
314     key <AE06> { [  0x01000cec                  ] };
315     key <AE07> { [  0x01000ced                  ] };
316     key <AE08> { [  0x01000cee                  ] };
317     key <AE09> { [  0x01000cef                  ] };
318     key <AE10> { [  0x01000ce6                  ] };
319     key <AE11> { [  0x01000c83                  ] };
320     key <AE12> { [  0x01000cc3, 0x01000c8b      ] };
321
322     key <AD01> { [  0x01000ccc, 0x01000c94      ] };
323     key <AD02> { [  0x01000cc8, 0x01000c90      ] };
324     key <AD03> { [  0x01000cbe, 0x01000c86      ] };
325     key <AD04> { [  0x01000cc0, 0x01000c88      ] };
326     key <AD05> { [  0x01000cc2, 0x01000c8a      ] };
327     key <AD06> { [  0x01000cac, 0x01000cad      ] };
328     key <AD07> { [  0x01000cb9, 0x01000c99      ] };
329     key <AD08> { [  0x01000c97, 0x01000c98      ] };
330     key <AD09> { [  0x01000ca6, 0x01000ca7      ] };
331     key <AD10> { [  0x01000c9c, 0x01000c9d      ] };
332     key <AD11> { [  0x01000ca1, 0x01000ca2      ] };
333     key <AD12> { [  0x01000cbc, 0x01000c9e      ] };
334  
335     key <AC01> { [  0x01000ccb, 0x01000c93      ] };
336     key <AC02> { [  0x01000cc7, 0x01000c8f      ] };
337     key <AC03> { [  0x01000ccd, 0x01000c85      ] };
338     key <AC04> { [  0x01000cbf, 0x01000c87      ] };
339     key <AC05> { [  0x01000cc1, 0x01000c89      ] };
340     key <AC06> { [  0x01000caa, 0x01000cab      ] };
341     key <AC07> { [  0x01000cb0, 0x01000cb1      ] };
342     key <AC08> { [  0x01000c95, 0x01000c96      ] };
343     key <AC09> { [  0x01000ca4, 0x01000ca5      ] };
344     key <AC10> { [  0x01000c9a, 0x01000c9b      ] };
345     key <AC11> { [  0x01000c9f, 0x01000ca0      ] };
346
347     key <AB01> { [  0x01000cc6, 0x01000c8e      ] };
348     key <AB02> { [  0x01000c82, 0x01000c81      ] };
349     key <AB03> { [  0x01000cae, 0x01000ca3      ] };
350     key <AB04> { [  0x01000ca8, 0x01000ca9      ] };
351     key <AB05> { [  0x01000cb5, 0x01000cb4      ] };
352     key <AB06> { [  0x01000cb2, 0x01000cb3      ] };
353     key <AB07> { [  0x01000cb8, 0x01000cb6      ] };
354     key <AB08> { [  comma     , 0x01000cb7      ] };
355     key <AB09> { [  period    , 0x01000ce4      ] };
356     key <AB10> { [  0x01000caf, 0x01000040      ] };
357     key <BKSL> { [  0x01000cc9, 0x01000c91      ] };
358
359     key <RALT> {
360         symbols[Group1] = [ Mode_switch, Multi_key ],
361         virtualMods = AltGr
362     };
363
364 };
365
366 // Description : A keymap for Malayalam
367 // Encoding    : Unicode (http://www.unicode.org)
368 // Author      : Baiju M <baiju@freeshell.org>
369 // Date        : Sat Aug  17 21:10:48 IST 2002
370 // Mapping:
371
372 partial alphanumeric_keys 
373 xkb_symbols "mal" {
374
375     name[Group1] = "India - Malayalam";
376
377     //From grave to backslash (\)
378     
379     key <TLDE> { [ 0x01000d4a , 0x01000d12           ] };
380
381 // svu: 
382 // These lines were in former "mal" variant - 
383 // but the digits are replaced with the ones from 'mal_plusnum' -
384 // for the integrity of all Indian layouts
385 //
386 //    key <AE01> { [1           ,     exclam           ] }; 
387 //    key <AE02> { [2           ,         at           ] };
388 //    key <AE03> { [3           , numbersign           ] };
389 //    key <AE04> { [4           ,     dollar           ] };
390 //    key <AE05> { [5           ,    percent           ] };
391 //    key <AE06> { [6           ,asciicircum           ] };
392 //    key <AE07> { [7           ,  ampersand           ] };
393 //    key <AE08> { [8           , 0x01000d7e           ] };
394 //    key <AE09> { [9           ,  parenleft           ] };
395 //    key <AE10> { [0           , parenright           ] };
396
397       key <AE01> { [ 0x01000d67 ,      exclam ] };
398       key <AE02> { [ 0x01000d68 ,          at ] };
399       key <AE03> { [ 0x01000d69 ,  numbersign ] };
400       key <AE04> { [ 0x01000d6a ,      dollar ] };
401       key <AE05> { [ 0x01000d6b ,     percent ] };
402       key <AE06> { [ 0x01000d6c , asciicircum ] };
403       key <AE07> { [ 0x01000d6d ,   ampersand ] };
404       key <AE08> { [ 0x01000d6e ,  0x01000d7e ] };
405       key <AE09> { [ 0x01000d6f ,   parenleft ] };
406       key <AE10> { [ 0x01000d66 ,  parenright ] };
407
408     key <AE11> { [ minus      , 0x01000d03           ] };
409     key <AE12> { [ 0x01000d43 , 0x01000d0b           ] };
410     key <BKSL> { [ 0x01000d7c                        ] };
411
412     // From 'q' to right bracket (])
413     
414     key <AD01> { [ 0x01000d4c , 0x01000d14 ] };
415     key <AD02> { [ 0x01000d48 , 0x01000d10 ] };
416     key <AD03> { [ 0x01000d3e , 0x01000d06 ] };
417     key <AD04> { [ 0x01000d40 , 0x01000d08 ] };
418     key <AD05> { [ 0x01000d42 , 0x01000d0a ] };
419     key <AD06> { [ 0x01000d2c , 0x01000d2d ] };
420     key <AD07> { [ 0x01000d39 , 0x01000d19 ] };
421     key <AD08> { [ 0x01000d17 , 0x01000d18 ] };
422     key <AD09> { [ 0x01000d26 , 0x01000d27 ] };
423     key <AD10> { [ 0x01000d1c , 0x01000d1d ] };
424     key <AD11> { [ 0x01000d21 , 0x01000d22 ] };
425     key <AD12> { [ 0x0100200d , 0x01000d1e ] };
426
427     // From 'a' to apostrophe (')
428     
429     key <AC01> { [ 0x01000d4b , 0x01000d13 ] };
430     key <AC02> { [ 0x01000d47 , 0x01000d0f ] };
431     key <AC03> { [ 0x01000d4d , 0x01000d05 ] };
432     key <AC04> { [ 0x01000d3f , 0x01000d07 ] };
433     key <AC05> { [ 0x01000d41 , 0x01000d09 ] };
434     key <AC06> { [ 0x01000d2a , 0x01000d2b ] };
435     key <AC07> { [ 0x01000d30 , 0x01000d31 ] };
436     key <AC08> { [ 0x01000d15 , 0x01000d16 ] };
437     key <AC09> { [ 0x01000d24 , 0x01000d25 ] };
438     key <AC10> { [ 0x01000d1a , 0x01000d1b ] };
439     key <AC11> { [ 0x01000d1f , 0x01000d20 ] };
440     
441     // From 'z' to slash (/)
442     
443     key <AB01> { [ 0x01000d46 , 0x01000d0e ] };
444     key <AB02> { [ 0x01000d02 , 0x01000d7a ] };
445     key <AB03> { [ 0x01000d2e , 0x01000d23 ] };
446     key <AB04> { [ 0x01000d28 , 0x01000d7b ] };
447     key <AB05> { [ 0x01000d35 , 0x01000d34 ] };
448     key <AB06> { [ 0x01000d32 , 0x01000d33 ] };
449     key <AB07> { [ 0x01000d38 , 0x01000d36 ] };
450     key <AB08> { [ comma      , 0x01000d37 ] };
451     key <AB09> { [ period     , 0x01000d7d ] };
452     key <AB10> { [ 0x01000d2f , question   ] };
453
454 };
455
456 partial alphanumeric_keys 
457 xkb_symbols "ori" {
458     // Inscript layout for Oriya  
459     // Author: G Karunakar <karunakar@freedomink.org>
460     // Date: Wed Nov 13 18:16:19 IST 2002
461
462     name[Group1]= "India - Oriya";
463     
464     key <TLDE> { [  0x01000b4a, 0x01000b12      ] };
465     key <AE01> { [  0x01000b67, 0x01000b0d      ] };
466     key <AE02> { [  0x01000b68, 0x01000b45      ] };
467     key <AE03> { [  0x01000b69                  ] };
468     key <AE04> { [  0x01000b6a                  ] };
469     key <AE05> { [  0x01000b6b                  ] };
470     key <AE06> { [  0x01000b6c                  ] };
471     key <AE07> { [  0x01000b6d                  ] };
472     key <AE08> { [  0x01000b6e                  ] };
473     key <AE09> { [  0x01000b6f                  ] };
474     key <AE10> { [  0x01000b66                  ] };
475     key <AE11> { [  0x01000b03                  ] };
476     key <AE12> { [  0x01000b43, 0x01000b0b      ] };
477
478     key <AD01> { [  0x01000b4c, 0x01000b14      ] };
479     key <AD02> { [  0x01000b48, 0x01000b10      ] };
480     key <AD03> { [  0x01000b3e, 0x01000b06      ] };
481     key <AD04> { [  0x01000b40, 0x01000b08      ] };
482     key <AD05> { [  0x01000b42, 0x01000b0a      ] };
483     key <AD06> { [  0x01000b2c, 0x01000b2d      ] };
484     key <AD07> { [  0x01000b39, 0x01000b19      ] };
485     key <AD08> { [  0x01000b17, 0x01000b18      ] };
486     key <AD09> { [  0x01000b26, 0x01000b27      ] };
487     key <AD10> { [  0x01000b1c, 0x01000b1d      ] };
488     key <AD11> { [  0x01000b21, 0x01000b22      ] };
489     key <AD12> { [  0x01000b3c, 0x01000b1e      ] };
490  
491     key <AC01> { [  0x01000b4b, 0x01000b13      ] };
492     key <AC02> { [  0x01000b47, 0x01000b0f      ] };
493     key <AC03> { [  0x01000b4d, 0x01000b05      ] };
494     key <AC04> { [  0x01000b3f, 0x01000b07      ] };
495     key <AC05> { [  0x01000b41, 0x01000b09      ] };
496     key <AC06> { [  0x01000b2a, 0x01000b2b      ] };
497     key <AC07> { [  0x01000b30, 0x01000b31      ] };
498     key <AC08> { [  0x01000b15, 0x01000b16      ] };
499     key <AC09> { [  0x01000b24, 0x01000b25      ] };
500     key <AC10> { [  0x01000b1a, 0x01000b1b      ] };
501     key <AC11> { [  0x01000b1f, 0x01000b20      ] };
502  
503     key <AB01> { [  0x01000b46, 0x01000b0e      ] };
504     key <AB02> { [  0x01000b02, 0x01000b01      ] };
505     key <AB03> { [  0x01000b2e, 0x01000b23      ] };
506     key <AB04> { [  0x01000b28, 0x01000b29      ] };
507     key <AB05> { [  0x01000b35, 0x01000b34      ] };
508     key <AB06> { [  0x01000b32, 0x01000b33      ] };
509     key <AB07> { [  0x01000b38, 0x01000b36      ] };
510     key <AB08> { [  comma     , 0x01000b37      ] };
511     key <AB09> { [  period    , 0x01000b64      ] };
512     key <AB10> { [  0x01000b2f, 0x01000040      ] };
513     key <BKSL> { [  0x01000b49, 0x01000b11      ] };
514
515     key <RALT> {
516         symbols[Group1] = [ Mode_switch, Multi_key ],
517         virtualMods = AltGr
518     };
519 };
520
521 // INSCRIPT
522 partial alphanumeric_keys 
523 xkb_symbols "tam" {
524       name[Group1]= "India - Tamil";
525
526       key <TLDE> { [      0x1000BCA, 0x1000B92  ]       };
527
528       // Mainly numbers.
529       key <AE01> { [      0x1000BE7             ]       };
530       key <AE02> { [      0x1000BE8             ]       };
531       key <AE03> { [      0x1000BE9             ]       };
532       key <AE04> { [      0x1000BEA             ]       };
533       key <AE05> { [      0x1000BEB             ]       };
534       key <AE06> { [      0x1000BEC             ]       };
535       key <AE07> { [      0x1000BED             ]       };
536       key <AE08> { [      0x1000BEE             ]       };
537       key <AE09> { [      0x1000BEF, parenleft  ]       };
538       key <AE10> { [      0x1000BF0, parenright ]       };
539       key <AE11> { [      0x1000BF1, 0x1000B83  ]       };
540       key <AE12> { [      0x1000BF2, plus       ]       };
541
542 // Mainly long vowels
543
544       key <AD01> { [      0x1000BCC,  0x1000B94 ]       };
545       key <AD02> { [      0x1000BC8,  0x1000B90 ]       };
546       key <AD03> { [      0x1000BBE,  0x1000B86 ]       };
547       key <AD04> { [      0x1000BC0,  0x1000B88 ]       };
548       key <AD05> { [      0x1000BC2,  0x1000B8A ]       };
549
550 // Mainly voiced consonants
551
552       key <AD07> { [      0x1000BB9, 0x1000B99  ]       };
553       key <AD12> { [      0x1000BBC, 0x1000B9E  ]       };
554
555 // Mainly short vowels
556       key <AC01> { [      0x1000BCB,  0x1000B93 ]       };
557       key <AC02> { [      0x1000BC7,  0x1000B8F ]       };
558       key <AC03> { [      0x1000BCD,  0x1000B85 ]       };
559       key <AC04> { [      0x1000BBF,  0x1000B87 ]       };
560       key <AC05> { [      0x1000BC1,  0x1000B89 ]       };
561
562 // Mainly unvoiced consonants
563
564       key <AC06> { [      0x1000BAA             ]       };
565       key <AC07> { [      0x1000BB0,  0x1000BB1 ]       };
566       key <AC08> { [      0x1000B95             ]       };
567       key <AC09> { [      0x1000BA4             ]       };
568       key <AC10> { [      0x1000B9A             ]       };
569       key <AC11> { [      0x1000B9F             ]       };
570       key <BKSL> { [      backslash, bar        ]       };
571
572       key <AB01> { [      0x1000BC6,  0x1000B8E ]       };
573       key <AB02> { [      0x1000B82             ]       };
574       key <AB03> { [      0x1000BAE,  0x1000BA3 ]       };
575       key <AB04> { [      0x1000BA8,  0x1000BA9 ]       };
576       key <AB05> { [      0x1000BB5,  0x1000BB4 ]       };
577       key <AB06> { [      0x1000BB2,  0x1000BB3 ]       };
578       key <AB07> { [      0x1000BB8             ]       };
579       key <AB08> { [      comma,      0x1000BB7 ]       };
580       key <AB09> { [      period,     0x1000964 ]       };
581       key <AB10> { [      0x1000BAF,  question  ]       };
582 };
583
584 partial alphanumeric_keys 
585 xkb_symbols "tam_unicode" {
586
587 // Description: A keymap based on the TamilNet'99 typewriter keyboard 
588 // Encoding: Unicode (http://www.unicode.org)
589 // Author: Thuraiappah Vaseeharan <vasee@ieee.org>
590 // Date  : Sat Feb  9 21:10:48 CST 2002
591 // Mapping:
592   
593     name[Group1]= "India - Tamil Unicode";
594
595     // granthas
596     key <AE01> {  [ 0x1000b83 ] } ;
597     key <AE03> {  [ 0x1000b9c ] } ;
598     key <AE04> {  [ 0x1000bb7 ] } ;
599     key <AE05> {  [ 0x1000bb8 ] } ;
600     key <AE06> {  [ 0x1000bb9 ] } ;
601         
602     // Qrow
603     key <AD01> {  [ 0x1000b9e ] };
604     key <AD02> {  [ 0x1000bb1 ] };
605     key <AD03> {  [ 0x1000ba8 ] };
606     key <AD04> {  [ 0x1000b9a ] };
607     key <AD05> {  [ 0x1000bb5 ] };
608     key <AD06> {  [ 0x1000bb2 ] };
609     key <AD07> {  [ 0x1000bb0 ] };
610     key <AD08> {  [ 0x1000bc8, 0x1000b90 ] };
611     key <AD09> {  [ 0x1000bca, 0x1000bcb ] };
612     key <AD10> {  [ 0x1000bbf, 0x1000bc0 ] };
613     key <AD11> {  [ 0x1000bc1, 0x1000bc2 ] };
614
615     // Arow
616     key <AC01> { [ 0x1000baf ] };
617     key <AC02> { [ 0x1000bb3 ] };
618     key <AC03> { [ 0x1000ba9 ] };
619     key <AC04> { [ 0x1000b95 ] };
620     key <AC05> { [ 0x1000baa ] };
621     key <AC06> { [ 0x1000bbe, 0x1000bb4 ] };
622     key <AC07> { [ 0x1000ba4 ] };
623     key <AC08> { [ 0x1000bae ] };
624     key <AC09> { [ 0x1000b9f ] };
625     key <AC10> { [ 0x1000bcd ] };
626     key <AC11> { [ 0x1000b99 ] };
627     
628     // Zrow
629     key <AB01> { [ 0x1000ba3 ]  };
630     key <AB02> { [ 0x1000b92, 0x1000b93 ]  };
631     key <AB03> { [ 0x1000b89, 0x1000b8a ]  };
632     key <AB04> { [ 0x1000b8e, 0x1000b8f ]  };
633     key <AB05> { [ 0x1000bc6, 0x1000bc7 ]  };
634     key <AB06> { [ 0x1000b94, 0x1000bcc ]  };
635     key <AB07> { [ 0x1000b85, 0x1000b86 ]  };
636     key <AB08> { [ 0x1000b87, 0x1000b88 ]  };
637 };
638
639 partial alphanumeric_keys 
640 xkb_symbols "tam_TSCII" {
641
642 // Description  : A Tamil typewrite-style keymap 
643 //                loosely based on TamilNet'99 reommendations 
644 // Encoding     : TSCII (http://www.tscii.org)
645 // Author       : Thuraiappah Vaseeharan <vasee@ieee.org>
646 // Last Modified: Sat Jan  5 17:11:26 CST 2002
647
648     name[Group1]= "India - Tamil TSCII Typewriter";
649
650     key <AE01> {  [ 0x10000b7, 0x10000a4 ] }; // aytham
651     key <AE02> {  [ 0x1000082, 0x10000a5 ] }; // shri
652     key <AE03> {  [ 0x1000083, 0x1000088 ] }; // ja
653     key <AE04> {  [ 0x1000084, 0x1000089 ] }; // sha
654     key <AE05> {  [ 0x1000085, 0x100008a ] }; // sa
655     key <AE06> {  [ 0x1000086, 0x100008b ] }; // ha
656     key <AE07> {  [ 0x1000087, 0x100008c ] }; // ksha
657         
658     // Qrow
659     key <AD01> {  [ 0x10000bb, 0x100009a ] }; // nja
660     key <AD02> {  [ 0x10000c8, 0x10000da ] }; // Ra
661     key <AD03> {  [ 0x10000bf, 0x10000d1 ] }; // NNa
662     key <AD04> {  [ 0x10000ba, 0x10000cd ] }; // ca
663     key <AD05> {  [ 0x10000c5, 0x10000d7 ] }; // va
664     key <AD06> {  [ 0x10000c4, 0x10000d6 ] }; // la
665     key <AD07> {  [ 0x10000c3, 0x10000d5 ] }; // ra
666     key <AD08> {  [ 0x10000a8, 0x10000b3 ] }; // sangili, ai
667     key <AD09> {  [ 0x10000ca, 0x10000cb ] }; // di, dI
668     key <AD10> {  [ 0x10000a2, 0x10000a3 ] }; // visiri
669     key <AD11> {  [ dead_acute, 0x10000a3 ] }; // Ukaaram
670
671     // Arow
672     key <AC01> { [ 0x10000c2, 0x10000d4 ] }; // ya
673     key <AC02> { [ 0x10000c7, 0x10000d9 ] }; // La
674     key <AC03> { [ 0x10000c9, 0x10000db ] }; // na
675     key <AC04> { [ 0x10000b8, 0x10000cc ] }; // ka
676     key <AC05> { [ 0x10000c0, 0x10000d2 ] }; // pa
677     key <AC06> { [ dead_grave,0x10000a1 ] }; // pulli,aravu
678     key <AC07> { [ 0x10000be, 0x10000d0 ] }; // tha
679     key <AC08> { [ 0x10000c1, 0x10000d3 ] }; // ma
680     key <AC09> { [ 0x10000bc, 0x10000ce ] }; // da
681     key <AC10> { [ 0x10000c6, 0x10000d8 ] }; // zha
682     key <AC11> { [ 0x10000b9, 0x1000099 ] }; // nga
683     
684     // Zrow
685     key <AB01> { [ 0x10000bd, 0x10000cf ] }; // Na
686     key <AB02> { [ 0x10000b4, 0x10000b5 ] }; // o, O
687     key <AB03> { [ 0x10000af, 0x10000b0 ] }; // u, U
688     key <AB04> { [ 0x10000b1, 0x10000b2 ] }; // e, E
689     key <AB05> { [ 0x10000a6, 0x10000a7 ] }; // kombus
690     key <AB06> { [ 0x10000b6, 0x10000aa ] }; // au
691     key <AB07> { [ 0x10000ab, 0x10000ac ] }; // a, A
692     key <AB08> { [ 0x10000fe, 0x10000ae ] }; // i, I
693
694 };
695
696 partial alphanumeric_keys 
697 xkb_symbols "tam_TAB" {
698
699 // Description: A keymap based on the TamilNet'99 typewriter keyboard 
700 // Encoding: TAB (http://www.tamilnet99.org)
701 // Author: Thuraiappah Vaseeharan <t_vasee@yahoo.com>
702 // Date  : Sun Aug 12 02:23:00 CDT 2001
703
704     name[Group1]= "India - Tamil TAB Typewriter";
705
706     // numeral row
707     key <AE01> {  [ 0x10000e7, 0x10000a7 ] } ;
708     key <AE02> {  [ 0x10000fa, 0x10000a8 ] } ;
709     key <AE03> {  [ 0x10000fb ] } ;
710     key <AE04> {  [ 0x10000fc ] } ;
711     key <AE05> {  [ 0x10000fd ] } ;
712     key <AE06> {  [ 0x10000fe ] } ;
713     key <AE07> {  [ 0x10000ff ] } ;
714         
715     // q-row
716     key <AD01> {  [ 0x10000eb, 0x10000b3 ] };
717     key <AD02> {  [ 0x10000f8, 0x10000c1 ] };
718     key <AD03> {  [ 0x10000ef, 0x10000b8 ] };
719     key <AD04> {  [ 0x10000ea, 0x10000b2 ] };
720     key <AD05> {  [ 0x10000f5, 0x10000be ] };
721     key <AD06> {  [ 0x10000f4, 0x10000bd ] };
722     key <AD07> {  [ 0x10000f3, 0x10000bc ] };
723     key <AD08> {  [ 0x10000ac, 0x10000e4 ] };
724     key <AD09> {  [ 0x10000ae, 0x10000af ] };
725     key <AD10> {  [ 0x10000a4, 0x10000a6 ] };
726     key <AD11> {  [ dead_circumflex, 0x10000a6 ] }; // Ukaaram
727
728     // a-row
729     key <AC01> {  [ 0x10000f2, 0x10000bb ] };
730     key <AC02> {  [ 0x10000f7, 0x10000c0 ] };
731     key <AC03> {  [ 0x10000f9, 0x10000c2 ] };
732     key <AC04> {  [ 0x10000e8, 0x10000b0 ] };
733     key <AC05> {  [ 0x10000f0, 0x10000b9 ] };
734     key <AC06> {  [ 0x10000a2, 0x10000a3 ] };
735     key <AC07> {  [ 0x10000ee, 0x10000b6 ] };
736     key <AC08> {  [ 0x10000f1, 0x10000ba ] };
737     key <AC09> {  [ 0x10000ec, 0x10000b4 ] };
738     key <AC10> {  [ 0x10000f6, 0x10000bf ] };
739     key <AC11> {  [ 0x10000e9, 0x10000b1 ] };
740     
741     // z-row
742     key <AB01> {  [ 0x10000ed, 0x10000b5 ] };
743     key <AB02> {  [ 0x10000e5, 0x10000e6 ] };
744     key <AB03> {  [ 0x10000e0, 0x10000e1 ] };
745     key <AB04> {  [ 0x10000e2, 0x10000e3 ] };
746     key <AB05> {  [ 0x10000aa, 0x10000ab ] };
747     key <AB06> {  [ 0x10000ac, 0x10000a3 ] };
748     key <AB07> {  [ 0x10000dc, 0x10000dd ] };
749     key <AB08> {  [ 0x10000de, 0x10000df ] };
750 };
751
752 partial alphanumeric_keys 
753 xkb_symbols "tel" {
754
755     // Inscript layout for Telugu using Unicode 
756     // Author: G Karunakar <karunakar@freedomink.org>
757     // Date:
758     // See layout at http://www.indlinux.org/keymap/telugu.php
759
760     name[Group1]= "India - Telugu";
761
762     key <TLDE> { [  0x01000c4a, 0x01000c12      ] };
763     key <AE01> { [  0x01000c67, 0x01000c0d      ] };
764     key <AE02> { [  0x01000c68, 0x01000c45      ] };
765     key <AE03> { [  0x01000c69, numbersign      ] };
766     key <AE04> { [  0x01000c6a, dollar          ] };
767     key <AE05> { [  0x01000c6b, percent         ] };
768     key <AE06> { [  0x01000c6c, asciicircum     ] };
769     key <AE07> { [  0x01000c6d, ampersand       ] };
770     key <AE08> { [  0x01000c6e, asterisk        ] };
771     key <AE09> { [  0x01000c6f, parenleft       ] };
772     key <AE10> { [  0x01000c66, parenright      ] };
773     key <AE11> { [  0x01000c03, underscore      ] };
774     key <AE12> { [  0x01000c43, 0x01000c0b      ] };
775     key <BKSP> { [  BackSpace                   ] };    
776  
777     key <AD01> { [  0x01000c4c, 0x01000c14      ] };
778     key <AD02> { [  0x01000c48, 0x01000c10      ] };
779     key <AD03> { [  0x01000c3e, 0x01000c06      ] };
780     key <AD04> { [  0x01000c40, 0x01000c08      ] };
781     key <AD05> { [  0x01000c42, 0x01000c0a      ] };
782     key <AD06> { [  0x01000c2c, 0x01000c2d      ] };
783     key <AD07> { [  0x01000c39, 0x01000c19      ] };
784     key <AD08> { [  0x01000c17, 0x01000c18      ] };
785     key <AD09> { [  0x01000c26, 0x01000c27      ] };
786     key <AD10> { [  0x01000c1c, 0x01000c1d      ] };
787     key <AD11> { [  0x01000c21, 0x01000c22      ] };
788     key <AD12> { [  0x01000c3c, 0x01000c1e      ] };
789   
790     key <AC01> { [  0x01000c4b, 0x01000c13      ] };
791     key <AC02> { [  0x01000c47, 0x01000c0f      ] };
792     key <AC03> { [  0x01000c4d, 0x01000c05      ] };
793     key <AC04> { [  0x01000c3f, 0x01000c07      ] };
794     key <AC05> { [  0x01000c41, 0x01000c09      ] };
795     key <AC06> { [  0x01000c2a, 0x01000c2b      ] };
796     key <AC07> { [  0x01000c30, 0x01000c31      ] };
797     key <AC08> { [  0x01000c15, 0x01000c16      ] };
798     key <AC09> { [  0x01000c24, 0x01000c25      ] };
799     key <AC10> { [  0x01000c1a, 0x01000c1b      ] };
800     key <AC11> { [  0x01000c1f, 0x01000c20      ] };
801  
802     key <AB01> { [  0x01000c46, 0x01000c0e      ] };
803     key <AB02> { [  0x01000c02, 0x01000c01      ] };
804     key <AB03> { [  0x01000c2e, 0x01000c23      ] };
805     key <AB04> { [  0x01000c28, 0x01000c29      ] };
806     key <AB05> { [  0x01000c35, 0x01000c34      ] };
807     key <AB06> { [  0x01000c32, 0x01000c33      ] };
808     key <AB07> { [  0x01000c38, 0x01000c36      ] };
809     key <AB08> { [  comma     , 0x01000c37      ] };
810     key <AB09> { [  period    , 0x01000c64      ] };
811     key <AB10> { [  0x01000c2f, 0x01000040      ] };
812     key <BKSL> { [  0x01000c49, 0x01000c11      ] };
813
814     key <RALT> {        
815         symbols[Group1] = [ Mode_switch, Multi_key ],
816         virtualMods = AltGr
817     };
818 };
819
820 partial alphanumeric_keys 
821 xkb_symbols "urd" {
822     include "pk(urd)"
823     name[Group1]= "India - Urdu";
824 };
825
826 // based on a keyboard map from an 'xkb/symbols/gur' file
827
828 partial alphanumeric_keys
829 xkb_symbols "guru" {
830       name[Group1]= "India - Gurmukhi";
831
832       // Mainly numbers.
833       key <AE01> { [      0x1000A67             ]       };
834       key <AE02> { [      0x1000A68             ]       };
835       key <AE03> { [      0x1000A69             ]       };
836       key <AE04> { [      0x1000A6A             ]       };
837       key <AE05> { [      0x1000A6B             ]       };
838       key <AE06> { [      0x1000A6C             ]       };
839       key <AE07> { [      0x1000A6D             ]       };
840       key <AE08> { [      0x1000A6e             ]       };
841       key <AE09> { [      0x1000A6F, parenleft  ]       };
842       key <AE10> { [      0x1000A66, parenright ]       };
843       key <AE11> { [      gur_visarga           ]       };
844       key <AE12> { [      gur_v_r, gur_v_r_s    ]       };
845
846 // Mainly long vowels
847
848       key <AD01> { [      0x1000A4C, 0x1000A14  ]       };
849       key <AD02> { [      0x1000A48, 0x1000A10  ]       };
850       key <AD03> { [      0x1000A3E, 0x1000A06  ]       };
851       key <AD04> { [      0x1000A40, 0x1000A08  ]       };
852       key <AD05> { [      0x1000A42, 0x1000A0A  ]       };
853
854 // Mainly voiced consonants
855
856       key <AD06> { [      0x1000A2C, 0x1000A2D  ]       };
857       key <AD07> { [      0x1000A39, 0x1000A19  ]       };
858       key <AD08> { [      0x1000A17, 0x1000A18  ]       };
859       key <AD09> { [      0x1000A26, 0x1000A27  ]       };
860       key <AD10> { [      0x1000A1C, 0x1000A1D  ]       };
861       key <AD11> { [      0x1000A21, 0x1000A22  ]       };
862       key <AD12> { [      0x1000A3C, 0x1000A1E  ]       };
863
864 // Mainly short vowels
865       key <AC01> { [      0x1000A4B, 0x1000A13  ]       };
866       key <AC02> { [      0x1000A47, 0x1000A0F  ]       };
867       key <AC03> { [      0x1000A4D, 0x1000A05  ]       };
868       key <AC04> { [      0x1000A3F, 0x1000A07  ]       };
869       key <AC05> { [      0x1000A41, 0x1000A09  ]       };
870
871 // Mainly unvoiced consonants
872
873       key <AC06> { [      0x1000A2A, 0x1000A2B  ]       };
874       key <AC07> { [      0x1000A30, 0x1000A30  ]       };
875       key <AC08> { [      0x1000A15, 0x1000A16  ]       };
876       key <AC09> { [      0x1000A24, 0x1000A25  ]       };
877       key <AC10> { [      0x1000A1A, 0x1000A1B  ]       };
878       key <AC11> { [      0x1000A1F, 0x1000A20  ]       };
879       key <BKSL> { [      backslash, bar        ]       };
880
881       key <AB01> { [              z, Z          ]       };
882       key <AB02> { [      0x1000A02, 0x1000A70  ]       };
883       key <AB03> { [      0x1000A2E, 0x1000A23  ]       };
884       key <AB04> { [      0x1000A28, 0x1000A28  ]       };
885       key <AB05> { [      0x1000A35, 0x1000A35  ]       };
886       key <AB06> { [      0x1000A32, 0x1000A33  ]       };
887       key <AB07> { [      0x1000A38, 0x1000A36  ]       };
888       key <AB08> { [      comma,     less       ]       };
889       key <AB09> { [      period,    0x1000964  ]       };
890       key <AB10> { [      0x1000A2F, question   ]       };
891 };