in revision 5a35480e
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:)
24default partial alphanumeric_keys
25xkb_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, U005C, U007C ] };
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
100partial alphanumeric_keys
101xkb_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,		U007C,		U005C   ] }; //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
172partial alphanumeric_keys
173xkb_symbols "ben" {
174    name[Group1]= "India - Bengali";
175
176      // Mainly numbers.
177      key <AE01> { [      U09E7 		]	};
178      key <AE02> { [      U09E8 		]	};
179      key <AE03> { [      U09E9 		]	};
180      key <AE04> { [      U09EA 		]	};
181      key <AE05> { [      U09EB		]	};
182      key <AE06> { [      U09EC 		]	};
183      key <AE07> { [      U09ED	        ]	};
184      key <AE08> { [      U09EE 		]	};
185      key <AE09> { [      U09EF, parenleft	]	};
186      key <AE10> { [      U09E6, parenright	]	};
187      key <AE11> { [      minus, U0983 	]	};
188      key <AE12> { [      U098B, U09C3	]	};
189
190// Mainly long vowels
191
192      key <AD01> { [      U09CC,  U0994	]	};
193      key <AD02> { [      U09C8,  U0990	]	};
194      key <AD03> { [      U09BE,  U0986	]	};
195      key <AD04> { [      U09C0,  U0988	]	};
196      key <AD05> { [      U09C2,  U098A	]	};
197
198// Mainly voiced consonants
199
200      key <AD06> { [      U09AC,  U09AD	]	};
201      key <AD07> { [      U09B9,  U0999 ]	};
202      key <AD08> { [      U0997,  U0998 ]	};
203      key <AD09> { [      U09A6,  U09A7 ]	};
204      key <AD10> { [      U099C,  U099D ]	};
205      key <AD11> { [      U09A1, U09A2 	]	};
206      key <AD12> { [      U09BC, U099E 	]	};
207
208// Mainly short vowels
209      key <AC01> { [      U09CB,  U0993 ]	};
210      key <AC02> { [      U09C7,  U098F ]	};
211      key <AC03> { [      U09CD,  U0985 ]	};
212      key <AC04> { [      U09BF,  U0987 ]	};
213      key <AC05> { [      U09C1,  U0989 ]	};
214
215
216// Mainly unvoiced consonants
217
218      key <AC06> { [      U09AA,  U09AB ]	};
219      key <AC07> { [      U09B0,  U09DD ]	};
220      key <AC08> { [      U0995,  U0996 ]	};
221      key <AC09> { [      U09A4,  U09A5 ]	};
222      key <AC10> { [      U099A,  U099B ]	};
223      key <AC11> { [      U099F, U09A0 	]	};
224      key <BKSL> { [      U005C, U007C 	]	};
225
226      key <AB01> { [      z, Z  		]       };
227      key <AB02> { [      U0982,  U0981 ]       };
228      key <AB03> { [      U09AE,  U09A3 ]       };
229      key <AB04> { [      U09A8,  U09A8 ]       };
230      key <AB05> { [      U09AC,  U09AC ]       };
231      key <AB06> { [      U09B2,  U09B2 ]       };
232      key <AB07> { [      U09B8,  U09B6 ]       };
233      key <AB08> { [      comma,      U09B7 ]       };
234      key <AB09> { [      period,     U0964 ]       };
235      key <AB10> { [      U09DF,  U09AF	]       };
236};
237
238xkb_symbols "ben_probhat" {
239 name[Group1]= "India - Bengali Probhat";
240   key <ESC>  { [ Escape ] };
241
242// numbers
243   key <TLDE> { [ U200D, asciitilde   ] };
244   key <AE01> { [ U09E7, exclam       ] };
245   key <AE02> { [ U09E8, at           ] };
246   key <AE03> { [ U09E9, numbersign   ] };
247   key <AE04> { [ U09EA, U09F3    ] };
248   key <AE05> { [ U09EB, percent      ] };
249   key <AE06> { [ U09EC, asciicircum  ] };
250   key <AE07> { [ U09ED, U099E    ] };
251   key <AE08> { [ U09EE, U09CE    ] };
252   key <AE09> { [ U09EF, parenleft    ] };
253   key <AE10> { [ U09E6, 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> { [   U09A6,  U09A7  ] };
261   key <AD02> { [   U09C2,  U098A  ] };
262   key <AD03> { [   U09C0,  U0988  ] };
263   key <AD04> { [   U09B0,  U09DC  ] };
264   key <AD05> { [   U099F,  U09A0  ] };
265   key <AD06> { [   U098F,  U0990  ] };
266   key <AD07> { [   U09C1,  U0989  ] };
267   key <AD08> { [   U09BF,  U0987  ] };
268   key <AD09> { [   U0993,  U0994  ] };
269   key <AD10> { [   U09AA,  U09AB  ] };
270   key <AD11> { [   U09C7,  U09C8  ] };
271   key <AD12> { [   U09CB,  U09CC  ] };
272   key <RTRN> { [   Return                 ] };
273
274// caps, a to ' 
275//   key <CAPS> { [   Caps_Lock              ] };
276   key <AC01> { [   U09BE,  U0985  ] };
277   key <AC02> { [   U09B8,  U09B7  ] };
278   key <AC03> { [   U09A1,  U09A2  ] };
279   key <AC04> { [   U09A4,  U09A5  ] };
280   key <AC05> { [   U0997,  U0998  ] };
281   key <AC06> { [   U09B9,  U0983  ] };
282   key <AC07> { [   U099C,  U099D  ] };
283   key <AC08> { [   U0995,  U0996  ] };
284   key <AC09> { [   U09B2,  U0982  ] };
285   key <AC10> { [   semicolon,  colon      ] };
286   key <AC11> { [   quoteright, quotedbl   ] };
287
288// shift, z to /
289//   key <LFSH> { [   Shift_L                ] };
290   key <AB01> { [   U09DF,  U09AF  ] };
291   key <AB02> { [   U09B6,  U09DD  ] };
292   key <AB03> { [   U099A,  U099B  ] };
293   key <AB04> { [   U0986,  U098B  ] };
294   key <AB05> { [   U09AC,  U09AD  ] };
295   key <AB06> { [   U09A8,  U09A3  ] };
296   key <AB07> { [   U09AE,  U0999  ] };
297   key <AB08> { [   comma,      U09C3  ] };
298   key <AB09> { [   U0964,  U0981  ] };
299   key <AB10> { [   U09CD,  question   ] };
300   key <BKSL> { [   U200C,  U0965  ] };
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
311partial alphanumeric_keys 
312xkb_symbols "guj" {
313      name[Group1]= "India - Gujarati";
314
315      // Mainly numbers.
316      key <AE01> { [      U0AE7, U0A8D 	]	};
317      key <AE02> { [      U0AE8, U0AC5 	]	};
318      key <AE03> { [      U0AE9 	 	]	};
319      key <AE04> { [      U0AEA  	 	]	};
320      key <AE05> { [      U0AEB  	 	]	};
321      key <AE06> { [      U0AEC  	 	]	};
322      key <AE07> { [      U0AED 		]	};
323      key <AE08> { [      U0AEE  	 	]	};
324      key <AE09> { [      U0AEF, parenleft 	]	};
325      key <AE10> { [      U0AE6, parenright ]	};
326      key <AE11> { [      minus,     U0A83  ]	};
327      key <AE12> { [      U0A8B, U0AC3 	]	};
328
329// Mainly long vowels
330
331      key <AD01> { [      U0ACC, U0A94  ]	};
332      key <AD02> { [      U0AC8, U0A90  ]	};
333      key <AD03> { [      U0ABE, U0A86  ]	};
334      key <AD04> { [      U0AC0, U0A88  ]	};
335      key <AD05> { [      U0AC2, U0A8A  ]	};
336
337// Mainly voiced consonants
338
339      key <AD06> { [      U0AAC, U0AAD 	]	};
340      key <AD07> { [      U0AB9, U0A99 	]	};
341      key <AD08> { [      U0A97, U0A98 	]	};
342      key <AD09> { [      U0AA6, U0AA7 	]	};
343      key <AD10> { [      U0A9C, U0A9D 	]	};
344      key <AD11> { [      U0AA1, U0AA2 	]	};
345      key <AD12> { [      U0ABC, U0A9E 	]	};
346
347// Mainly short vowels
348      key <AC01> { [      U0ACB, U0A93	]	};
349      key <AC02> { [      U0AC7, U0A8F	]	};
350      key <AC03> { [      U0ACD, U0A85  ]	};
351      key <AC04> { [      U0ABF, U0A87  ]	};
352      key <AC05> { [      U0AC1, U0A89  ]	};
353
354// Mainly unvoiced consonants
355
356      key <AC06> { [      U0AAA, U0AAB 	]	};
357      key <AC07> { [      U0AB0, U0AB0 	]	};
358      key <AC08> { [      U0A95, U0A96 	]	};
359      key <AC09> { [      U0AA4, U0AA5 	]	};
360      key <AC10> { [      U0A9A, U0A9B 	]	};
361      key <AC11> { [      U0A9F, U0AA0 	]	};
362      key <BKSL> { [      U0AC9, U0A91 	]	};
363
364      key <AB01> { [      z        , Z		]       };
365      key <AB02> { [      U0A82, U0A81	]       };
366      key <AB03> { [      U0AAE, U0AA3  ]       };
367      key <AB04> { [      U0AA8, U0AA8   ]       };
368      key <AB05> { [      U0AB5, U0AB5   ]       };
369      key <AB06> { [      U0AB2, U0AB3  ]       };
370      key <AB07> { [      U0AB8, U0AB6  ]       };
371      key <AB08> { [      comma,     U0AB7  ]       };
372      key <AB09> { [      period,    U0964  ]       };
373      key <AB10> { [      U0AAF, question   ]       };
374};
375
376partial alphanumeric_keys 
377xkb_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> { [  U0cca, U0c92	] };
387    key <AE01> { [  U0ce7			] };
388    key <AE02> { [  U0ce8			] };
389    key <AE03> { [  U0ce9			] };
390    key <AE04> { [  U0cea			] };
391    key <AE05> { [  U0ceb			] };
392    key <AE06> { [  U0cec			] };
393    key <AE07> { [  U0ced			] };
394    key <AE08> { [  U0cee			] };
395    key <AE09> { [  U0cef			] };
396    key <AE10> { [  U0ce6			] };
397    key <AE11> { [  U0c83			] };
398    key <AE12> { [  U0cc3, U0c8b	] };
399
400    key <AD01> { [  U0ccc, U0c94	] };
401    key <AD02> { [  U0cc8, U0c90	] };
402    key <AD03> { [  U0cbe, U0c86	] };
403    key <AD04> { [  U0cc0, U0c88	] };
404    key <AD05> { [  U0cc2, U0c8a	] };
405    key <AD06> { [  U0cac, U0cad	] };
406    key <AD07> { [  U0cb9, U0c99	] };
407    key <AD08> { [  U0c97, U0c98	] };
408    key <AD09> { [  U0ca6, U0ca7	] };
409    key <AD10> { [  U0c9c, U0c9d	] };
410    key <AD11> { [  U0ca1, U0ca2	] };
411    key <AD12> { [  U0cbc, U0c9e	] };
412 
413    key <AC01> { [  U0ccb, U0c93	] };
414    key <AC02> { [  U0cc7, U0c8f	] };
415    key <AC03> { [  U0ccd, U0c85	] };
416    key <AC04> { [  U0cbf, U0c87	] };
417    key <AC05> { [  U0cc1, U0c89	] };
418    key <AC06> { [  U0caa, U0cab	] };
419    key <AC07> { [  U0cb0, U0cb1	] };
420    key <AC08> { [  U0c95, U0c96	] };
421    key <AC09> { [  U0ca4, U0ca5	] };
422    key <AC10> { [  U0c9a, U0c9b	] };
423    key <AC11> { [  U0c9f, U0ca0	] };
424
425    key <AB01> { [  U0cc6, U0c8e	] };
426    key <AB02> { [  U0c82			] };
427    key <AB03> { [  U0cae, U0ca3	] };
428    key <AB04> { [  U0ca8			] };
429    key <AB05> { [  U0cb5, U0cb4	] };
430    key <AB06> { [  U0cb2, U0cb3	] };
431    key <AB07> { [  U0cb8, U0cb6	] };
432    key <AB08> { [  comma     , U0cb7	] };
433    key <AB09> { [  period    				] };
434    key <AB10> { [  U0caf, U0040	] };
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
449partial alphanumeric_keys 
450xkb_symbols "mal" {
451
452    name[Group1] = "India - Malayalam";
453
454    //From grave to backslash (\)
455    
456    key <TLDE> { [ U0d4a , U0d12           ] };
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> { [ U0d67 ,      exclam ] };
475      key <AE02> { [ U0d68 ,          at ] };
476      key <AE03> { [ U0d69 ,  numbersign ] };
477      key <AE04> { [ U0d6a ,      dollar ] };
478      key <AE05> { [ U0d6b ,     percent ] };
479      key <AE06> { [ U0d6c , asciicircum ] };
480      key <AE07> { [ U0d6d ,   ampersand ] };
481      key <AE08> { [ U0d6e ,  asterisk ] };
482      key <AE09> { [ U0d6f ,   parenleft ] };
483      key <AE10> { [ U0d66 ,  parenright ] };
484
485    key <AE11> { [ minus      , U0d03           ] };
486    key <AE12> { [ U0d43 , U0d0b           ] };
487    key <BKSL>  { [U0200c, U05C ]};//bksl: ZWNJ 
488
489  
490    // From 'q' to right bracket (])
491    
492    key <AD01> { [ U0d4c , U0d14 ] };
493    key <AD02> { [ U0d48 , U0d10 ] };
494    key <AD03> { [ U0d3e , U0d06 ] };
495    key <AD04> { [ U0d40 , U0d08 ] };
496    key <AD05> { [ U0d42 , U0d0a ] };
497    key <AD06> { [ U0d2c , U0d2d ] };
498    key <AD07> { [ U0d39 , U0d19 ] };
499    key <AD08> { [ U0d17 , U0d18 ] };
500    key <AD09> { [ U0d26 , U0d27 ] };
501    key <AD10> { [ U0d1c , U0d1d ] };
502    key <AD11> { [ U0d21 , U0d22 ] };
503    key <AD12> { [ U0200d , U0d1e ] };
504
505    // From 'a' to apostrophe (')
506    
507    key <AC01> { [ U0d4b , U0d13 ] };
508    key <AC02> { [ U0d47 , U0d0f ] };
509    key <AC03> { [ U0d4d , U0d05 ] };
510    key <AC04> { [ U0d3f , U0d07 ] };
511    key <AC05> { [ U0d41 , U0d09 ] };
512    key <AC06> { [ U0d2a , U0d2b ] };
513    key <AC07> { [ U0d30 , U0d31 ] };
514    key <AC08> { [ U0d15 , U0d16 ] };
515    key <AC09> { [ U0d24 , U0d25 ] };
516    key <AC10> { [ U0d1a , U0d1b ] };
517    key <AC11> { [ U0d1f , U0d20 ] };
518    
519    // From 'z' to slash (/)
520    
521    key <AB01> { [ U0d46 , U0d0e ] };
522    key <AB02> { [ U0d02 , U200b ] };//X:ZWSP
523    key <AB03> { [ U0d2e , U0d23 ] };
524    key <AB04> { [ U0d28 ] };
525    key <AB05> { [ U0d35 , U0d34 ] };
526    key <AB06> { [ U0d32 , U0d33 ] };
527    key <AB07> { [ U0d38 , U0d36 ] };
528    key <AB08> { [ comma      , U0d37 ] };
529    key <AB09> { [ period     , U0200d ] };
530    key <AB10> { [ U0d2f , 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
539partial alphanumeric_keys
540xkb_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	] };//backslash:pipe,backslash,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
608partial alphanumeric_keys 
609xkb_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> { [  U0b67			] };
617    key <AE02> { [  U0b68			] };
618    key <AE03> { [  U0b69			] };
619    key <AE04> { [  U0b6a			] };
620    key <AE05> { [  U0b6b			] };
621    key <AE06> { [  U0b6c			] };
622    key <AE07> { [  U0b6d			] };
623    key <AE08> { [  U0b6e			] };
624    key <AE09> { [  U0b6f			] };
625    key <AE10> { [  U0b66			] };
626    key <AE11> { [  U0b03			] };
627    key <AE12> { [  U0b43, U0b0b	] };
628
629    key <AD01> { [  U0b4c, U0b14	] };
630    key <AD02> { [  U0b48, U0b10	] };
631    key <AD03> { [  U0b3e, U0b06	] };
632    key <AD04> { [  U0b40, U0b08	] };
633    key <AD05> { [  U0b42, U0b0a	] };
634    key <AD06> { [  U0b2c, U0b2d	] };
635    key <AD07> { [  U0b39, U0b19	] };
636    key <AD08> { [  U0b17, U0b18	] };
637    key <AD09> { [  U0b26, U0b27	] };
638    key <AD10> { [  U0b1c, U0b1d	] };
639    key <AD11> { [  U0b21, U0b22	] };
640    key <AD12> { [  U0b3c, U0b1e	] };
641 
642    key <AC01> { [  U0b4b, U0b13	] };
643    key <AC02> { [  U0b47, U0b0f	] };
644    key <AC03> { [  U0b4d, U0b05	] };
645    key <AC04> { [  U0b3f, U0b07	] };
646    key <AC05> { [  U0b41, U0b09	] };
647    key <AC06> { [  U0b2a, U0b2b	] };
648    key <AC07> { [  U0b30			] };
649    key <AC08> { [  U0b15, U0b16	] };
650    key <AC09> { [  U0b24, U0b25	] };
651    key <AC10> { [  U0b1a, U0b1b	] };
652    key <AC11> { [  U0b1f, U0b20	] };
653 
654    key <AB02> { [  U0b02, U0b01	] };
655    key <AB03> { [  U0b2e, U0b23	] };
656    key <AB04> { [  U0b28			] };
657    key <AB05> { [  U0b35			] };
658    key <AB06> { [  U0b32, U0b33	] };
659    key <AB07> { [  U0b38, U0b36	] };
660    key <AB08> { [  comma     , U0b37	] };
661    key <AB09> { [  period    				] };
662    key <AB10> { [  U0b2f, U0040	] };
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
674partial alphanumeric_keys 
675xkb_symbols "tam" {
676      name[Group1]= "India - Tamil";
677
678      key <TLDE> { [      U0BCA, U0B92	]	};
679
680      // Mainly numbers.
681      key <AE01> { [      U0BE7 		]	};
682      key <AE02> { [      U0BE8 		]	};
683      key <AE03> { [      U0BE9 		]	};
684      key <AE04> { [      U0BEA 		]	};
685      key <AE05> { [      U0BEB 		]	};
686      key <AE06> { [      U0BEC 		]	};
687      key <AE07> { [      U0BED        	]	};
688      key <AE08> { [      U0BEE 		]	};
689      key <AE09> { [      U0BEF, parenleft	]	};
690      key <AE10> { [      U0BF0, parenright	]	};
691      key <AE11> { [      U0BF1, U0B83  ]	};
692      key <AE12> { [      U0BF2, plus	] 	};
693
694// Mainly long vowels
695
696      key <AD01> { [      U0BCC,  U0B94 ]	};
697      key <AD02> { [      U0BC8,  U0B90 ]	};
698      key <AD03> { [      U0BBE,  U0B86 ]	};
699      key <AD04> { [      U0BC0,  U0B88 ]	};
700      key <AD05> { [      U0BC2,  U0B8A ]	};
701
702// Mainly voiced consonants
703
704      key <AD07> { [      U0BB9, U0B99	]	};
705      key <AD12> { [      U0B9E				]	};
706
707// Mainly short vowels
708      key <AC01> { [      U0BCB,  U0B93 ]	};
709      key <AC02> { [      U0BC7,  U0B8F ]	};
710      key <AC03> { [      U0BCD,  U0B85 ]	};
711      key <AC04> { [      U0BBF,  U0B87 ]	};
712      key <AC05> { [      U0BC1,  U0B89 ]	};
713
714// Mainly unvoiced consonants
715
716      key <AC06> { [      U0BAA 		]	};
717      key <AC07> { [      U0BB0,  U0BB1 ]	};
718      key <AC08> { [      U0B95 		]	};
719      key <AC09> { [      U0BA4 		]	};
720      key <AC10> { [      U0B9A 		]	};
721      key <AC11> { [      U0B9F 		]	};
722      key <BKSL> { [      U005C, U007C	]	};//backslash-bar  - Changed to Unicode
723
724      key <AB01> { [      U0BC6,  U0B8E	]	};
725      key <AB02> { [      U0B82   		]       };
726      key <AB03> { [      U0BAE,  U0BA3 ]       };
727      key <AB04> { [      U0BA8,  U0BA9 ]       };
728      key <AB05> { [      U0BB5,  U0BB4 ]       };
729      key <AB06> { [      U0BB2,  U0BB3 ]       };
730      key <AB07> { [      U0BB8		]       };
731      key <AB08> { [      comma,      U0BB7 ]       };
732      key <AB09> { [      period,     U0964 ]       };
733      key <AB10> { [      U0BAF,  question  ]       };
734};
735
736partial alphanumeric_keys 
737xkb_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> {  [ U0b83 ] } ;
749    key <AE03> {  [ U0b9c ] } ;
750    key <AE04> {  [ U0bb7 ] } ;
751    key <AE05> {  [ U0bb8 ] } ;
752    key <AE06> {  [ U0bb9 ] } ;
753	
754    // Qrow
755    key <AD01> {  [ U0b9e ] };
756    key <AD02> {  [ U0bb1 ] };
757    key <AD03> {  [ U0ba8 ] };
758    key <AD04> {  [ U0b9a ] };
759    key <AD05> {  [ U0bb5 ] };
760    key <AD06> {  [ U0bb2 ] };
761    key <AD07> {  [ U0bb0 ] };
762    key <AD08> {  [ U0bc8, U0b90 ] };
763    key <AD09> {  [ U0bca, U0bcb ] };
764    key <AD10> {  [ U0bbf, U0bc0 ] };
765    key <AD11> {  [ U0bc1, U0bc2 ] };
766
767    // Arow
768    key <AC01> { [ U0baf ] };
769    key <AC02> { [ U0bb3 ] };
770    key <AC03> { [ U0ba9 ] };
771    key <AC04> { [ U0b95 ] };
772    key <AC05> { [ U0baa ] };
773    key <AC06> { [ U0bbe, U0bb4 ] };
774    key <AC07> { [ U0ba4 ] };
775    key <AC08> { [ U0bae ] };
776    key <AC09> { [ U0b9f ] };
777    key <AC10> { [ U0bcd ] };
778    key <AC11> { [ U0b99 ] };
779    
780    // Zrow
781    key <AB01> { [ U0ba3 ]  };
782    key <AB02> { [ U0b92, U0b93 ]  };
783    key <AB03> { [ U0b89, U0b8a ]  };
784    key <AB04> { [ U0b8e, U0b8f ]  };
785    key <AB05> { [ U0bc6, U0bc7 ]  };
786    key <AB06> { [ U0b94, U0bcc ]  };
787    key <AB07> { [ U0b85, U0b86 ]  };
788    key <AB08> { [ U0b87, U0b88 ]  };
789};
790
791partial alphanumeric_keys 
792xkb_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
848partial alphanumeric_keys 
849xkb_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
904partial alphanumeric_keys 
905xkb_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> { [  U0c4a, U0c12	] };
915    key <AE01> { [  U0c67			] };
916    key <AE02> { [  U0c68			] };
917    key <AE03> { [  U0c69, numbersign	] };
918    key <AE04> { [  U0c6a, dollar		] };
919    key <AE05> { [  U0c6b, percent		] };
920    key <AE06> { [  U0c6c, asciicircum	] };
921    key <AE07> { [  U0c6d, ampersand	] };
922    key <AE08> { [  U0c6e, asterisk	] };
923    key <AE09> { [  U0c6f, parenleft	] };
924    key <AE10> { [  U0c66, parenright	] };
925    key <AE11> { [  U0c03, underscore	] };
926    key <AE12> { [  U0c43, U0c0b	] };
927    key <BKSP> { [  BackSpace			] };    
928 
929    key <AD01> { [  U0c4c, U0c14	] };
930    key <AD02> { [  U0c48, U0c10	] };
931    key <AD03> { [  U0c3e, U0c06	] };
932    key <AD04> { [  U0c40, U0c08	] };
933    key <AD05> { [  U0c42, U0c0a	] };
934    key <AD06> { [  U0c2c, U0c2d	] };
935    key <AD07> { [  U0c39, U0c19	] };
936    key <AD08> { [  U0c17, U0c18	] };
937    key <AD09> { [  U0c26, U0c27	] };
938    key <AD10> { [  U0c1c, U0c1d	] };
939    key <AD11> { [  U0c21, U0c22	] };
940    key <AD12> { [  U0c1e			] };
941  
942    key <AC01> { [  U0c4b, U0c13	] };
943    key <AC02> { [  U0c47, U0c0f	] };
944    key <AC03> { [  U0c4d, U0c05	] };
945    key <AC04> { [  U0c3f, U0c07	] };
946    key <AC05> { [  U0c41, U0c09	] };
947    key <AC06> { [  U0c2a, U0c2b	] };
948    key <AC07> { [  U0c30, U0c31	] };
949    key <AC08> { [  U0c15, U0c16	] };
950    key <AC09> { [  U0c24, U0c25	] };
951    key <AC10> { [  U0c1a, U0c1b	] };
952    key <AC11> { [  U0c1f, U0c20	] };
953 
954    key <AB01> { [  U0c46, U0c0e	] };
955    key <AB02> { [  U0c02, U0c01	] };
956    key <AB03> { [  U0c2e, U0c23	] };
957    key <AB04> { [  U0c28			] };
958    key <AB05> { [  U0c35			] };
959    key <AB06> { [  U0c32, U0c33	] };
960    key <AB07> { [  U0c38, U0c36	] };
961    key <AB08> { [  comma     , U0c37	] };
962    key <AB09> { [  period    				] };
963    key <AB10> { [  U0c2f, U0040	] };
964
965    key <RALT> {        
966        symbols[Group1] = [ Mode_switch, Multi_key ],
967        virtualMods = AltGr
968    };
969};
970
971partial alphanumeric_keys 
972xkb_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
979partial alphanumeric_keys
980xkb_symbols "guru" {
981      name[Group1]= "India - Gurmukhi";
982
983      // Mainly numbers.
984      key <AE01> { [      U0A67 		]	};
985      key <AE02> { [      U0A68		]	};
986      key <AE03> { [      U0A69, U0A71	]	};
987      key <AE04> { [      U0A6A, U0A74	 	]	};
988      key <AE05> { [      U0A6B, U262C		]	};
989      key <AE06> { [      U0A6C  	 	]	};
990      key <AE07> { [      U0A6D 		]	};
991      key <AE08> { [      U0A6e  	 	]	};
992      key <AE09> { [      U0A6F, parenleft 	]	};
993      key <AE10> { [      U0A66, parenright ]	};
994      key <AE11> { [      gur_visarga 	 	]	};
995      key <AE12> { [      equal,	plus 	]	};
996
997// Mainly long vowels
998
999      key <AD01> { [      U0A4C, U0A14  ]	};
1000      key <AD02> { [      U0A48, U0A10  ]	};
1001      key <AD03> { [      U0A3E, U0A06  ]	};
1002      key <AD04> { [      U0A40, U0A08  ]	};
1003      key <AD05> { [      U0A42, U0A0A  ]	};
1004
1005// Mainly voiced consonants
1006
1007      key <AD06> { [      U0A2C, U0A2D 	]	};
1008      key <AD07> { [      U0A39, U0A19 	]	};
1009      key <AD08> { [      U0A17, U0A18 	]	};
1010      key <AD09> { [      U0A26, U0A27 	]	};
1011      key <AD10> { [      U0A1C, U0A1D 	]	};
1012      key <AD11> { [      U0A21, U0A22 	]	};
1013      key <AD12> { [      U0A3C, U0A1E 	]	};
1014
1015// Mainly short vowels
1016      key <AC01> { [      U0A4B, U0A13  ]	};
1017      key <AC02> { [      U0A47, U0A0F  ]	};
1018      key <AC03> { [      U0A4D, U0A05  ]	};
1019      key <AC04> { [      U0A3F, U0A07  ]	};
1020      key <AC05> { [      U0A41, U0A09  ]	};
1021
1022// Mainly unvoiced consonants
1023
1024      key <AC06> { [      U0A2A, U0A2B 	]	};
1025      key <AC07> { [      U0A30, U0A5C 	]	};
1026      key <AC08> { [      U0A15, U0A16 	]	};
1027      key <AC09> { [      U0A24, U0A25 	]	};
1028      key <AC10> { [      U0A1A, U0A1B 	]	};
1029      key <AC11> { [      U0A1F, U0A20 	]	};
1030      key <BKSL> { [      U005C, U007C	]	};
1031
1032      key <AB01> { [      z, 	 U0A01	]       };
1033      key <AB02> { [      U0A02, U0A70, U0A71  ]       };
1034      key <AB03> { [      U0A2E, U0A23  ]       };
1035      key <AB04> { [      U0A28, U0A28  ]       };
1036      key <AB05> { [      U0A35, U0A35  ]       };
1037      key <AB06> { [      U0A32, U0A33  ]       };
1038      key <AB07> { [      U0A38, U0A36  ]       };
1039      key <AB08> { [      comma,     less       ]       };
1040      key <AB09> { [      period,    U0964  ]       };
1041      key <AB10> { [      U0A2F, question   ]       };
1042};
1043
1044//Name		:	Jhelum (Refind Inscript)
1045//Description	:	A Jhelum keyboard layout for Gurmukhi (Punjabi)
1046//			http://www.satluj.org/Jhelum.html
1047//Modified for Inscript to make
1048//Original Author :	Amanpreet Singh Alam <apreet.alam@gmail.com
1049 
1050partial alphanumeric_keys
1051xkb_symbols "jhelum" {
1052      name[Group1] = "India - Gurmukhi Jhelum";
1053          key.type="FOUR_LEVEL";
1054     //Top Alphanumeric row
1055     // Roman digits
1056     key <TLDE>  { [  apostrophe, asciitilde, U0A02,U0A01 ] }; // apostrophe: anusvara, candrabindu
1057     key <AE01>  { [   1,exclam,	U0A67,	exclam	   ] };
1058     key <AE02>  { [   2,at,	U0A68,	at	   ] };
1059     key <AE03>  { [   3,numbersign, U0A69,	numbersign ] };
1060     key <AE04>  { [   4,dollar,	U0A6A,	dollar     ] };
1061     key <AE05>  { [   5,percent,U0A6B,	percent    ] };
1062     key <AE06>  { [   6,asciicircum, U0A6C,asciicircum ] };
1063     key <AE07>  { [   7,ampersand,U0A6D,ampersand  ] };
1064     key <AE08>  { [   8,asterisk,U0A6E,	asterisk   ] };
1065     key <AE09>  { [   9,parenleft,U0A6F,parenleft  ] };
1066     key <AE10>  { [   0,parenright,U0A66,parenright ] };
1067     key <AE11>	{ [   minus,underscore] };
1068     key <AE12>	{ [   equal,plus] };
1069     key <BKSL>  { [   U0964,U0965,U007C,U005C] }; //pipe : danda, double danda
1070 
1071     //Q Row	
1072     key <AD01>   { [   U0A4C, 	U0A14   ] };  // Q: oo, ooh
1073     key <AD02>   { [   U0A48,  	U0A10	] };  // W: ee, ae
1074     key <AD03>   { [   U0A3E,   U0A06  ] };  // E: a, aa
1075     key <AD04>   { [   U0A40,	U0A08  	] };  // R: ee, ai
1076     key <AD05>   { [   U0A42,   U0A0A   ] };  // T: u, uu
1077     key <AD06>   { [   U0A30,	U0A5C   ] };  // Y: ra, raa
1078     key <AD07>   { [   U0A26,   U0A27   ] };  // U: tha, thha
1079     key <AD08>   { [   U0A17,   U0A18   ] };  // I:ga, gha
1080     key <AD09>   { [   U0A24,   U0A1F   ] };  // O: ta, tha
1081     key <AD10>   { [   U0A2A,   U0A5E   ] };  // P: pa, pha
1082     key <AD11>   { [   U0A21,   U0A22,   bracketleft,   braceleft   ] };  
1083     key <AD12>	 { [   U0A19,   U0A1E,   bracketright, braceright   ] };
1084     
1085     //A Row
1086     key <AC01>   { [   U0A4B,	 U0A13  ] };   // A: o, oo
1087     key <AC02>   { [   U0A40,    U0A0F   ] };  // S: e, ee
1088     key <AC03>   { [   U0A4D,    U0A05   ] };  // D: halant, aa
1089     key <AC04>   { [   U0A3F,    U0A07   ] };  // F: i, aa
1090     key <AC05>   { [   U0A41,    U0A09   ] };  // G: u, uh
1091     key <AC06>   { [   U0A39,    U0A20   ] };  // H: ha, thha
1092     key <AC07>   { [   U0A1C,    U0A1D   ] };  // J: ja, jha
1093     key <AC08>   { [   U0A15,    U0A16   ] };  // K: ka, kha
1094     key <AC09>   { [   U0A32,	 U0A25   ] };  // L: la, tha
1095     key <AC10>   { [   U0A38,   semicolon, colon  ] }; //; sa
1096     key <AC11>   { [apostrophe, quotedbl ] };
1097 
1098     //Z Row
1099     key <AB01>   { [   U0A71,	 U0A3C 	 ] };  // Z: addak, par bindi
1100     key <AB02>   { [   U0A02,    U0A70	 ] };  // X: bindi, tippi
1101     key <AB03>   { [   U0A1A,    U0A1B   ] };  // C: ca, cha
1102     key <AB04>   { [   U0A35,    U0A2F   ] };  // V: va, ya
1103     key <AB05>   { [   U0A2C,    U0A2D   ] };  // B: ba, bha
1104     key <AB06>   { [   U0A28,    U0A23   ] };  // N: na, nha
1105     key <AB07>   { [   U0A2E, U0A2E       ] };  // M: ma
1106     key <AB08>   { [   comma,    U262C	 ] };// comma: comma, dev abbreviation sign
1107     key <AB09>   { [   period,   U0A74 	 ] };  // period: period, nukta
1108     key <AB10>	 { [   slash,   question ] };
1109 
1110// begin modifier mappings
1111//    modifier_map Shift  { Shift_L };
1112//    modifier_map Lock   { Caps_Lock };
1113//    modifier_map Control{ Control_L };
1114//    modifier_map Mod3   { Mode_switch };
1115    include "level3(ralt_switch)"
1116};
1117
1118partial alphanumeric_keys
1119xkb_symbols "olpc" {
1120
1121// Contact: Walter Bender <walter@laptop.org>
1122
1123  include "in(deva)"
1124  key <TLDE> { [	U094A,	U0912 ] }; // DEVANAGARI VOWEL SIGN SHORT O; DEVANAGARI LETTER SHORT O
1125  key <AE01> { [	U0967,	U090D ] }; // DEVANAGARI DIGIT ONE; DEVANAGARI LETTER CANDRA E
1126  key <AE02> { [	U0968,	U0945 ] }; // DEVANAGARI DIGIT TWO; DEVANAGARI VOWEL SIGN CANDRA E
1127  key <AE03> { [	U0969	 ] }; // DEVANAGARI DIGIT THREE; 
1128  key <AE04> { [	U096A	 ] }; // DEVANAGARI DIGIT FOUR; 
1129  key <AE05> { [	U096B	 ] }; // DEVANAGARI DIGIT FIVE; 
1130  key <AE06> { [	U096C	 ] }; // DEVANAGARI DIGIT SIX; 
1131  key <AE07> { [	U096D	 ] }; // DEVANAGARI DIGIT SEVEN; 
1132  key <AE08> { [	U096E	 ] }; // DEVANAGARI DIGIT EIGHT; 
1133  key <AE09> { [	U096F,	parenleft ] }; // DEVANAGARI DIGIT NINE; 
1134  key <AE10> { [	U0966,	parenright ] }; // DEVANAGARI DIGIT ZERO; 
1135  key <AE11> { [	minus,		U0903 ] }; // DEVANAGARI SIGN VISARGA; 
1136  key <AE12> { [	U0943,	U090B ] }; // DEVANAGARI VOWEL SIGN VOCALIC R; DEVANAGARI LETTER VOCALIC R
1137
1138  key <AD01> { [	U094C,	U0914 ] }; // DEVANAGARI VOWEL SIGN AU; DEVANAGARI LETTER AU
1139  key <AD02> { [	U0948,	U0910 ] }; // DEVANAGARI VOWEL SIGN AI; DEVANAGARI LETTER AI
1140  key <AD03> { [	U093E,	U0906 ] }; // DEVANAGARI VOWEL SIGN AA; DEVANAGARI LETTER AA
1141  key <AD04> { [	U0940,	U0908 ] }; // DEVANAGARI VOWEL SIGN II; DEVANAGARI LETTER II
1142  key <AD05> { [	U0942,	U090A ] }; // DEVANAGARI VOWEL SIGN UU; DEVANAGARI LETTER UU
1143  key <AD06> { [	U092C,	U092D ] }; // DEVANAGARI LETTER BA; DEVANAGARI LETTER BHA
1144  key <AD07> { [	U0939,	U0919 ] }; // DEVANAGARI LETTER HA; DEVANAGARI LETTER NGA
1145  key <AD08> { [	U0917,	U0918 ] }; // DEVANAGARI LETTER GA; DEVANAGARI LETTER GHA
1146  key <AD09> { [	U0926,	U0927 ] }; // DEVANAGARI LETTER DA; DEVANAGARI LETTER DHA
1147  key <AD10> { [	U091C,	U091D ] }; // DEVANAGARI LETTER JA; DEVANAGARI LETTER JHA
1148  key <AD11> { [	U0921,	U0922 ] }; // DEVANAGARI LETTER DDA; DEVANAGARI LETTER DDHA
1149  key <AD12> { [	U093C,	U091E ] }; // DEVANAGARI SIGN NUKTA; DEVANAGARI LETTER NYA
1150
1151  key <BKSL> { [	U0949,	U0911 ] }; // DEVANAGARI VOWEL SIGN CANDRA O; DEVANAGARI LETTER CANDRA O
1152
1153  key <AC01> { [	U094B,	U0913 ] }; // DEVANAGARI VOWEL SIGN O; DEVANAGARI LETTER O
1154  key <AC02> { [	U0947,	U090F ] }; // DEVANAGARI VOWEL SIGN E; DEVANAGARI LETTER E
1155  key <AC03> { [	U094D,	U0905 ] }; // DEVANAGARI SIGN VIRAMA; DEVANAGARI LETTER A
1156  key <AC04> { [	U093F,	U0907 ] }; // DEVANAGARI VOWEL SIGN I; DEVANAGARI LETTER I
1157  key <AC05> { [	U0941,	U0909 ] }; // DEVANAGARI VOWEL SIGN U; DEVANAGARI LETTER U
1158  key <AC06> { [	U092A,	U092B ] }; // DEVANAGARI LETTER PA; DEVANAGARI LETTER PHA
1159  key <AC07> { [	U0930,	U0931 ] }; // DEVANAGARI LETTER RA; DEVANAGARI LETTER RRA
1160  key <AC08> { [	U0915,	U0916 ] }; // DEVANAGARI LETTER KA; DEVANAGARI LETTER KHA
1161  key <AC09> { [	U0924,	U0925 ] }; // DEVANAGARI LETTER TA; DEVANAGARI LETTER THA
1162  key <AC10> { [	U091A,	U091B ] }; // DEVANAGARI LETTER CA; DEVANAGARI LETTER CHA
1163  key <AC11> { [	U091F,	U0920 ] }; // DEVANAGARI LETTER TTA; DEVANAGARI LETTER TTHA
1164
1165  key <AB01> { [	U0946,	U090E ] }; // DEVANAGARI VOWEL SIGN SHORT E; DEVANAGARI LETTER SHORT E
1166  key <AB02> { [	U0902,	U0901 ] }; // DEVANAGARI SIGN ANUSVARA; DEVANAGARI SIGN CANDRABINDU
1167  key <AB03> { [	U092E,	U0923 ] }; // DEVANAGARI LETTER MA; DEVANAGARI LETTER NNA
1168  key <AB04> { [	U0928,	U0929 ] }; // DEVANAGARI LETTER NA; DEVANAGARI LETTER NNNA
1169  key <AB05> { [	U0935,	U0934 ] }; // DEVANAGARI LETTER VA; DEVANAGARI LETTER LLLA
1170  key <AB06> { [	U0932,	U0933 ] }; // DEVANAGARI LETTER LA; DEVANAGARI LETTER LLA
1171  key <AB07> { [	U0938,	U0936 ] }; // DEVANAGARI LETTER SA; DEVANAGARI LETTER SHA
1172  key <AB08> { [	comma,		U0937 ] }; // DEVANAGARI LETTER SSA
1173  key <AB09> { [	period,		U0964 ] }; // DEVANAGARI DANDA
1174  key <AB10> { [	U092F,	U095F ] }; // DEVANAGARI LETTER YA; DEVANAGARI LETTER YYA
1175
1176  key <SPCE> { [	space,		space,	U200C,	U200D ] }; // ZERO-WIDTH-NON-JOINER (ZWNJ); ZERO-WIDTH-JOINER (ZWJ)
1177
1178  include "group(olpc)"
1179};
1180