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