Home | History | Annotate | Line # | Download | only in symbols
in revision 1.16
      1 // This layout includes all Indian layouts, including:
      2 //     - Hindi
      3 //     - Marathi
      4 //     - Sanskrit
      5 //     - Bangla
      6 //     - Gujarati
      7 //     - Kannada
      8 //     - Malayalam
      9 //     - Ol Chiki
     10 //     - Oriya
     11 //     - Tamil
     12 //     - Telugu
     13 //     - Urdu
     14 
     15 // Links:
     16 // - Indic INSCRIPT keyboard layout diagrams:
     17 //     http://java.sun.com/products/jfc/tsc/articles/InputMethod/indiclayout.html
     18 // - Bangla Baishakhi (Bangla layouts):
     19 // - Bangla Baishakhi InScript (Bangla layouts):
     20 // - Bangla Bornona (Bangla layouts):
     21 // - Uni Gitanjali (Bangla layouts):
     22 //     http://nltr.org
     23 // - Ekusheyr Shadhinota (Bangla layouts):
     24 //     http://ekushey.org/projects/shadhinota/index.html
     25 // - Microsoft Windows XP SP2: Indic Language Standards - an Introduction:
     26 //     http://www.bhashaindia.com/MSProducts/XpSp2/Articles/IndicLanguageStandards.aspx
     27 // - Ol Chiki:
     28 //    http://www.unicode.org/L2/L2005/05243r-n2984-ol-chiki.pdf (fig. 9)
     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, U20b9       ] }; // Rupee
     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 "level3(ralt_switch)"
     97 };
     98 
     99 //Name		:	Bolnagri (Combined)
    100 //Description	:	A phonetic keyboard layout for Devnagari(Hindi)
    101 //			http://www.indlinux.org/wiki/index.php/BolNagri
    102 //NOTE		: 	This is a combined map of bolnagri_matras and bolnagri_vowels.
    103 //Inspired by "devrom" keymap by Steve Smith for the windows tool "keyman"
    104 //Original Author :	Noah Levitt<nlevitt at columbia.edu>
    105 //Past Authors  : Pramod.R <pramodr at gmail.com> and Ravikant <ravikant at sarai.net>
    106 //Current Main. : G Karunakar <karunakar (a] indlinux.org>
    107 
    108 partial alphanumeric_keys
    109 xkb_symbols "bolnagri" {
    110      name[Group1] = "Hindi (Bolnagri)";
    111      key.type="FOUR_LEVEL";
    112 
    113     // Roman digits
    114     key <TLDE>  { [   U0902,	U0901,		grave, 	asciitilde ] }; // grave: anusvara, candrabindu
    115     key <AE01>  { [   1,	exclam,		U0967,		exclam	   ] };
    116     key <AE02>  { [   2,	at,		U0968,		at	   ] };
    117     key <AE03>  { [   3,    	numbersign, 	U0969,		numbersign ] };
    118     key <AE04>  { [   4,	dollar,		U096A,		U20B9      ] }; // Rupee
    119     key <AE05>  { [   5,	percent,	U096B,		percent    ] };
    120     key <AE06>  { [   6,	asciicircum,	U096C,		asciicircum ] };
    121     key <AE07>  { [   7,	ampersand,	U096D,		ampersand  ] };
    122     key <AE08>  { [   8,	asterisk,	U096E,		asterisk   ] };
    123     key <AE09>  { [   9,	parenleft,	U096F,		parenleft  ] };
    124     key <AE10>  { [   0,	parenright,	U0966,		parenright ] };
    125     key <AE11>	{ [   minus,	underscore	     ] };
    126     key <AE12>	{ [   equal,	plus		     ] };
    127     key <BKSL>  { [   U0964,	U0965,		U007C,		U005C   ] }; //pipe : danda, double danda
    128 
    129     //Q Row	
    130     key <AD01>   { [   U200C, 	U200D   ] };  // Q: ZWNJ, ZWJ
    131     key <AD02>   { [   U0935,  	U950	] };  // W: wa, OM
    132     key <AD03>   { [   U0947,   U0948,	U090F,	U0910   ] };  // E: e, ai matras
    133     key <AD04>   { [   U0930,	U0943,	U0931,  U090B  	] };  // R: ra, vocalic Ri
    134     key <AD05>   { [   U0924,   U0925   ] };  // T: ta, tha
    135     key <AD06>   { [   U092f,	U091E   ] };  // Y: ya, nya
    136     key <AD07>   { [   U0941,   U0942,	U0909,	U090A   ] };  // U: u, uu matras
    137     key <AD08>   { [   U093F,   U0940,	U0907,	U0908   ] };  // I: i, ii matras
    138     key <AD09>   { [   U094B,   U094C,	U0913,	U0914   ] };  // O: o, au matras
    139     key <AD10>   { [   U092A,   U092B   ] };  // P: pa, pha
    140     key <AD11>   { [   bracketleft,   braceleft   ] };
    141     key <AD12>	 { [   bracketright, braceright   ] };
    142 
    143     //A Row
    144     key <AC01>   { [   U093E,	 U0906,	U0905,	U0906  ] };   // A: aa, full A, AA
    145     key <AC02>   { [   U0938,    U0937   ] };  // S: sa, ssa
    146     key <AC03>   { [   U0926,    U0927   ] };  // D: da, dha
    147     key <AC04>   { [   U091F,    U0920   ] };  // F: TA, THA
    148     key <AC05>   { [   U0917,    U0918   ] };  // G: ga, gha
    149     key <AC06>   { [   U0939,    U0903   ] };  // H: ha, visarg 
    150     key <AC07>   { [   U091C,    U091D   ] };  // J: ja, jha
    151     key <AC08>   { [   U0915,    U0916   ] };  // K: ka, kha
    152     key <AC09>   { [   U0932,	 U0933,	U0962,   U090C   ] };  // L: la, vocalic L or lru matra
    153     key <AC10>   { [   semicolon, colon  ] };
    154     key <AC11>   { [apostrophe, quotedbl ] };
    155 
    156     //Z Row
    157     key <AB01>   { [   U0936,	 U0945, U0936, U090D 	 ] };  // Z: sha, akaar candra
    158     key <AB02>   { [   U094D,    U0949, U094D, U0911	 ] };  // X: halant, aakaar candra, chandra A
    159     key <AB03>   { [   U091A,    U091B   ] };  // C: ca, cha
    160     key <AB04>   { [   U0921,    U0922   ] };  // V: da, dha
    161     key <AB05>   { [   U092C,    U092D   ] };  // B: ba, bha
    162     key <AB06>   { [   U0928,    U0923   ] };  // N: na, nna
    163     key <AB07>   { [   U092E,    U0919,	U092E,	U093D   ] };  // M: ma, nga, avagraha
    164     key <AB08>   { [   comma,    U0970	 ] };// comma: comma, dev abbreviation sign
    165     key <AB09>   { [   period,   U093C 	 ] };  // period: period, nukta
    166     key <AB10>	 { [   slash,   question ] };
    167 
    168 //    modifier_map Shift  { Shift_L };
    169 //    modifier_map Lock   { Caps_Lock };
    170 //    modifier_map Control{ Control_L };
    171 //    modifier_map Mod3   { Mode_switch };
    172 
    173     include "level3(ralt_switch)"
    174 };
    175 
    176 partial alphanumeric_keys
    177 xkb_symbols "ben" {
    178     name[Group1]= "Bangla (India)";
    179 
    180       // Mainly numbers.
    181       key <AE01> { [      U09E7 		]	};
    182       key <AE02> { [      U09E8 		]	};
    183       key <AE03> { [      U09E9 		]	};
    184       key <AE04> { [      U09EA 		]	};
    185       key <AE05> { [      U09EB		]	};
    186       key <AE06> { [      U09EC 		]	};
    187       key <AE07> { [      U09ED	        ]	};
    188       key <AE08> { [      U09EE 		]	};
    189       key <AE09> { [      U09EF, parenleft	]	};
    190       key <AE10> { [      U09E6, parenright	]	};
    191       key <AE11> { [      minus, U0983 	]	};
    192       key <AE12> { [      U098B, U09C3	]	};
    193 
    194 // Mainly long vowels
    195 
    196       key <AD01> { [      U09CC,  U0994	]	};
    197       key <AD02> { [      U09C8,  U0990	]	};
    198       key <AD03> { [      U09BE,  U0986	]	};
    199       key <AD04> { [      U09C0,  U0988	]	};
    200       key <AD05> { [      U09C2,  U098A	]	};
    201 
    202 // Mainly voiced consonants
    203 
    204       key <AD06> { [      U09AC,  U09AD	]	};
    205       key <AD07> { [      U09B9,  U0999 ]	};
    206       key <AD08> { [      U0997,  U0998 ]	};
    207       key <AD09> { [      U09A6,  U09A7 ]	};
    208       key <AD10> { [      U099C,  U099D ]	};
    209       key <AD11> { [      U09A1, U09A2 	]	};
    210       key <AD12> { [      U09BC, U099E 	]	};
    211 
    212 // Mainly short vowels
    213       key <AC01> { [      U09CB,  U0993 ]	};
    214       key <AC02> { [      U09C7,  U098F ]	};
    215       key <AC03> { [      U09CD,  U0985 ]	};
    216       key <AC04> { [      U09BF,  U0987 ]	};
    217       key <AC05> { [      U09C1,  U0989 ]	};
    218 
    219 
    220 // Mainly unvoiced consonants
    221 
    222       key <AC06> { [      U09AA,  U09AB ]	};
    223       key <AC07> { [      U09B0,  U09DD ]	};
    224       key <AC08> { [      U0995,  U0996 ]	};
    225       key <AC09> { [      U09A4,  U09A5 ]	};
    226       key <AC10> { [      U099A,  U099B ]	};
    227       key <AC11> { [      U099F, U09A0 	]	};
    228       key <BKSL> { [      U005C, U007C 	]	};
    229 
    230       key <AB01> { [      z, Z  		]       };
    231       key <AB02> { [      U0982,  U0981 ]       };
    232       key <AB03> { [      U09AE,  U09A3 ]       };
    233       key <AB04> { [      U09A8,  U09A8 ]       };
    234       key <AB05> { [      U09AC,  U09AC ]       };
    235       key <AB06> { [      U09B2,  U09B2 ]       };
    236       key <AB07> { [      U09B8,  U09B6 ]       };
    237       key <AB08> { [      comma,      U09B7 ]       };
    238       key <AB09> { [      period,     U0964 ]       };
    239       key <AB10> { [      U09DF,  U09AF	]       };
    240 
    241     include "level3(ralt_switch)"
    242     include "rupeesign(4)"
    243 };
    244 
    245 xkb_symbols "ben_probhat" {
    246  name[Group1]= "Bangla (India, Probhat)";
    247    key.type="FOUR_LEVEL";
    248 
    249    key <ESC>  { [ Escape ] };
    250 
    251 // numbers
    252    key <TLDE> { [ U200D, asciitilde   ] };
    253    key <AE01> { [ U09E7, exclam, U09F4 ] };
    254    key <AE02> { [ U09E8, at, U09F5 ] };
    255    key <AE03> { [ U09E9, numbersign, U09F6 ] };
    256    key <AE04> { [ U09EA, U09F3, U09F7, U09F2 ] };
    257    key <AE05> { [ U09EB, percent      ] };
    258    key <AE06> { [ U09EC, asciicircum  ] };
    259    key <AE07> { [ U09ED, U099E, U09FA ] };
    260    key <AE08> { [ U09EE, U09CE    ] };
    261    key <AE09> { [ U09EF, parenleft    ] };
    262    key <AE10> { [ U09E6, parenright, U09F8, U09F9 ] };
    263    key <AE11> { [ minus,     underscore   ] };
    264    key <AE12> { [ equal,     plus         ] };
    265    key <BKSP> { [ BackSpace               ] };
    266 
    267 // tab, q to ] 
    268    key <TAB>  { [   Tab,  ISO_Left_Tab     ] };
    269    key <AD01> { [   U09A6,  U09A7  ] };
    270    key <AD02> { [   U09C2,  U098A  ] };
    271    key <AD03> { [   U09C0,  U0988  ] };
    272    key <AD04> { [   U09B0,  U09DC  ] };
    273    key <AD05> { [   U099F,  U09A0  ] };
    274    key <AD06> { [   U098F,  U0990  ] };
    275    key <AD07> { [   U09C1,  U0989  ] };
    276    key <AD08> { [   U09BF,  U0987  ] };
    277    key <AD09> { [   U0993,  U0994  ] };
    278    key <AD10> { [   U09AA,  U09AB  ] };
    279    key <AD11> { [   U09C7,  U09C8  ] };
    280    key <AD12> { [   U09CB,  U09CC, U09D7 ] };
    281    key <RTRN> { [   Return                 ] };
    282 
    283 // caps, a to ' 
    284 //   key <CAPS> { [   Caps_Lock              ] };
    285    key <AC01> { [   U09BE,  U0985, U098C, U09E0 ] };
    286    key <AC02> { [   U09B8,  U09B7, U09E1, U09E3 ] };
    287    key <AC03> { [   U09A1,  U09A2, U09C4, U09E2 ] };
    288    key <AC04> { [   U09A4,  U09A5  ] };
    289    key <AC05> { [   U0997,  U0998  ] };
    290    key <AC06> { [   U09B9,  U0983, U09BD ] };
    291    key <AC07> { [   U099C,  U099D  ] };
    292    key <AC08> { [   U0995,  U0996  ] };
    293    key <AC09> { [   U09B2,  U0982  ] };
    294    key <AC10> { [   semicolon,  colon      ] };
    295    key <AC11> { [   apostrophe, quotedbl   ] };
    296 
    297 // shift, z to /
    298 //   key <LFSH> { [   Shift_L                ] };
    299    key <AB01> { [   U09DF,  U09AF  ] };
    300    key <AB02> { [   U09B6,  U09DD  ] };
    301    key <AB03> { [   U099A,  U099B  ] };
    302    key <AB04> { [   U0986,  U098B  ] };
    303    key <AB05> { [   U09AC,  U09AD  ] };
    304    key <AB06> { [   U09A8,  U09A3  ] };
    305    key <AB07> { [   U09AE,  U0999  ] };
    306    key <AB08> { [   comma,      U09C3  ] };
    307    key <AB09> { [   U0964,  U0981, U09BC ] };
    308    key <AB10> { [   U09CD,  question   ] };
    309    key <BKSL> { [   U200C,  U0965  ] };
    310 
    311 //   key <LCTL> { [   Control_L              ] };
    312 //   key <SPCE> { [   space                  ] };
    313 
    314 //   modifier_map Shift  { Shift_L };
    315 //   modifier_map Lock   { Caps_Lock };
    316 //   modifier_map Control{ Control_L };
    317 
    318     include "level3(ralt_switch)"
    319     include "rupeesign(4)"
    320 };
    321 
    322 // Bangla Baishakhi, Bangla Baishakhi InScript, Bangla Bornona, Uni Gitanjali Layouts are added by Promathesh Mandal <promathesh812004 (a] gmail.com>
    323 
    324 xkb_symbols "ben_baishakhi" {
    325  name[Group1]= "Bangla (India, Baishakhi)";
    326    key <ESC>   { [ Escape 					] };
    327 
    328 // numbers
    329    key <TLDE> { [ 0x100200D, 0x100200C	] };
    330    key <AE01> { [ 0x10009E7, exclam		] };
    331    key <AE02> { [ 0x10009E8, at		] };
    332    key <AE03> { [ 0x10009E9, numbersign	] };
    333    key <AE04> { [ 0x10009EA, dollar, 0x10009F2	] };
    334    key <AE05> { [ 0x10009EB, percent		] };
    335    key <AE06> { [ 0x10009EC, asciicircum, 0x10009D7    ] };
    336    key <AE07> { [ 0x10009ED, ampersand ] };
    337    key <AE08> { [ 0x10009EE,   asterisk,0x10009FA       		] };
    338    key <AE09> { [ 0x10009EF, parenleft    	] };
    339    key <AE10> { [ 0x10009E6, parenright   	] };
    340    key <AE11> { [ minus, underscore   	] };
    341    key <AE12> { [ equal,     plus 	] };
    342    key <BKSP> { [ BackSpace               		] };
    343 
    344 // tab, q to ] 
    345    key <TAB>   { [   Tab,  ISO_Left_Tab		] };
    346    key <AD01> { [   0x10009A1,  0x10009A2  ] };
    347    key <AD02> { [  0x10009C0 ,  0x10009C2  ] };
    348    key <AD03> { [   0x10009C7,  0x100098F, 0x1000990 ] };
    349    key <AD04> { [   0x10009B0 , 0x10009C3, 0x100098B             		] };
    350    key <AD05> { [   0x100099F,  0x10009A0	] };
    351    key <AD06> { [   0x10009AF,  0x10009DF	] };
    352    key <AD07> { [   0x10009C1,  0x1000989, 0x100098A  ] };
    353    key <AD08> { [   0x10009BF,  0x1000987, 0x1000988  ] };
    354    key <AD09> { [   0x10009CB,  0x1000993, 0x1000994	] };
    355    key <AD10> { [   0x10009AA,  0x10009AB	] };
    356    key <AD11> { [   bracketleft,  braceleft] };
    357    key <AD12> { [   bracketright,	braceright	] };
    358    key <RTRN> { [   Return                 		] };
    359 
    360 // caps, a to ' 
    361 // key <CAPS> { [   Caps_Lock            		] };
    362    key <AC01> { [   0x10009BE,  0x1000985, 0x1000986  ] };
    363    key <AC02> { [   0x10009B8,  0x10009B6,  0x10009B7  ] };
    364    key <AC03> { [   0x10009A6,  0x10009A7  ] };
    365    key <AC04> { [   0x10009A4,   0x10009A5, 0x10009CE  ] };
    366    key <AC05> { [   0x1000997,  0x1000998	] };
    367    key <AC06> { [   0x10009CD,  0x10009B9, 0x1000983  ] };
    368    key <AC07> { [   0x100099C,  0x100099D	] };
    369    key <AC08> { [   0x1000995,  0x1000996  	] };
    370   key <AC09> { [   0x10009B2,  0x1000964, 0x100098C  ] };
    371    key <AC10> { [   semicolon,  colon  	] };
    372    key <AC11> { [   apostrophe, quotedbl   	] };
    373 
    374 // shift, z to /
    375 // key <LFSH> { [   Shift_L              			] };
    376    key <AB01> { [   0x10009C8, 0x10009CC              		] };
    377    key <AB02> { [   0x10009DC, 0x10009DD              		] };
    378    key <AB03> { [   0x100099A,  0x100099B  ] };
    379    key <AB04> { [   0x10009F1,  0x10009F0	] };
    380    key <AB05> { [   0x10009AC,  0x10009AD  ] };
    381    key <AB06> { [   0x10009A8,  0x10009A3, 0x100099E  ] };
    382    key <AB07> { [   0x10009AE,  0x1000999, 0x1000981  ] };
    383    key <AB08> { [   comma,      less	] };
    384    key <AB09> { [    period,	greater,0x10009BC 		] };
    385    key <AB10> { [   slash,  question, 0x1000982   	] };
    386    key <BKSL> { [   backslash,        bar	] };
    387 
    388 // third level with right-alt
    389     include "level3(ralt_switch)"
    390 
    391 //   key <LCTL> { [   Control_L              ] };
    392 //   key <SPCE> { [   space                  ] };
    393 
    394 //   modifier_map Shift  { Shift_L };
    395 //   modifier_map Lock   { Caps_Lock };
    396 //   modifier_map Control{ Control_L };
    397 };
    398 
    399 xkb_symbols "ben_inscript" {
    400     name[Group1]= "Bangla (India, Baishakhi InScript)";
    401 
    402       // Mainly numbers.
    403       key <TLDE> { [      0x100200D, 0x100200C	] 	};
    404       key <AE01> { [      0x10009E7  		]	};
    405       key <AE02> { [      0x10009E8 		]	};
    406       key <AE03> { [      0x10009E9 		]	};
    407       key <AE04> { [      0x10009EA 		]	};
    408       key <AE05> { [      0x10009EB		]	};
    409       key <AE06> { [      0x10009EC 		]	};
    410       key <AE07> { [      0x10009ED	        ]	};
    411       key <AE08> { [      0x10009EE 		]	};
    412       key <AE09> { [      0x10009EF, parenleft	]	};
    413       key <AE10> { [      0x10009E6, parenright	]	};
    414       key <AE11> { [      minus, 0x1000983 	]	};
    415       key <AE12> { [      0x10009C3, 0x100098B 	]	};
    416 
    417 // Mainly long vowels
    418 
    419       key <AD01> { [      0x10009CC,  0x1000994	]	};
    420       key <AD02> { [      0x10009C8,  0x1000990	]	};
    421       key <AD03> { [      0x10009BE,  0x1000986	]	};
    422       key <AD04> { [      0x10009C0,  0x1000988	]	};
    423       key <AD05> { [      0x10009C2,  0x100098A	]	};
    424 
    425 // Mainly voiced consonants
    426 
    427       key <AD06> { [      0x10009AC,  0x10009AD	]	};
    428       key <AD07> { [      0x10009B9,  0x1000999 ]	};
    429       key <AD08> { [      0x1000997,  0x1000998 ]	};
    430       key <AD09> { [      0x10009A6,  0x10009A7 ]	};
    431       key <AD10> { [      0x100099C,  0x100099D ]	};
    432       key <AD11> { [      0x10009A1,  0x10009A2 ]	};
    433       key <AD12> { [      0x10009BC,  0x100099E ]	};
    434 
    435 // Mainly short vowels
    436       key <AC01> { [      0x10009CB,  0x1000993 ]	};
    437       key <AC02> { [      0x10009C7,  0x100098F ]	};
    438       key <AC03> { [      0x10009CD,  0x1000985 ]	};
    439       key <AC04> { [      0x10009BF,  0x1000987 ]	};
    440       key <AC05> { [      0x10009C1,  0x1000989 ]	};
    441 
    442 
    443 // Mainly unvoiced consonants
    444 
    445       key <AC06> { [      0x10009AA,  0x10009AB ]	};
    446       key <AC07> { [      0x10009B0,  0x10009DD ]	};
    447       key <AC08> { [      0x1000995,  0x1000996 ]	};
    448       key <AC09> { [      0x10009A4,  0x10009A5 ]	};
    449       key <AC10> { [      0x100099A,  0x100099B ]	};
    450       key <AC11> { [      0x100099F, 0x10009A0 	]	};
    451       key <BKSL> { [      backslash, bar 	]	};
    452 
    453       key <AB01> { [      0x10009CE  		]       };
    454       key <AB02> { [      0x1000982,  0x1000981 ]       };
    455       key <AB03> { [      0x10009AE,  0x10009A3 ]       };
    456       key <AB04> { [      0x10009A8,  0x10009A8 ]       };
    457       key <AB05> { [      0x10009AC,  0x10009AC ]       };
    458       key <AB06> { [      0x10009B2,  0x10009B2 ]       };
    459       key <AB07> { [      0x10009B8,  0x10009B6 ]       };
    460       key <AB08> { [      comma,      0x10009B7 ]       };
    461       key <AB09> { [      period,     0x1000964 ]       };
    462       key <AB10> { [      0x10009DF,  0x10009AF	]       };
    463 };
    464 
    465 xkb_symbols "ben_gitanjali" {
    466  name[Group1]= "Bangla (India, Gitanjali)";
    467    key <ESC>   { [ Escape			] };
    468 
    469 // numbers
    470    key <TLDE> { [ colon, question	] };
    471    key <AE01> { [ 0x10009E7, 0x10009CE	] };
    472    key <AE02> { [ 0x10009E8, apostrophe	] };
    473    key <AE03> { [ 0x10009E9, numbersign	] };
    474    key <AE04> { [ 0x10009EA, 0x10009F3	] };
    475    key <AE05> { [ 0x10009EB, slash	] };
    476    key <AE06> { [ 0x10009EC, period	] };
    477    key <AE07> { [ 0x10009ED, ampersand 	] };
    478    key <AE08> { [ 0x10009EE, asterisk 	] };
    479    key <AE09> { [ 0x10009EF, parenleft  ] };
    480    key <AE10> { [ 0x10009E6, parenright	] };
    481    key <AE11> { [ minus, 0x1000983   	] };
    482    key <AE12> { [ 0x10009C3, 0x100098B 	] };
    483    key <BKSP> { [ BackSpace		] };
    484 
    485 // tab, q to ] 
    486    key <TAB>   { [   Tab,  ISO_Left_Tab	] };
    487    key <AD01> { [   0x10009D7,  0x1000994 ] };
    488    key <AD02> { [   0x10009C8,  0x1000990 ] };
    489    key <AD03> { [   0x10009BE,  0x1000985 ] };
    490    key <AD04> { [   0x10009C0,  0x1000988 ] };
    491    key <AD05> { [   0x10009C2,  0x100098A ] };
    492    key <AD06> { [   0x10009AC,  0x10009AD ] };
    493    key <AD07> { [   0x10009B9,  0x1000999 ] };
    494    key <AD08> { [   0x1000997,  0x1000998 ] };
    495    key <AD09> { [   0x10009A6,  0x10009A7 ] };
    496    key <AD10> { [   0x100099C,  0x100099D ] };
    497    key <AD11> { [   0x10009A1,  0x10009A2 ] };
    498    key <AD12> { [   0x100200C,  0x100099E ] };
    499    key <RTRN> { [   Return		  ] };
    500 
    501 // caps, a to ' 
    502 // key <CAPS> { [   Caps_Lock            		] };
    503    key <AC01> { [   0x100200D,  0x1000993 ] };
    504    key <AC02> { [   0x10009C7,  0x100098F ] };
    505    key <AC03> { [   0x10009CD		  ] };
    506    key <AC04> { [   0x10009BF,  0x1000987 ] };
    507    key <AC05> { [   0x10009C1,  0x1000989 ] };
    508    key <AC06> { [   0x10009AA,  0x10009AB ] };
    509    key <AC07> { [   0x10009B0,  0x10009F0 ] };
    510    key <AC08> { [   0x1000995,  0x1000996 ] };
    511    key <AC09> { [   0x10009A4,  0x10009A5 ] };
    512    key <AC10> { [   0x100099A,  0x100099B ] };
    513    key <AC11> { [   0x100099F,  0x10009A0 ] };
    514 
    515 // shift, z to /
    516 // key <LFSH> { [   Shift_L              			] };
    517    key <AB01> { [   0x10009C7, 0x100098F ] };
    518    key <AB02> { [   0x1000982, 0x1000981 ] };
    519    key <AB03> { [   0x10009AE, 0x10009A3 ] };
    520    key <AB04> { [   0x10009A8, 0x10009DC ] };
    521    key <AB05> { [   0x10009F1, 0x10009DD ] };
    522    key <AB06> { [   0x10009B2		 ] };
    523    key <AB07> { [   0x10009B8, 0x10009B6 ] };
    524    key <AB08> { [   comma,     0x10009B7 ] };
    525    key <AB09> { [   0x1000964, 0x10009FA ] };
    526    key <AB10> { [   0x10009AF, 0x10009DF ] };
    527    key <BKSL> { [   backslash, bar	 ] };
    528 
    529 // third level with right-win
    530 //    include "level3(lwin_switch)"
    531 
    532 //   key <LCTL> { [   Control_L              ] };
    533 //   key <SPCE> { [   space                  ] };
    534 
    535 //   modifier_map Shift  { Shift_L };
    536 //   modifier_map Lock   { Caps_Lock };
    537 //   modifier_map Control{ Control_L };
    538 };
    539 
    540 
    541 xkb_symbols "ben_bornona" {
    542  name[Group1]= "Bangla (India, Bornona)";
    543    key <ESC>  { [ Escape 					] };
    544 
    545 // numbers
    546    key <TLDE> { [ 0x100200D, 0x100200C   	] };
    547    key <AE01> { [ 0x10009E7, exclam         	] };
    548    key <AE02> { [ 0x10009E8, 0x1000981 	] };
    549    key <AE03> { [ 0x10009E9, numbersign   	] };
    550    key <AE04> { [ 0x10009EA, 0x10009F3    	] };
    551    key <AE05> { [ 0x10009EB, percent      	] };
    552    key <AE06> { [ 0x10009EC, 0x1000983    	] };
    553    key <AE07> { [ 0x10009ED, 0x10009CE	] };
    554    key <AE08> { [ 0x10009EE, asterisk		] };
    555    key <AE09> { [ 0x10009EF, parenleft    	] };
    556    key <AE10> { [ 0x10009E6, parenright	] };
    557    key <AE11> { [ minus,	   underscore	] };
    558    key <AE12> { [ equal,          plus			] };
    559    key <BKSP> { [ BackSpace               		] };
    560 
    561 // tab, q to ] 
    562    key <TAB>   { [   Tab,  	ISO_Left_Tab	] };
    563    key <AD01> { [   0x1000982,  0x1000999, 0x10009D7	] };
    564    key <AD02> { [   0x10009A2,  0x10009A0, 0x100098A ] };
    565    key <AD03> { [   0x10009C7,  0x10009C8, 0x1000988	] };
    566    key <AD04> { [   0x10009B0,  0x10009C3, 0x100098B	] };
    567    key <AD05> { [   0x10009A4,  0x100099F	] };
    568    key <AD06> { [   0x10009A7,  0x10009A5, 0x100098F  ] };
    569    key <AD07> { [   0x10009C1,  0x10009C2, 0x1000989	] };
    570    key <AD08> { [   0x10009BF,  0x10009C0, 0x1000987	] };
    571    key <AD09> { [   0x10009CB,  0x10009CC, 0x1000993	] };
    572    key <AD10> { [   0x10009AA, 0x1000990, 0x1000994		] };
    573    key <AD11> { [   0x100005B,  0x100007B, 0x10009DC  ] };
    574    key <AD12> { [   0x100005D,  0x100007D  ] };
    575    key <RTRN> { [   Return					] };
    576 
    577 // caps, a to ' 
    578 // key <CAPS> { [   Caps_Lock            		] };
    579    key <AC01> { [   0x10009BE,  0x1000985, 0x10009F4  ] };
    580    key <AC02> { [   0x10009B8,  0x10009B6, 0x10009F5  ] };
    581    key <AC03> { [   0x10009A6,  0x10009A1, 0x10009F8  ] };
    582    key <AC04> { [   0x10009AB				] };
    583    key <AC05> { [   0x1000997,  0x1000998	] };
    584    key <AC06> { [   0x10009CD, 0x10009B9	] };
    585    key <AC07> { [   0x100099C,  0x100099D	] };
    586    key <AC08> { [   0x1000995,  0x1000996	] };
    587    key <AC09> { [   0x10009B2,  0x1000964  ] };
    588    key <AC10> { [   semicolon,  0x100003A	] };
    589    key <AC11> { [   apostrophe, quotedbl   	] };
    590 
    591 // shift, z to /
    592 // key <LFSH> { [   Shift_L              			] };
    593    key <AB01> { [   0x10009AF, 0x10009DC	] };
    594    key <AB02> { [   0x10009B7, 0x10009DD, 0x10009FA	] };
    595    key <AB03> { [   0x100099A,  0x100099B  ] };
    596    key <AB04> { [   0x10009AD				] };
    597    key <AB05> { [   0x10009AC,  0x10009DF	] };
    598    key <AB06> { [   0x10009A8,  0x10009A3	] };
    599    key <AB07> { [   0x10009AE,  0x100099E	] };
    600    key <AB08> { [   comma,      0x100003C	] };
    601    key <AB09> { [   0x100002E,  0x100003E  ] };
    602    key <AB10> { [   0x100002F,  question   	] };
    603    key <BKSL> { [   0x10009F1,  0x10009F0	] };
    604 
    605 //   key <LCTL> { [   Control_L              ] };
    606 //   key <SPCE> { [   space                  ] };
    607 
    608 //   modifier_map Shift  { Shift_L };
    609 //   modifier_map Lock   { Caps_Lock };
    610 //   modifier_map Control{ Control_L };
    611 // third level with right-alt
    612     include "level3(ralt_switch)"
    613 };
    614 
    615 partial alphanumeric_keys
    616 xkb_symbols "guj" {
    617       name[Group1]= "Gujarati";
    618 
    619       // Mainly numbers.
    620       key <AE01> { [      U0AE7, U0A8D 	]	};
    621       key <AE02> { [      U0AE8, U0AC5 	]	};
    622       key <AE03> { [      U0AE9 	 	]	};
    623       key <AE04> { [      U0AEA  	 	]	};
    624       key <AE05> { [      U0AEB  	 	]	};
    625       key <AE06> { [      U0AEC  	 	]	};
    626       key <AE07> { [      U0AED 		]	};
    627       key <AE08> { [      U0AEE  	 	]	};
    628       key <AE09> { [      U0AEF, parenleft 	]	};
    629       key <AE10> { [      U0AE6, parenright ]	};
    630       key <AE11> { [      minus,     U0A83  ]	};
    631       key <AE12> { [      U0A8B, U0AC3 	]	};
    632 
    633 // Mainly long vowels
    634 
    635       key <AD01> { [      U0ACC, U0A94  ]	};
    636       key <AD02> { [      U0AC8, U0A90  ]	};
    637       key <AD03> { [      U0ABE, U0A86  ]	};
    638       key <AD04> { [      U0AC0, U0A88  ]	};
    639       key <AD05> { [      U0AC2, U0A8A  ]	};
    640 
    641 // Mainly voiced consonants
    642 
    643       key <AD06> { [      U0AAC, U0AAD 	]	};
    644       key <AD07> { [      U0AB9, U0A99 	]	};
    645       key <AD08> { [      U0A97, U0A98 	]	};
    646       key <AD09> { [      U0AA6, U0AA7 	]	};
    647       key <AD10> { [      U0A9C, U0A9D 	]	};
    648       key <AD11> { [      U0AA1, U0AA2 	]	};
    649       key <AD12> { [      U0ABC, U0A9E 	]	};
    650 
    651 // Mainly short vowels
    652       key <AC01> { [      U0ACB, U0A93	]	};
    653       key <AC02> { [      U0AC7, U0A8F	]	};
    654       key <AC03> { [      U0ACD, U0A85  ]	};
    655       key <AC04> { [      U0ABF, U0A87  ]	};
    656       key <AC05> { [      U0AC1, U0A89  ]	};
    657 
    658 // Mainly unvoiced consonants
    659 
    660       key <AC06> { [      U0AAA, U0AAB 	]	};
    661       key <AC07> { [      U0AB0, U0AB0 	]	};
    662       key <AC08> { [      U0A95, U0A96 	]	};
    663       key <AC09> { [      U0AA4, U0AA5 	]	};
    664       key <AC10> { [      U0A9A, U0A9B 	]	};
    665       key <AC11> { [      U0A9F, U0AA0 	]	};
    666       key <BKSL> { [      U0AC9, U0A91 	]	};
    667 
    668       key <AB01> { [      z        , Z		]       };
    669       key <AB02> { [      U0A82, U0A81	]       };
    670       key <AB03> { [      U0AAE, U0AA3  ]       };
    671       key <AB04> { [      U0AA8, U0AA8   ]       };
    672       key <AB05> { [      U0AB5, U0AB5   ]       };
    673       key <AB06> { [      U0AB2, U0AB3  ]       };
    674       key <AB07> { [      U0AB8, U0AB6  ]       };
    675       key <AB08> { [      comma,     U0AB7  ]       };
    676       key <AB09> { [      period,    U0964  ]       };
    677       key <AB10> { [      U0AAF, question   ]       };
    678       include "rupeesign(4)"
    679       include "level3(ralt_switch)"
    680 };
    681 
    682 partial alphanumeric_keys
    683 xkb_symbols "kan" {
    684 
    685     // InScript layout for Kannada  
    686     // Author : G Karunakar <karunakar (a] freedomink.org>
    687     // Date   : Wed Nov 13 17:22:58 IST 2002
    688     // Kannada digits mapped in basic only
    689 
    690     name[Group1]= "Kannada";
    691 
    692     key <TLDE> { [  U0cca, U0c92	] };
    693     key <AE01> { [  U0ce7			] };
    694     key <AE02> { [  U0ce8			] };
    695     key <AE03> { [  U0ce9			] };
    696     key <AE04> { [  U0cea			] };
    697     key <AE05> { [  U0ceb			] };
    698     key <AE06> { [  U0cec			] };
    699     key <AE07> { [  U0ced			] };
    700     key <AE08> { [  U0cee			] };
    701     key <AE09> { [  U0cef			] };
    702     key <AE10> { [  U0ce6			] };
    703     key <AE11> { [  U0c83			] };
    704     key <AE12> { [  U0cc3, U0c8b	] };
    705 
    706     key <AD01> { [  U0ccc, U0c94	] };
    707     key <AD02> { [  U0cc8, U0c90	] };
    708     key <AD03> { [  U0cbe, U0c86	] };
    709     key <AD04> { [  U0cc0, U0c88	] };
    710     key <AD05> { [  U0cc2, U0c8a	] };
    711     key <AD06> { [  U0cac, U0cad	] };
    712     key <AD07> { [  U0cb9, U0c99	] };
    713     key <AD08> { [  U0c97, U0c98	] };
    714     key <AD09> { [  U0ca6, U0ca7	] };
    715     key <AD10> { [  U0c9c, U0c9d	] };
    716     key <AD11> { [  U0ca1, U0ca2	] };
    717     key <AD12> { [  U0cbc, U0c9e	] };
    718 
    719     key <AC01> { [  U0ccb, U0c93	] };
    720     key <AC02> { [  U0cc7, U0c8f	] };
    721     key <AC03> { [  U0ccd, U0c85	] };
    722     key <AC04> { [  U0cbf, U0c87	] };
    723     key <AC05> { [  U0cc1, U0c89	] };
    724     key <AC06> { [  U0caa, U0cab	] };
    725     key <AC07> { [  U0cb0, U0cb1	] };
    726     key <AC08> { [  U0c95, U0c96	] };
    727     key <AC09> { [  U0ca4, U0ca5	] };
    728     key <AC10> { [  U0c9a, U0c9b	] };
    729     key <AC11> { [  U0c9f, U0ca0	] };
    730 
    731     key <AB01> { [  U0cc6, U0c8e	] };
    732     key <AB02> { [  U0c82			] };
    733     key <AB03> { [  U0cae, U0ca3	] };
    734     key <AB04> { [  U0ca8			] };
    735     key <AB05> { [  U0cb5, U0cb4	] };
    736     key <AB06> { [  U0cb2, U0cb3	] };
    737     key <AB07> { [  U0cb8, U0cb6	] };
    738     key <AB08> { [  comma     , U0cb7	] };
    739     key <AB09> { [  period    				] };
    740     key <AB10> { [  U0caf, U0040	] };
    741 
    742     key <RALT> {
    743 	symbols[Group1] = [ Mode_switch, Multi_key ],
    744 	virtualMods = AltGr
    745     };
    746     include "rupeesign(4)"
    747     include "level3(ralt_switch)"
    748 };
    749 
    750 // Description : A keymap for Malayalam
    751 // Encoding    : Unicode (http://www.unicode.org)
    752 // Author      : Baiju M <baiju (a] freeshell.org>
    753 // Date        : Sat Aug  17 21:10:48 IST 2002
    754 // Mapping:
    755 
    756 partial alphanumeric_keys
    757 xkb_symbols "mal" {
    758 
    759     name[Group1] = "Malayalam";
    760 
    761     //From grave to backslash (\)
    762 
    763     key <TLDE> { [ U0d4a , U0d12           ] };
    764 
    765 // svu: 
    766 // These lines were in former "mal" variant - 
    767 // but the digits are replaced with the ones from 'mal_plusnum' -
    768 // for the integrity of all Indian layouts
    769 //
    770 //    key <AE01> { [1           ,     exclam           ] };
    771 //    key <AE02> { [2           ,         at           ] };
    772 //    key <AE03> { [3           , numbersign           ] };
    773 //    key <AE04> { [4           ,     dollar           ] };
    774 //    key <AE05> { [5           ,    percent           ] };
    775 //    key <AE06> { [6           ,asciicircum           ] };
    776 //    key <AE07> { [7           ,  ampersand           ] };
    777 //    key <AE08> { [8           , asterisk           ] };
    778 //    key <AE09> { [9           ,  parenleft           ] };
    779 //    key <AE10> { [0           , parenright           ] };
    780 
    781       key <AE01> { [ U0d67 ,      exclam ] };
    782       key <AE02> { [ U0d68 ,          at ] };
    783       key <AE03> { [ U0d69 ,  numbersign ] };
    784       key <AE04> { [ U0d6a ,      dollar ] };
    785       key <AE05> { [ U0d6b ,     percent ] };
    786       key <AE06> { [ U0d6c , asciicircum ] };
    787       key <AE07> { [ U0d6d ,   ampersand ] };
    788       key <AE08> { [ U0d6e ,  asterisk ] };
    789       key <AE09> { [ U0d6f ,   parenleft ] };
    790       key <AE10> { [ U0d66 ,  parenright ] };
    791 
    792     key <AE11> { [ minus      , U0d03           ] };
    793     key <AE12> { [ U0d43 , U0d0b           ] };
    794     key <BKSL>  { [U0200c, U05C ]};//bksl: ZWNJ 
    795 
    796 
    797     // From 'q' to right bracket (])
    798 
    799     key <AD01> { [ U0d4c , U0d14 ] };
    800     key <AD02> { [ U0d48 , U0d10 ] };
    801     key <AD03> { [ U0d3e , U0d06 ] };
    802     key <AD04> { [ U0d40 , U0d08 ] };
    803     key <AD05> { [ U0d42 , U0d0a ] };
    804     key <AD06> { [ U0d2c , U0d2d ] };
    805     key <AD07> { [ U0d39 , U0d19 ] };
    806     key <AD08> { [ U0d17 , U0d18 ] };
    807     key <AD09> { [ U0d26 , U0d27 ] };
    808     key <AD10> { [ U0d1c , U0d1d ] };
    809     key <AD11> { [ U0d21 , U0d22 ] };
    810     key <AD12> { [ U0200d , U0d1e ] };
    811 
    812     // From 'a' to apostrophe (')
    813 
    814     key <AC01> { [ U0d4b , U0d13 ] };
    815     key <AC02> { [ U0d47 , U0d0f ] };
    816     key <AC03> { [ U0d4d , U0d05 ] };
    817     key <AC04> { [ U0d3f , U0d07 ] };
    818     key <AC05> { [ U0d41 , U0d09 ] };
    819     key <AC06> { [ U0d2a , U0d2b ] };
    820     key <AC07> { [ U0d30 , U0d31 ] };
    821     key <AC08> { [ U0d15 , U0d16 ] };
    822     key <AC09> { [ U0d24 , U0d25 ] };
    823     key <AC10> { [ U0d1a , U0d1b ] };
    824     key <AC11> { [ U0d1f , U0d20 ] };
    825 
    826     // From 'z' to slash (/)
    827 
    828     key <AB01> { [ U0d46 , U0d0e ] };
    829     key <AB02> { [ U0d02 , U200b ] };//X:ZWSP
    830     key <AB03> { [ U0d2e , U0d23 ] };
    831     key <AB04> { [ U0d28 ] };
    832     key <AB05> { [ U0d35 , U0d34 ] };
    833     key <AB06> { [ U0d32 , U0d33 ] };
    834     key <AB07> { [ U0d38 , U0d36 ] };
    835     key <AB08> { [ comma      , U0d37 ] };
    836     key <AB09> { [ period     , U0200d ] };
    837     key <AB10> { [ U0d2f , question   ] };
    838 
    839     include "rupeesign(4)"
    840     include "level3(ralt_switch)"
    841 };
    842 
    843 //Name		:	Lalitha
    844 //Description	:	A transliteration keyboard layout for Malayalam
    845 //Original Author :	Noah Levitt<nlevitt at columbia.edu>
    846 //Current Main  : 	Jinesh K.J<jinesh.k (a] gmail.com>, Swathantra Malayalam Computing (SMC)<smc-discuss (a] googlegroups.com>
    847 
    848 partial alphanumeric_keys
    849 xkb_symbols "mal_lalitha" {
    850      name[Group1] = "Malayalam (Lalitha)";
    851      key.type="FOUR_LEVEL";
    852 
    853     // Roman digits
    854     key <TLDE>  { [   U0D4D,	U0D02,		grave, 	asciitilde ] }; // grave: virama(chandrakala),anusvara
    855     key <AE01>  { [   1,	exclam,	U0D67,		exclam	   ] };
    856     key <AE02>  { [   2,	at,		U0D68,		at	   ] };
    857     key <AE03>  { [   3,    	numbersign, 	U0D69,		numbersign ] };
    858     key <AE04>  { [   4,	dollar,		U0D6A,		U20B9      ] }; // Rupee
    859     key <AE05>  { [   5,	percent,	U0D6B,		percent    ] };
    860     key <AE06>  { [   6,	asciicircum,	U0D6C,		asciicircum ] };
    861     key <AE07>  { [   7,	ampersand,	U0D6D,		ampersand  ] };
    862     key <AE08>  { [   8,	asterisk,	U0D6E,		asterisk   ] };
    863     key <AE09>  { [   9,	parenleft,	U0D6F,		parenleft  ] };
    864     key <AE10>  { [   0,	parenright,	U0D66,		parenright ] };
    865     key <AE11>	{ [   minus,	underscore	     ] };
    866     key <AE12>	{ [   equal,	plus		     ] };
    867     key <BKSL>  { [   U005C,	U007C,		U200C	] };//backslash:pipe,backslash,ZWNJ 
    868 
    869     //Q Row	
    870     key <AD01>   { [   U0D48,	U0D4C,	U0D10,	U0D14  ] }; // Q: ai and au matras 
    871     key <AD02>   { [   U0D35	] };  // W: wa, OM
    872     key <AD03>   { [   U0D46,   U0D47,	U0D0E,	U0D0F   ] };  // E: e,ee matras
    873     key <AD04>   { [   U0D30,	U0D31,	U0D43,	U0D0B  	] };  // R: ra,rra, vocalic Ri
    874     key <AD05>   { [   U0D24,   U0D25,	U0D1F,	U0D20   ] };  // T: tha, ttha,ta,tta
    875     key <AD06>   { [   U0D2f    ] };  // Y: ya
    876     key <AD07>   { [   U0D41,   U0D42,	U0D09,	U0D0A   ] };  // U: u, uu matras
    877     key <AD08>   { [   U0D3F,   U0D40,	U0D07,	U0D08   ] };  // I: i, ii matras
    878     key <AD09>   { [   U0D4A,   U0D4B,	U0D12,	U0D13   ] };  // O: o, oo matras
    879     key <AD10>   { [   U0D2A   ] };  // P: pa
    880     key <AD11>   { [   bracketleft,   braceleft   ] };//braceleft:   
    881     key <AD12>	 { [   bracketright, braceright   ] };//braceright:
    882 
    883     //A Row
    884     key <AC01>   { [   U0D3E,	 U0D05,	U0D06,	U0D05  ] };   // A: a,aa
    885     key <AC02>   { [   U0D38,    U0D37   ] };  // S: sa, ssa
    886     key <AC03>   { [   U0D26,    U0D27,	U0D21,	U0D22   ] };  // D: soft da,soft dda,hard da,hard dda,
    887     key <AC04>   { [   U0D2B     ] };  // F: pha
    888     key <AC05>   { [   U0D17,    U0D18   ] };  // G: ga, gha
    889     key <AC06>   { [   U0D39,    U0D03   ] };  // H: ha, visarg 
    890     key <AC07>   { [   U0D1C,    U0D1D   ] };  // J: ja, jha
    891     key <AC08>   { [   U0D15,    U0D16   ] };  // K: ka, kha
    892     key <AC09>   { [   U0D32,	 U0D33   ] };  // L: la, vocalic L or lru matra`
    893     key <AC10>   { [   semicolon, colon  ] };
    894     key <AC11>   { [apostrophe, quotedbl ] };
    895 
    896     //Z Row
    897     key <AB01>   { [   U0D34,	 U0D36 	 ] };  // Z: sha,zha
    898     key <AB02>   { [   U0D4D,	 U200B  ] };  // X: chandrakala,ZWSP
    899     key <AB03>   { [   U0D1A,    U0D1B   ] };  // C: ca, cha
    900     key <AB04>   { [   U0D35,	 U200D  ] };  // V: va,ZWJ
    901     key <AB05>   { [   U0D2C,    U0D2D   ] };  // B: ba, bha
    902     key <AB06>   { [   U0D28,    U0D23,	U0D19,	U0D1E   ] };  // N: na, hard na,nga,nha
    903     key <AB07>   { [   U0D2E,	 U0D02  ] };  // M: ma
    904     key <AB08>   { [   comma,    U003C ] };// comma: comma
    905     key <AB09>   { [   period, 	 U003E ] };  // period: period
    906     key <AB10>	 { [   slash,   question ] };
    907 
    908 //    modifier_map Shift  { Shift_L };
    909 //    modifier_map Lock   { Caps_Lock };
    910 //    modifier_map Control{ Control_L };
    911 //    modifier_map Mod3   { Mode_switch };
    912     include "level3(ralt_switch)"
    913 };
    914 
    915 
    916 partial alphanumeric_keys
    917 xkb_symbols "olck" {
    918 
    919     // Layout for the Ol Chiki script.
    920     // http://www.unicode.org/L2/L2005/05243r-n2984-ol-chiki.pdf (figure 9)
    921 
    922     name[Group1]= "Ol Chiki";
    923 
    924     key <TLDE> { [  grave, U1C7B		] };
    925 
    926     key <AE01> { [  U1C51, exclam		] };
    927     key <AE02> { [  U1C52, at			] };
    928     key <AE03> { [  U1C53, numbersign		] };
    929     key <AE04> { [  U1C54, dollar, U20B9	] };
    930     key <AE05> { [  U1C55, percent		] };
    931     key <AE06> { [  U1C56, asciicircum		] };
    932     key <AE07> { [  U1C57, ampersand		] };
    933     key <AE08> { [  U1C58, asterisk		] };
    934     key <AE09> { [  U1C59, parenleft		] };
    935     key <AE10> { [  U1C50, parenright		] };
    936     key <AE11> { [  minus, U1C7C		] };
    937     key <AE12> { [  equal, plus			] };
    938 
    939     key <AD01> { [  U1C67			] };
    940     key <AD02> { [  U1C63			] };
    941     key <AD03> { [  U1C6E			] };
    942     key <AD04> { [  U1C68			] };
    943     key <AD05> { [  U1C74, U1C5B		] };
    944     key <AD06> { [  U1C6D  			] };
    945     key <AD07> { [  U1C69			] };
    946     key <AD08> { [  U1C64			] };
    947     key <AD09> { [  U1C5A, U1C73		] };
    948     key <AD10> { [  U1C6F  			] };
    949     key <AD11> { [  bracketleft, braceleft	] };
    950     key <AD12> { [  bracketright, braceright 	] };
    951     key <BKSL> { [  U1C7F, U1C7E		] };
    952 
    953     key <AC01> { [  U1C5F  			] };
    954     key <AC02> { [  U1C65			] };
    955     key <AC03> { [  U1C70, U1C6B		] };
    956     key <AC04> { [  U1C5D  			] };
    957     key <AC05> { [  U1C5C			] };
    958     key <AC06> { [  U1C66, U1C77		] };
    959     key <AC07> { [  U1C61  			] };
    960     key <AC08> { [  U1C60			] };
    961     key <AC09> { [  U1C5E			] };
    962     key <AC10> { [  semicolon, U1C7A		] };
    963     key <AC11> { [  apostrophe, quotedbl	] };
    964 
    965     key <AB01> { [  U1C72			] };
    966     key <AB02> { [  U1C7D			] };
    967     key <AB03> { [  U1C6A			] };
    968     key <AB04> { [  U1C76			] };
    969     key <AB05> { [  U1C75			] };
    970     key <AB06> { [  U1C71, U1C78		] };
    971     key <AB07> { [  U1C62, U1C6C		] };
    972     key <AB08> { [  comma, less			] };
    973     key <AB09> { [  U1C79, greater		] };
    974     key <AB10> { [  slash, question		] };
    975 
    976     key <RALT> {
    977 	symbols[Group1] = [ Mode_switch, Multi_key ],
    978 	virtualMods = AltGr
    979     };
    980 
    981     include "level3(ralt_switch)"
    982 };
    983 
    984 
    985 partial alphanumeric_keys
    986 xkb_symbols "ori" {
    987     // InScript layout for Oriya  
    988     // Author: G Karunakar <karunakar (a] freedomink.org>
    989     // Date: Wed Nov 13 18:16:19 IST 2002
    990 
    991     name[Group1]= "Oriya";
    992 
    993     key <AE01> { [  U0b67			] };
    994     key <AE02> { [  U0b68			] };
    995     key <AE03> { [  U0b69			] };
    996     key <AE04> { [  U0b6a			] };
    997     key <AE05> { [  U0b6b			] };
    998     key <AE06> { [  U0b6c			] };
    999     key <AE07> { [  U0b6d			] };
   1000     key <AE08> { [  U0b6e			] };
   1001     key <AE09> { [  U0b6f			] };
   1002     key <AE10> { [  U0b66			] };
   1003     key <AE11> { [  U0b03			] };
   1004     key <AE12> { [  U0b43, U0b0b	] };
   1005 
   1006     key <AD01> { [  U0b4c, U0b14	] };
   1007     key <AD02> { [  U0b48, U0b10	] };
   1008     key <AD03> { [  U0b3e, U0b06	] };
   1009     key <AD04> { [  U0b40, U0b08	] };
   1010     key <AD05> { [  U0b42, U0b0a	] };
   1011     key <AD06> { [  U0b2c, U0b2d	] };
   1012     key <AD07> { [  U0b39, U0b19	] };
   1013     key <AD08> { [  U0b17, U0b18	] };
   1014     key <AD09> { [  U0b26, U0b27	] };
   1015     key <AD10> { [  U0b1c, U0b1d	] };
   1016     key <AD11> { [  U0b21, U0b22	] };
   1017     key <AD12> { [  U0b3c, U0b1e	] };
   1018 
   1019     key <AC01> { [  U0b4b, U0b13	] };
   1020     key <AC02> { [  U0b47, U0b0f	] };
   1021     key <AC03> { [  U0b4d, U0b05	] };
   1022     key <AC04> { [  U0b3f, U0b07	] };
   1023     key <AC05> { [  U0b41, U0b09	] };
   1024     key <AC06> { [  U0b2a, U0b2b	] };
   1025     key <AC07> { [  U0b30			] };
   1026     key <AC08> { [  U0b15, U0b16	] };
   1027     key <AC09> { [  U0b24, U0b25	] };
   1028     key <AC10> { [  U0b1a, U0b1b	] };
   1029     key <AC11> { [  U0b1f, U0b20	] };
   1030 
   1031     key <AB02> { [  U0b02, U0b01	] };
   1032     key <AB03> { [  U0b2e, U0b23	] };
   1033     key <AB04> { [  U0b28			] };
   1034     key <AB05> { [  U0b35			] };
   1035     key <AB06> { [  U0b32, U0b33	] };
   1036     key <AB07> { [  U0b38, U0b36	] };
   1037     key <AB08> { [  comma     , U0b37	] };
   1038     key <AB09> { [  period    				] };
   1039     key <AB10> { [  U0b2f, U0040	] };
   1040 
   1041     key <RALT> {
   1042 	symbols[Group1] = [ Mode_switch, Multi_key ],
   1043 	virtualMods = AltGr
   1044     };
   1045     include "rupeesign(4)"
   1046     include "level3(ralt_switch)"
   1047 };
   1048 
   1049 // Phonetic layout for Oriya like Hindi Bolnagiri
   1050 // Author: Lalit Mishra
   1051 // Date: 3rd March, 2021.
   1052 partial alphanumeric_keys
   1053 xkb_symbols "ori-bolnagri" {
   1054      name[Group1] = "Oriya (Bolnagri)";
   1055      key.type="FOUR_LEVEL";
   1056     // Roman digits
   1057     key <TLDE>  { [   U0B02,     U0B01,       grave,    asciitilde ] }; // grave: anusvara, candrabindu
   1058     key <AE01>  { [   U0B67,     exclam,      1         ] };
   1059     key <AE02>  { [   U0B68,     at,          2,        U20AC      ] };
   1060     key <AE03>  { [   U0B69,     numbersign,  3,        U00A3      ] };
   1061     key <AE04>  { [   U0B6A,     dollar,      4,        U20B9      ] }; // Rupee symbol on Shift+AltGr+4
   1062     key <AE05>  { [   U0B6B,     percent,     5         ] };
   1063     key <AE06>  { [   U0B6C,     asciicircum, 6         ] };
   1064     key <AE07>  { [   U0B6D,     ampersand,   7         ] };
   1065     key <AE08>  { [   U0B6E,     asterisk,    8         ] };
   1066     key <AE09>  { [   U0B6F,     parenleft,   9         ] };
   1067     key <AE10>  { [   U0B66,     parenright,  0         ] };
   1068     key <AE11>  { [   minus,     underscore             ] };
   1069     key <AE12>  { [   equal,     plus                   ] };
   1070     key <BKSL>  { [   U0964,     U0965,       U007C,    U005C      ] }; //pipe : danda, double danda
   1071     //Q Row
   1072     key <AD01>  { [   U200C,     U200D        ] };                      // Q: ZWNJ, ZWJ
   1073     key <AD02>  { [   U0B71,     U0B35        ] };                      // W: wa
   1074     key <AD03>  { [   U0B47,     U0B48,       U0B0F,    U0B10      ] }; // E: e, ai matras
   1075     key <AD04>  { [   U0B30,     U0B43,       U0B0B,    U0B60      ] }; // R: ra, vocalic Ri
   1076     key <AD05>  { [   U0B24,     U0B25        ] };                      // T: ta, tha
   1077     key <AD06>  { [   U0B2f,     U0B5F,       U0B1E     ] };            // Y: ya, nya
   1078     key <AD07>  { [   U0B41,     U0B42,       U0B09,    U0B0A      ] }; // U: u, uu matras
   1079     key <AD08>  { [   U0B3F,     U0B40,       U0B07,    U0B08      ] }; // I: i, ii matras
   1080     key <AD09>  { [   U0B4B,     U0B4C,       U0B13,    U0B14      ] }; // O: o, au matras
   1081     key <AD10>  { [   U0B2A,     U0B2B        ] };                      // P: pa, pha
   1082     key <AD11>  { [   bracketleft,  braceleft ] };
   1083     key <AD12>  { [   bracketright, braceright] };
   1084     //A Row
   1085     key <AC01>  { [   U0B3E,      U0B06,      U0B05,    U0B06      ] }; // A: aa, full A, AA
   1086     key <AC02>  { [   U0B38,      U0B37       ] };                      // S: sa, ssa
   1087     key <AC03>  { [   U0B26,      U0B27       ] };                      // D: da, dha
   1088     key <AC04>  { [   U0B1F,      U0B20       ] };                      // F: TA, THA
   1089     key <AC05>  { [   U0B17,      U0B18       ] };                      // G: ga, gha
   1090     key <AC06>  { [   U0B39,      U0B03       ] };                      // H: ha, visarg
   1091     key <AC07>  { [   U0B1C,      U0B1D       ] };                      // J: ja, jha
   1092     key <AC08>  { [   U0B15,      U0B16       ] };                      // K: ka, kha
   1093     key <AC09>  { [   U0B32,      U0B33,      U0B62,    U0B0C      ] }; // L: la, vocalic L or lru matra
   1094     key <AC10>  { [   semicolon,  colon       ] };
   1095     key <AC11>  { [   apostrophe, quotedbl    ] };
   1096     //Z Row
   1097     key <AB01>  { [   U0B36       ] };                                  // Z: sha, akaar candra
   1098     key <AB02>  { [   U0B4D       ] };                                  // X: halant, aakaar candra, chandra A
   1099     key <AB03>  { [   U0B1A,      U0B1B       ] };                      // C: ca, cha
   1100     key <AB04>  { [   U0B21,      U0B22       ] };                      // V: da, dha
   1101     key <AB05>  { [   U0B2C,      U0B2D       ] };                      // B: ba, bha
   1102     key <AB06>  { [   U0B28,      U0B23       ] };                      // N: na, nna
   1103     key <AB07>  { [   U0B2E,      U0B19,      U0B3D     ] };            // M: ma, nga, avagraha
   1104     key <AB08>  { [   comma,      U0B70,      U0B44,    U0B61    ] };   // comma: comma, dev abbreviation sign
   1105     key <AB09>  { [   period,     U0B3C,      U0B55     ] };            // period: period, nukta
   1106     key <AB10>  { [   slash,      question    ] };
   1107 
   1108 //    modifier_map Shift  { Shift_L };
   1109 //    modifier_map Lock   { Caps_Lock };
   1110 //    modifier_map Control{ Control_L };
   1111 //    modifier_map Mod3   { Mode_switch };
   1112 
   1113   include "level3(ralt_switch)"
   1114 };
   1115 
   1116 // Phonetic layout for Oriya like Hindi Wx
   1117 // Author: Lalit Mishra
   1118 // Date: 3rd March, 2021.
   1119 partial alphanumeric_keys
   1120 xkb_symbols "ori-wx" {
   1121     name[Group1]= "Oriya (Wx)";
   1122       key <TLDE> {   [      grave,        asciitilde,  0x100200C, 0x100200D ] };
   1123       key <AE01> {   [      0x1000B67,    exclam,      1 ] };
   1124       key <AE02> {   [      0x1000B68,    at,          2,         0x10020AC  ] };
   1125       key <AE03> {   [      0x1000B69,    numbersign,  3,         0x10000A3  ] };
   1126       key <AE04> {   [      0x1000B6A,    dollar,      4,         0x10020B9  ] };
   1127       key <AE05> {   [      0x1000B6B,    percent,     5 ] };
   1128       key <AE06> {   [      0x1000B6C,    asciicircum, 6 ] };
   1129       key <AE07> {   [      0x1000B6D,    ampersand,   7 ] };
   1130       key <AE08> {   [      0x1000B6e,    asterisk,    8 ] };
   1131       key <AE09> {   [      0x1000B6F,    parenleft,   9 ] };
   1132       key <AE10> {   [      0x1000B66,    parenright,  0 ] };
   1133       key <AE11> {   [      minus,        underscore   ] };
   1134       key <AE12> {   [      equal,        plus         ] };
   1135       key <AD01> {   [      0x1000B43,    0x1000B44,   0x1000B0B, 0x1000B60 ] };
   1136       key <AD02> {   [      0x1000B24,    0x1000B25    ] };
   1137       key <AD03> {   [      0x1000B47,    0x1000B48,   0x1000B0F, 0x1000B10 ] };
   1138       key <AD04> {   [      0x1000B30,    0x1000B37    ] };
   1139       key <AD05> {   [      0x1000B1F,    0x1000B20    ] };
   1140       key <AD06> {   [      0x1000B2F,    0x1000B5F    ] };
   1141       key <AD07> {   [      0x1000B41,    0x1000B42,   0x1000B09, 0x1000B0A ] };
   1142       key <AD08> {   [      0x1000B3F,    0x1000B40,   0x1000B07, 0x1000B08 ] };
   1143       key <AD09> {   [      0x1000B4B,    0x1000B4C,   0x1000B13, 0x1000B14 ] };
   1144       key <AD10> {   [      0x1000B2A,    0x1000B2B    ] };
   1145       key <AD11> {   [      bracketleft,  braceleft    ] };
   1146       key <AD12> {   [      bracketright, braceright   ] };
   1147       key <BKSL> {   [      0x1000964,    0x1000965,   backslash, bar       ] };
   1148       key <AC01> {   [      0x1000B4D,    0x1000B3E,   0x1000B05, 0x1000B06 ] };
   1149       key <AC02> {   [      0x1000B38,    0x1000B36    ] };
   1150       key <AC03> {   [      0x1000B21,    0x1000B22    ] };
   1151       key <AC04> {   [      0x1000B19,    0x1000B1E    ] };
   1152       key <AC05> {   [      0x1000B17,    0x1000B18    ] };
   1153       key <AC06> {   [      0x1000B39,    0x1000B03    ] };
   1154       key <AC07> {   [      0x1000B1C,    0x1000B1D    ] };
   1155       key <AC08> {   [      0x1000B15,    0x1000B16    ] };
   1156       key <AC09> {   [      0x1000B32,    0x1000B62,   0x1000B33, 0x1000B0C ] };
   1157       key <AC10> {   [      semicolon,    colon        ] };
   1158       key <AC11> {   [      apostrophe,   quotedbl     ] };
   1159       key <AB01> {   [      0x1000B01,    0x1000B3C,   0x1000B3D  ] };
   1160       key <AB02> {   [      0x1000B26,    0x1000B27    ] };
   1161       key <AB03> {   [      0x1000B1A,    0x1000B1B    ] };
   1162       key <AB04> {   [      0x1000B71,    0x1000B35    ] };
   1163       key <AB05> {   [      0x1000B2C,    0x1000B2D    ] };
   1164       key <AB06> {   [      0x1000B28,    0x1000B23    ] };
   1165       key <AB07> {   [      0x1000B2E,    0x1000B02    ] };
   1166       key <AB08> {   [      comma,        less         ] };
   1167       key <AB09> {   [      period,       greater      ] };
   1168       key <AB10> {   [      slash,        question     ] };
   1169 
   1170   include "level3(ralt_switch)"
   1171 };
   1172 
   1173 partial alphanumeric_keys
   1174 xkb_symbols "tam" {
   1175       name[Group1]= "Tamil (InScript)";
   1176 
   1177       key <TLDE> { [      U0BCA, U0B92	]	};
   1178 
   1179       // Mainly numbers.
   1180       key <AE01> { [      U0BE7 		]	};
   1181       key <AE02> { [      U0BE8 		]	};
   1182       key <AE03> { [      U0BE9 		]	};
   1183       key <AE04> { [      U0BEA 		]	};
   1184       key <AE05> { [      U0BEB 		]	};
   1185       key <AE06> { [      U0BEC 		]	};
   1186       key <AE07> { [      U0BED        	]	};
   1187       key <AE08> { [      U0BEE 		]	};
   1188       key <AE09> { [      U0BEF, parenleft	]	};
   1189       key <AE10> { [      U0BF0, parenright	]	};
   1190       key <AE11> { [      U0BF1, U0B83  ]	};
   1191       key <AE12> { [      U0BF2, plus	] 	};
   1192 
   1193 // Mainly long vowels
   1194 
   1195       key <AD01> { [      U0BCC,  U0B94 ]	};
   1196       key <AD02> { [      U0BC8,  U0B90 ]	};
   1197       key <AD03> { [      U0BBE,  U0B86 ]	};
   1198       key <AD04> { [      U0BC0,  U0B88 ]	};
   1199       key <AD05> { [      U0BC2,  U0B8A ]	};
   1200 
   1201 // Mainly voiced consonants
   1202 
   1203       key <AD07> { [      U0BB9, U0B99	]	};
   1204       key <AD10> { [      U0B9c 	]	};
   1205       key <AD12> { [      U0B9E				]	};
   1206 
   1207 // Mainly short vowels
   1208       key <AC01> { [      U0BCB,  U0B93 ]	};
   1209       key <AC02> { [      U0BC7,  U0B8F ]	};
   1210       key <AC03> { [      U0BCD,  U0B85 ]	};
   1211       key <AC04> { [      U0BBF,  U0B87 ]	};
   1212       key <AC05> { [      U0BC1,  U0B89 ]	};
   1213 
   1214 // Mainly unvoiced consonants
   1215 
   1216       key <AC06> { [      U0BAA 		]	};
   1217       key <AC07> { [      U0BB0,  U0BB1 ]	};
   1218       key <AC08> { [      U0B95 		]	};
   1219       key <AC09> { [      U0BA4 		]	};
   1220       key <AC10> { [      U0B9A 		]	};
   1221       key <AC11> { [      U0B9F 		]	};
   1222       key <BKSL> { [      U005C, U007C	]	};//backslash-bar  - Changed to Unicode
   1223 
   1224       key <AB01> { [      U0BC6,  U0B8E	]	};
   1225       key <AB02> { [      U0B82   		]       };
   1226       key <AB03> { [      U0BAE,  U0BA3 ]       };
   1227       key <AB04> { [      U0BA8,  U0BA9 ]       };
   1228       key <AB05> { [      U0BB5,  U0BB4 ]       };
   1229       key <AB06> { [      U0BB2,  U0BB3 ]       };
   1230       key <AB07> { [      U0BB8,  U0BB6	]       };
   1231       key <AB08> { [      comma,      U0BB7 ]       };
   1232       key <AB09> { [      period,     U0964 ]       };
   1233       key <AB10> { [      U0BAF,  question  ]       };
   1234 
   1235       include "level3(ralt_switch)"
   1236       include "rupeesign(4)"
   1237 };
   1238 
   1239 partial alphanumeric_keys
   1240 xkb_symbols "tam_tamilnet" {
   1241 
   1242 // Description: A keymap based on the TamilNet'99 typewriter keyboard 
   1243 // Encoding: Unicode (http://www.unicode.org)
   1244 // Author: Thuraiappah Vaseeharan <vasee (a] ieee.org>
   1245 // Modifed by: Malathi S <malathiramya (a] gmail.com>
   1246 // Secondary contact: Sri Ramadoss M <amachu (a] au-kbc.org>
   1247 // Date  : Fri Sep 4 11:32:00 CST 2009
   1248 // Mapping:
   1249 
   1250     name[Group1]= "Tamil (TamilNet '99)";
   1251 
   1252     // granthas
   1253     key <TLDE> {  [ apostrophe, asciitilde ] };
   1254     key <AE01> {  [ U0031, exclam ] } ;
   1255     key <AE02> {  [ U0032, at ] } ;
   1256     key <AE03> {  [ U0033, numbersign ] } ;
   1257     key <AE04> {  [ U0034, U0BF9 ] } ;
   1258     key <AE05> {  [ U0035, percent ] } ;
   1259     key <AE06> {  [ U0036, asciicircum ] } ;
   1260     key <AE07> {  [ U0037, ampersand ] } ;
   1261     key <AE08> {  [ U0038, asterisk ] } ;
   1262     key <AE09> {  [ U0039, parenleft ] } ;
   1263     key <AE10> {  [ U0030, parenright ] } ;
   1264     key <AE11> {  [ minus, underscore ] };
   1265     key <AE12> {  [ equal, plus	] };
   1266 
   1267 
   1268     // Qrow
   1269     key <AD01> {  [ U0B9E, U0BB6 ] };
   1270     key <AD02> {  [ U0BB1, U0BB7 ] };
   1271     key <AD03> {  [ U0BA8, U0BB8 ] };
   1272     key <AD04> {  [ U0B9A, U0BB9 ] };
   1273     key <AD05> {  [ U0BB5, U0B9C ] };
   1274     key <AD06> {  [ U0BB2 ] };
   1275     key <AD07> {  [ U0BB0 ] };
   1276     key <AD08> {  [ U0BC8, U0B90 ] };
   1277     key <AD09> {  [ U0BCA, U0BCB ] };
   1278     key <AD10> {  [ U0BBF, U0BC0 ] };
   1279     key <AD11> {  [ U0BC1, U0BC2 ] };
   1280 
   1281     // Arow
   1282     key <AC01> { [ U0BAF ] };
   1283     key <AC02> { [ U0BB3 ] };
   1284     key <AC03> { [ U0BA9 ] };
   1285     key <AC04> { [ U0B95 ] };
   1286     key <AC05> { [ U0BAA ] };
   1287     key <AC06> { [ U0BBE, U0BB4 ] };
   1288     key <AC07> { [ U0BA4 ] };
   1289     key <AC08> { [ U0BAE ] };
   1290     key <AC09> { [ U0B9F ] };
   1291     key <AC10> { [ U0BCD, U0B83 ] };
   1292     key <AC11> { [ U0B99 ] };
   1293 
   1294     // Zrow
   1295     key <AB01> { [ U0BA3 ]  };
   1296     key <AB02> { [ U0B92, U0B93 ]  };
   1297     key <AB03> { [ U0B89, U0B8A ]  };
   1298     key <AB04> { [ U0B8E, U0B8F ]  };
   1299     key <AB05> { [ U0BC6, U0BC7 ]  };
   1300     key <AB06> { [ U0B94, U0BCC ]  };
   1301     key <AB07> { [ U0B85, U0B86 ]  };
   1302     key <AB08> { [ U0B87, U0B88 ]  };
   1303 };
   1304 
   1305 partial alphanumeric_keys
   1306 xkb_symbols "tam_tamilnet_with_tam_nums" {
   1307 
   1308 // Description: A keymap based on the TamilNet'99 typewriter keyboard 
   1309 // Encoding: Unicode (http://www.unicode.org)
   1310 // Author: Malathi S <malathiramya (a] gmail.com>
   1311 // Secondary contact: Sri Ramadoss M <amachu (a] au-kbc.org>
   1312 // Date  : Fri Sep 4 11:33:00 CST 2009
   1313 // Mapping:
   1314 
   1315       name[Group1]= "Tamil (TamilNet '99 with Tamil numerals)";
   1316 
   1317       // Mainly numbers.
   1318       key <TLDE> { [ apostrophe, asciitilde ] };
   1319       key <AE01> { [ U0BE7, exclam ] };
   1320       key <AE02> { [ U0BE8, at ] };
   1321       key <AE03> { [ U0BE9, numbersign ] };
   1322       key <AE04> { [ U0BEA, U0BF9 ] };
   1323       key <AE05> { [ U0BEB, percent ] };
   1324       key <AE06> { [ U0BEC, asciicircum ] };
   1325       key <AE07> { [ U0BED, ampersand ] };
   1326       key <AE08> { [ U0BEE, asterisk ] };
   1327       key <AE09> { [ U0BEF, parenleft ] };
   1328       key <AE10> { [ U0BE6, parenright ] };
   1329       key <AE11> { [ minus, underscore ] };
   1330       key <AE12> { [ equal, plus ] };
   1331 
   1332 
   1333     // Qrow
   1334     key <AD01> {  [ U0B9E, U0BB6 ] };
   1335     key <AD02> {  [ U0BB1, U0BB7 ] };
   1336     key <AD03> {  [ U0BA8, U0BB8 ] };
   1337     key <AD04> {  [ U0B9a, U0BB9 ] };
   1338     key <AD05> {  [ U0BB5, U0B9c ] };
   1339     key <AD06> {  [ U0BB2 ] };
   1340     key <AD07> {  [ U0BB0 ] };
   1341     key <AD08> {  [ U0BC8, U0B90 ] };
   1342     key <AD09> {  [ U0BCA, U0BCB ] };
   1343     key <AD10> {  [ U0BBF, U0BC0 ] };
   1344     key <AD11> {  [ U0BC1, U0BC2 ] };
   1345 
   1346     // Arow
   1347     key <AC01> { [ U0BAF ] };
   1348     key <AC02> { [ U0BB3 ] };
   1349     key <AC03> { [ U0BA9 ] };
   1350     key <AC04> { [ U0B95 ] };
   1351     key <AC05> { [ U0BAA ] };
   1352     key <AC06> { [ U0BBE, U0BB4 ] };
   1353     key <AC07> { [ U0BA4 ] };
   1354     key <AC08> { [ U0BAE ] };
   1355     key <AC09> { [ U0B9F ] };
   1356     key <AC10> { [ U0BCD, U0B83 ] };
   1357     key <AC11> { [ U0B99 ] };
   1358 
   1359     // Zrow
   1360     key <AB01> { [ U0BA3 ]  };
   1361     key <AB02> { [ U0B92, U0B93 ]  };
   1362     key <AB03> { [ U0B89, U0B8A ]  };
   1363     key <AB04> { [ U0B8E, U0B8F ]  };
   1364     key <AB05> { [ U0BC6, U0BC7 ]  };
   1365     key <AB06> { [ U0B94, U0BCC ]  };
   1366     key <AB07> { [ U0B85, U0B86 ]  };
   1367     key <AB08> { [ U0B87, U0B88 ]  };
   1368 };
   1369 
   1370 partial alphanumeric_keys
   1371 xkb_symbols "tam_tamilnet_TSCII" {
   1372 
   1373 // Description	: A Tamil typewrite-style keymap 
   1374 //		  loosely based on TamilNet'99 reommendations 
   1375 // Encoding	: TSCII (http://www.tscii.org)
   1376 // Author	: Thuraiappah Vaseeharan <vasee (a] ieee.org>
   1377 // Last Modified: Sat Jan  5 17:11:26 CST 2002
   1378 
   1379     name[Group1]= "Tamil (TamilNet '99, TSCII encoding)";
   1380 
   1381     key <AE01> {  [ 0x10000b7, 0x10000a4 ] }; // aytham
   1382     key <AE02> {  [ 0x1000082, 0x10000a5 ] }; // shri
   1383     key <AE03> {  [ 0x1000083, 0x1000088 ] }; // ja
   1384     key <AE04> {  [ 0x1000084, 0x1000089 ] }; // sha
   1385     key <AE05> {  [ 0x1000085, 0x100008a ] }; // sa
   1386     key <AE06> {  [ 0x1000086, 0x100008b ] }; // ha
   1387     key <AE07> {  [ 0x1000087, 0x100008c ] }; // ksha
   1388 
   1389     // Qrow
   1390     key <AD01> {  [ 0x10000bb, 0x100009a ] }; // nja
   1391     key <AD02> {  [ 0x10000c8, 0x10000da ] }; // Ra
   1392     key <AD03> {  [ 0x10000bf, 0x10000d1 ] }; // NNa
   1393     key <AD04> {  [ 0x10000ba, 0x10000cd ] }; // ca
   1394     key <AD05> {  [ 0x10000c5, 0x10000d7 ] }; // va
   1395     key <AD06> {  [ 0x10000c4, 0x10000d6 ] }; // la
   1396     key <AD07> {  [ 0x10000c3, 0x10000d5 ] }; // ra
   1397     key <AD08> {  [ 0x10000a8, 0x10000b3 ] }; // sangili, ai
   1398     key <AD09> {  [ 0x10000ca, 0x10000cb ] }; // di, dI
   1399     key <AD10> {  [ 0x10000a2, 0x10000a3 ] }; // visiri
   1400     key <AD11> {  [ dead_acute, 0x10000a3 ] }; // Ukaaram
   1401 
   1402     // Arow
   1403     key <AC01> { [ 0x10000c2, 0x10000d4 ] }; // ya
   1404     key <AC02> { [ 0x10000c7, 0x10000d9 ] }; // La
   1405     key <AC03> { [ 0x10000c9, 0x10000db ] }; // na
   1406     key <AC04> { [ 0x10000b8, 0x10000cc ] }; // ka
   1407     key <AC05> { [ 0x10000c0, 0x10000d2 ] }; // pa
   1408     key <AC06> { [ dead_grave,0x10000a1 ] }; // pulli,aravu
   1409     key <AC07> { [ 0x10000be, 0x10000d0 ] }; // tha
   1410     key <AC08> { [ 0x10000c1, 0x10000d3 ] }; // ma
   1411     key <AC09> { [ 0x10000bc, 0x10000ce ] }; // da
   1412     key <AC10> { [ 0x10000c6, 0x10000d8 ] }; // zha
   1413     key <AC11> { [ 0x10000b9, 0x1000099 ] }; // nga
   1414 
   1415     // Zrow
   1416     key <AB01> { [ 0x10000bd, 0x10000cf ] }; // Na
   1417     key <AB02> { [ 0x10000b4, 0x10000b5 ] }; // o, O
   1418     key <AB03> { [ 0x10000af, 0x10000b0 ] }; // u, U
   1419     key <AB04> { [ 0x10000b1, 0x10000b2 ] }; // e, E
   1420     key <AB05> { [ 0x10000a6, 0x10000a7 ] }; // kombus
   1421     key <AB06> { [ 0x10000b6, 0x10000aa ] }; // au
   1422     key <AB07> { [ 0x10000ab, 0x10000ac ] }; // a, A
   1423     key <AB08> { [ 0x10000fe, 0x10000ae ] }; // i, I
   1424 };
   1425 
   1426 partial alphanumeric_keys
   1427 xkb_symbols "tam_tamilnet_TAB" {
   1428 
   1429 // Description: A keymap based on the TamilNet'99 typewriter keyboard 
   1430 // Encoding: TAB (http://www.tamilnet99.org)
   1431 // Author: Thuraiappah Vaseeharan <t_vasee (a] yahoo.com>
   1432 // Date  : Sun Aug 12 02:23:00 CDT 2001
   1433 
   1434     name[Group1]= "Tamil (TamilNet '99, TAB encoding)";
   1435 
   1436     // numeral row
   1437     key <AE01> {  [ 0x10000e7, 0x10000a7 ] } ;
   1438     key <AE02> {  [ 0x10000fa, 0x10000a8 ] } ;
   1439     key <AE03> {  [ 0x10000fb ] } ;
   1440     key <AE04> {  [ 0x10000fc ] } ;
   1441     key <AE05> {  [ 0x10000fd ] } ;
   1442     key <AE06> {  [ 0x10000fe ] } ;
   1443     key <AE07> {  [ 0x10000ff ] } ;
   1444 
   1445     // q-row
   1446     key <AD01> {  [ 0x10000eb, 0x10000b3 ] };
   1447     key <AD02> {  [ 0x10000f8, 0x10000c1 ] };
   1448     key <AD03> {  [ 0x10000ef, 0x10000b8 ] };
   1449     key <AD04> {  [ 0x10000ea, 0x10000b2 ] };
   1450     key <AD05> {  [ 0x10000f5, 0x10000be ] };
   1451     key <AD06> {  [ 0x10000f4, 0x10000bd ] };
   1452     key <AD07> {  [ 0x10000f3, 0x10000bc ] };
   1453     key <AD08> {  [ 0x10000ac, 0x10000e4 ] };
   1454     key <AD09> {  [ 0x10000ae, 0x10000af ] };
   1455     key <AD10> {  [ 0x10000a4, 0x10000a6 ] };
   1456     key <AD11> {  [ dead_circumflex, 0x10000a6 ] }; // Ukaaram
   1457 
   1458     // a-row
   1459     key <AC01> {  [ 0x10000f2, 0x10000bb ] };
   1460     key <AC02> {  [ 0x10000f7, 0x10000c0 ] };
   1461     key <AC03> {  [ 0x10000f9, 0x10000c2 ] };
   1462     key <AC04> {  [ 0x10000e8, 0x10000b0 ] };
   1463     key <AC05> {  [ 0x10000f0, 0x10000b9 ] };
   1464     key <AC06> {  [ 0x10000a2, 0x10000a3 ] };
   1465     key <AC07> {  [ 0x10000ee, 0x10000b6 ] };
   1466     key <AC08> {  [ 0x10000f1, 0x10000ba ] };
   1467     key <AC09> {  [ 0x10000ec, 0x10000b4 ] };
   1468     key <AC10> {  [ 0x10000f6, 0x10000bf ] };
   1469     key <AC11> {  [ 0x10000e9, 0x10000b1 ] };
   1470 
   1471     // z-row
   1472     key <AB01> {  [ 0x10000ed, 0x10000b5 ] };
   1473     key <AB02> {  [ 0x10000e5, 0x10000e6 ] };
   1474     key <AB03> {  [ 0x10000e0, 0x10000e1 ] };
   1475     key <AB04> {  [ 0x10000e2, 0x10000e3 ] };
   1476     key <AB05> {  [ 0x10000aa, 0x10000ab ] };
   1477     key <AB06> {  [ 0x10000ac, 0x10000a3 ] };
   1478     key <AB07> {  [ 0x10000dc, 0x10000dd ] };
   1479     key <AB08> {  [ 0x10000de, 0x10000df ] };
   1480 };
   1481 
   1482 partial alphanumeric_keys
   1483 xkb_symbols "tel" {
   1484 
   1485     // InScript layout for Telugu using Unicode 
   1486     // Author: G Karunakar <karunakar (a] freedomink.org>
   1487     // Date:
   1488     // See layout at http://www.indlinux.org/keymap/telugu.php
   1489 
   1490     name[Group1]= "Telugu";
   1491 
   1492     key <TLDE> { [  U0c4a, U0c12	] };
   1493     key <AE01> { [  U0c67			] };
   1494     key <AE02> { [  U0c68			] };
   1495     key <AE03> { [  U0c69, numbersign	] };
   1496     key <AE04> { [  U0c6a, dollar		] };
   1497     key <AE05> { [  U0c6b, percent		] };
   1498     key <AE06> { [  U0c6c, asciicircum	] };
   1499     key <AE07> { [  U0c6d, ampersand	] };
   1500     key <AE08> { [  U0c6e, asterisk	] };
   1501     key <AE09> { [  U0c6f, parenleft	] };
   1502     key <AE10> { [  U0c66, parenright	] };
   1503     key <AE11> { [  U0c03, underscore	] };
   1504     key <AE12> { [  U0c43, U0c0b	] };
   1505     key <BKSP> { [  BackSpace			] };
   1506 
   1507     key <AD01> { [  U0c4c, U0c14	] };
   1508     key <AD02> { [  U0c48, U0c10	] };
   1509     key <AD03> { [  U0c3e, U0c06	] };
   1510     key <AD04> { [  U0c40, U0c08	] };
   1511     key <AD05> { [  U0c42, U0c0a	] };
   1512     key <AD06> { [  U0c2c, U0c2d	] };
   1513     key <AD07> { [  U0c39, U0c19	] };
   1514     key <AD08> { [  U0c17, U0c18	] };
   1515     key <AD09> { [  U0c26, U0c27	] };
   1516     key <AD10> { [  U0c1c, U0c1d	] };
   1517     key <AD11> { [  U0c21, U0c22	] };
   1518     key <AD12> { [  U0c1e			] };
   1519 
   1520     key <AC01> { [  U0c4b, U0c13	] };
   1521     key <AC02> { [  U0c47, U0c0f	] };
   1522     key <AC03> { [  U0c4d, U0c05	] };
   1523     key <AC04> { [  U0c3f, U0c07	] };
   1524     key <AC05> { [  U0c41, U0c09	] };
   1525     key <AC06> { [  U0c2a, U0c2b	] };
   1526     key <AC07> { [  U0c30, U0c31	] };
   1527     key <AC08> { [  U0c15, U0c16	] };
   1528     key <AC09> { [  U0c24, U0c25	] };
   1529     key <AC10> { [  U0c1a, U0c1b	] };
   1530     key <AC11> { [  U0c1f, U0c20	] };
   1531 
   1532     key <AB01> { [  U0c46, U0c0e	] };
   1533     key <AB02> { [  U0c02, U0c01	] };
   1534     key <AB03> { [  U0c2e, U0c23	] };
   1535     key <AB04> { [  U0c28			] };
   1536     key <AB05> { [  U0c35			] };
   1537     key <AB06> { [  U0c32, U0c33	] };
   1538     key <AB07> { [  U0c38, U0c36	] };
   1539     key <AB08> { [  comma     , U0c37	] };
   1540     key <AB09> { [  period    				] };
   1541     key <AB10> { [  U0c2f, U0040	] };
   1542 
   1543     key <RALT> {        
   1544         symbols[Group1] = [ Mode_switch, Multi_key ],
   1545         virtualMods = AltGr
   1546     };
   1547     include "rupeesign(4)"
   1548     include "level3(ralt_switch)"
   1549 };
   1550 
   1551 //Name                  :       Sarala
   1552 //Description           :       This is an adaptation of the Sarala keyboard (http://www.medhajananam.org/sarala/) developed 
   1553 //                              by Krishna Dhullipalla. Because of the way keyboard shortcuts are laid out in KDE, the keyboard
   1554 //                              modifiers had to be changed. The layout does not take any part of the original Sarala keyboard 
   1555 //                              code however. It has been developed from scratch, so the experience may differ.
   1556 //			        
   1557 //                              There is a ibus-m17n version of Sarala layout developed by Satya Pothamsetti <potham (a] gmail.com> on 
   1558 //                              http://www.medhajananam.org/.
   1559 //Standard		:	Supports Unicode 9.0.	 
   1560 //Help			:	This layout differs slightly from the layout on Medhajenanam. The layout has been depicted in the 
   1561 //				pdf file attached to this post on Sarala google group.
   1562 //				(https://groups.google.com/forum/#!topic/sarala-keyboard/-gsa90dUFcs).
   1563 //
   1564 //Layout Developed by   :       Krishna Dhullipalla <krishnadvr (a] yahoo.com> (http://www.medhajananam.org/)
   1565 //Author                :       Venkat R Akkineni <venkatram.akkineni (a] india.com>
   1566 //Date			:	Apr 28 2017
   1567 partial alphanumeric_keys
   1568 xkb_symbols "tel-sarala"
   1569 {
   1570     name[Group1] = "Telugu (Sarala)";
   1571     key.type="FOUR_LEVEL";
   1572     // sequence 									  base, shift, alt, alt + shift
   1573     key <AB01> { [          U0C4A,          U0C12                                 ] }; //  
   1574     key <AB02> { [          U0C42,          U0C0A                                 ] }; //  
   1575     key <AB03> { [          U0C21,          U0C22                                 ] }; //  
   1576     key <AB04> { [          U0C35,          U0C39                                 ] }; //  
   1577     key <AB05> { [          U0C2C,          U0C2D                                 ] }; //  
   1578     key <AB06> { [          U0C28,          U0C23                                 ] }; //  
   1579     key <AB07> { [          U0C2E,          U0C01                                 ] }; //  
   1580     key <AB08> { [         U002C,          U0C1E,      leftcaret 	    	  ] }; // ,  <
   1581     key <AB09> { [         U002E,          U0C19,     rightcaret              	  ] }; // .  >
   1582     key <AB10> { [          U0C36,       question,      KP_Divide                 ] }; //  ? /
   1583     key <AC01> { [          U0C2F,          U0C3D           			  ] }; //  
   1584     key <AC02> { [          U0C02,          U0C03                                 ] }; //  
   1585     key <AC03> { [          U0C26,          U0C27                                 ] }; //  
   1586     key <AC04> { [          U0C4D,          U0C05                                 ] }; //  
   1587     key <AC05> { [          U0C17,          U0C18                                 ] }; //  
   1588     key <AC06> { [          U0C1A,          U0C1B,          U0C58,          U0C59 ] }; //    
   1589     key <AC07> { [          U0C3E,          U0C06                                 ] }; //  
   1590     key <AC08> { [          U0C15,          U0C16,          U0C62,          U0C63 ] }; //    
   1591     key <AC09> { [          U0C32,          U0C33,          U0C0C,          U0C61 ] }; //    
   1592     key <AC10> { [          U0C1F,          U0C20,      semicolon,          colon ] }; //   ; :
   1593     key <AC11> { [     quoteright,       quotedbl	    	    		  ] }; // ' " 
   1594     key <AD01> { [          U0C46,          U0C0E,          U0C44,          U0C34 ] }; //    
   1595     key <AD02> { [          U0C38,          U0C37,          U0C44                 ] }; //   
   1596     key <AD03> { [          U0C47,          U0C0F,          U0C44                 ] }; //   
   1597     key <AD04> { [          U0C30,          U0C31,          U0C44,          U0C60 ] }; //    
   1598     key <AD05> { [          U0C24,          U0C25                                 ] }; //  
   1599     key <AD06> { [          U0C40,          U0C08                                 ] }; //  
   1600     key <AD07> { [          U0C41,          U0C09                                 ] }; //  
   1601     key <AD08> { [          U0C3F,          U0C07                                 ] }; //  
   1602     key <AD09> { [          U0C4B,          U0C13                                 ] }; //  
   1603     key <AD10> { [          U0C2A,          U0C2B                                 ] }; //  
   1604     key <AD11> { [          U0C1C,          U0C1D,    bracketleft,      braceleft ] }; //   [ {
   1605     key <AD12> { [          U0C48,          U0C10,   bracketright,     braceright ] }; //   ] }
   1606     key <AE01> { [           KP_1,         exclam,          U0C67,          U0C78 ] }; // 1 !  
   1607     key <AE02> { [           KP_2,             at,          U0C68,          U0C79 ] }; // 2 @  
   1608     key <AE03> { [           KP_3,     numbersign,          U0C69,          U0C7A ] }; // 3 #  
   1609     key <AE04> { [           KP_4,         dollar,          U0C6A,          U0C7B ] }; // 4 $  
   1610     key <AE05> { [           KP_5,        percent,          U0C6B,          U0C7C ] }; // 5 %  
   1611     key <AE06> { [           KP_6,    asciicircum,          U0C6C,          U0C7D ] }; // 6 ^  
   1612     key <AE07> { [           KP_7,      ampersand,          U0C6D,          U0C7E ] }; // 7 &  
   1613     key <AE08> { [           KP_8,    KP_Multiply,          U0C6E,          U0C7F ] }; // 8 *  
   1614     key <AE09> { [           KP_9,         U0028,           U0C6F,          U20B9 ] }; // 9 (  
   1615     key <AE10> { [           KP_0,         U0029,           U0C66,          U0C55 ] }; // 0 )  
   1616     key <AE11> { [    KP_Subtract,       underbar,       NoSymbol,          U0C56 ] }; // - _  
   1617     key <AE12> { [       KP_Equal,         KP_Add                                 ] }; // = +
   1618     key <BKSL> { [          U0C4C,          U0C14,          U0964,          U0965 ] }; //    
   1619     key <TLDE> { [          U0C43,          U0C0B,      quoteleft,     asciitilde ] }; //   ` ~
   1620     
   1621     include "level3(ralt_switch)" 
   1622 };
   1623 
   1624 partial alphanumeric_keys 
   1625 xkb_symbols "urd-phonetic" {
   1626     include "pk(urd-phonetic)"
   1627     name[Group1]= "Urdu (phonetic)";
   1628 };
   1629 
   1630 partial alphanumeric_keys
   1631 xkb_symbols "urd-phonetic3" {
   1632     include "pk(urd-crulp)"
   1633     name[Group1]= "Urdu (alt. phonetic)";
   1634 };
   1635 
   1636 partial alphanumeric_keys
   1637 xkb_symbols "urd-winkeys" {
   1638     include "pk(urd-nla)"
   1639     name[Group1]= "Urdu (Windows)";
   1640 };
   1641 
   1642 partial alphanumeric_keys
   1643 xkb_symbols "guru" {
   1644       name[Group1]= "Punjabi (Gurmukhi)";
   1645 
   1646       // Mainly numbers.
   1647       key <AE01> { [      U0A67 		]	};
   1648       key <AE02> { [      U0A68		]	};
   1649       key <AE03> { [      U0A69, U0A71	]	};
   1650       key <AE04> { [      U0A6A, U0A74	 	]	};
   1651       key <AE05> { [      U0A6B, U262C		]	};
   1652       key <AE06> { [      U0A6C  	 	]	};
   1653       key <AE07> { [      U0A6D 		]	};
   1654       key <AE08> { [      U0A6e  	 	]	};
   1655       key <AE09> { [      U0A6F, parenleft 	]	};
   1656       key <AE10> { [      U0A66, parenright ]	};
   1657       key <AE11> { [      U0A03 	 	]	};
   1658       key <AE12> { [      equal,	plus 	]	};
   1659 
   1660 // Mainly long vowels
   1661 
   1662       key <AD01> { [      U0A4C, U0A14  ]	};
   1663       key <AD02> { [      U0A48, U0A10  ]	};
   1664       key <AD03> { [      U0A3E, U0A06  ]	};
   1665       key <AD04> { [      U0A40, U0A08  ]	};
   1666       key <AD05> { [      U0A42, U0A0A  ]	};
   1667 
   1668 // Mainly voiced consonants
   1669 
   1670       key <AD06> { [      U0A2C, U0A2D 	]	};
   1671       key <AD07> { [      U0A39, U0A19 	]	};
   1672       key <AD08> { [      U0A17, U0A18 	]	};
   1673       key <AD09> { [      U0A26, U0A27 	]	};
   1674       key <AD10> { [      U0A1C, U0A1D 	]	};
   1675       key <AD11> { [      U0A21, U0A22 	]	};
   1676       key <AD12> { [      U0A3C, U0A1E 	]	};
   1677 
   1678 // Mainly short vowels
   1679       key <AC01> { [      U0A4B, U0A13  ]	};
   1680       key <AC02> { [      U0A47, U0A0F  ]	};
   1681       key <AC03> { [      U0A4D, U0A05  ]	};
   1682       key <AC04> { [      U0A3F, U0A07  ]	};
   1683       key <AC05> { [      U0A41, U0A09  ]	};
   1684 
   1685 // Mainly unvoiced consonants
   1686 
   1687       key <AC06> { [      U0A2A, U0A2B 	]	};
   1688       key <AC07> { [      U0A30, U0A5C 	]	};
   1689       key <AC08> { [      U0A15, U0A16 	]	};
   1690       key <AC09> { [      U0A24, U0A25 	]	};
   1691       key <AC10> { [      U0A1A, U0A1B 	]	};
   1692       key <AC11> { [      U0A1F, U0A20 	]	};
   1693       key <BKSL> { [      U005C, U007C	]	};
   1694 
   1695       key <AB01> { [      z, 	 U0A01	]       };
   1696       key <AB02> { [      U0A02, U0A70, U0A71  ]       };
   1697       key <AB03> { [      U0A2E, U0A23  ]       };
   1698       key <AB04> { [      U0A28, U0A28  ]       };
   1699       key <AB05> { [      U0A35, U0A35  ]       };
   1700       key <AB06> { [      U0A32, U0A33  ]       };
   1701       key <AB07> { [      U0A38, U0A36  ]       };
   1702       key <AB08> { [      comma,     less       ]       };
   1703       key <AB09> { [      period,    U0964  ]       };
   1704       key <AB10> { [      U0A2F, question   ]       };
   1705 
   1706     include "rupeesign(4)"
   1707     include "level3(ralt_switch)"
   1708 };
   1709 
   1710 //Name		:	Jhelum (Refind InScript)
   1711 //Description	:	A Jhelum keyboard layout for Gurmukhi (Punjabi)
   1712 //			http://www.satluj.org/Jhelum.html
   1713 //Modified for InScript to make
   1714 //Original Author :	Amanpreet Singh Alam <apreet.alam (a] gmail.com
   1715 
   1716 partial alphanumeric_keys
   1717 xkb_symbols "jhelum" {
   1718       name[Group1] = "Punjabi (Gurmukhi Jhelum)";
   1719           key.type="FOUR_LEVEL";
   1720 
   1721      // Roman digits
   1722      key <TLDE>  { [  grave, asciitilde, U0A02,U0A01 ] }; // grave: anusvara, candrabindu
   1723      key <AE01>  { [   1,exclam,	U0A67,	exclam	   ] };
   1724      key <AE02>  { [   2,at,	U0A68,	at	   ] };
   1725      key <AE03>  { [   3,numbersign, U0A69,	numbersign ] };
   1726      key <AE04>  { [   4,dollar,	U0A6A		 ] };
   1727      key <AE05>  { [   5,percent,U0A6B,	percent    ] };
   1728      key <AE06>  { [   6,U0A73, U0A6C,asciicircum ] };
   1729      key <AE07>  { [   7,U0A72,U0A6D,ampersand  ] };
   1730      key <AE08>  { [   8,asterisk,U0A6E,	asterisk   ] };
   1731      key <AE09>  { [   9,parenleft,U0A6F,parenleft  ] };
   1732      key <AE10>  { [   0,parenright,U0A66,parenright ] };
   1733      key <AE11>	{ [   minus,underscore] };
   1734      key <AE12>	{ [   equal,plus] };
   1735      key <BKSL>  { [   U0964,U0965,U007C,U005C] }; //pipe : danda, double danda
   1736 
   1737      //Q Row	
   1738      key <AD01>   { [   U0A4C, 	U0A14   ] };  // Q: oo, ooh
   1739      key <AD02>   { [   U0A48,  	U0A10	] };  // W: ee, ae
   1740      key <AD03>   { [   U0A3E,   U0A06  ] };  // E: a, aa
   1741      key <AD04>   { [   U0A40,	U0A08, U20B9  	] };  // R: ee, ai, rupeesign
   1742      key <AD05>   { [   U0A42,   U0A0A   ] };  // T: u, uu
   1743      key <AD06>   { [   U0A30,	U0A5C   ] };  // Y: ra, raa
   1744      key <AD07>   { [   U0A26,   U0A27   ] };  // U: tha, thha
   1745      key <AD08>   { [   U0A17,   U0A18, U0A5A   ] };  // I:ga, gha
   1746      key <AD09>   { [   U0A24,   U0A1F   ] };  // O: ta, tha
   1747      key <AD10>   { [   U0A2A,   U0A5E, VoidSymbol,U0A5E  ] };  // P: pa, pha
   1748      key <AD11>   { [   U0A21,   U0A22,   bracketleft,   braceleft   ] };
   1749      key <AD12>	 { [   U0A19,   U0A1E,   bracketright, braceright   ] };
   1750 
   1751      //A Row
   1752      key <AC01>   { [   U0A4B,	 U0A13  ] };   // A: o, oo
   1753      key <AC02>   { [   U0A47,    U0A0F   ] };  // S: e, ee
   1754      key <AC03>   { [   U0A4D,    U0A05   ] };  // D: halant, aa
   1755      key <AC04>   { [   U0A3F,    U0A07   ] };  // F: i, aa
   1756      key <AC05>   { [   U0A41,    U0A09   ] };  // G: u, uh
   1757      key <AC06>   { [   U0A39,    U0A20   ] };  // H: ha, thha
   1758      key <AC07>   { [   U0A1C,    U0A1D, U0A5B   ] };  // J: ja, jha
   1759      key <AC08>   { [   U0A15,    U0A16,VoidSymbol ,U0A59   ] };  // K: ka, kha
   1760      key <AC09>   { [   U0A32,	 U0A25, U0A33   ] };  // L: la, tha
   1761      key <AC10>   { [   U0A38,   colon, U0A36  ] }; //; sa
   1762      key <AC11>   { [apostrophe, quotedbl ] };
   1763 
   1764      //Z Row
   1765      key <AB01>   { [   U0A71,	 U0A3C 	 ] };  // Z: addak, par bindi
   1766      key <AB02>   { [   U0A02,    U0A70	 ] };  // X: bindi, tippi
   1767      key <AB03>   { [   U0A1A,    U0A1B   ] };  // C: ca, cha
   1768      key <AB04>   { [   U0A35,    U0A2F   ] };  // V: va, ya
   1769      key <AB05>   { [   U0A2C,    U0A2D   ] };  // B: ba, bha
   1770      key <AB06>   { [   U0A28,    U0A23   ] };  // N: na, nha
   1771      key <AB07>   { [   U0A2E, U0A2E       ] };  // M: ma
   1772      key <AB08>   { [   comma,    U262C	 ] };// comma: comma, dev abbreviation sign
   1773      key <AB09>   { [   period,   U0A74 	 ] };  // period: period, nukta
   1774      key <AB10>   { [   slash,   question ] };
   1775 
   1776 //    modifier_map Shift  { Shift_L };
   1777 //    modifier_map Lock   { Caps_Lock };
   1778 //    modifier_map Control{ Control_L };
   1779 //    modifier_map Mod3   { Mode_switch };
   1780     include "level3(ralt_switch)"
   1781 };
   1782 
   1783 partial alphanumeric_keys
   1784 xkb_symbols "olpc" {
   1785 
   1786 // Contact: Walter Bender <walter (a] laptop.org>
   1787 
   1788   include "in(deva)"
   1789 
   1790   key <TLDE> { [	U094A,	U0912 ] }; // DEVANAGARI VOWEL SIGN SHORT O; DEVANAGARI LETTER SHORT O
   1791   key <AE01> { [	U0967,	U090D ] }; // DEVANAGARI DIGIT ONE; DEVANAGARI LETTER CANDRA E
   1792   key <AE02> { [	U0968,	U0945 ] }; // DEVANAGARI DIGIT TWO; DEVANAGARI VOWEL SIGN CANDRA E
   1793   key <AE03> { [	U0969	 ] }; // DEVANAGARI DIGIT THREE;
   1794   key <AE04> { [	U096A	 ] }; // DEVANAGARI DIGIT FOUR;
   1795   key <AE05> { [	U096B	 ] }; // DEVANAGARI DIGIT FIVE;
   1796   key <AE06> { [	U096C	 ] }; // DEVANAGARI DIGIT SIX;
   1797   key <AE07> { [	U096D	 ] }; // DEVANAGARI DIGIT SEVEN;
   1798   key <AE08> { [	U096E	 ] }; // DEVANAGARI DIGIT EIGHT;
   1799   key <AE09> { [	U096F,	parenleft ] }; // DEVANAGARI DIGIT NINE;
   1800   key <AE10> { [	U0966,	parenright ] }; // DEVANAGARI DIGIT ZERO;
   1801   key <AE11> { [	minus,		U0903 ] }; // DEVANAGARI SIGN VISARGA;
   1802   key <AE12> { [	U0943,	U090B ] }; // DEVANAGARI VOWEL SIGN VOCALIC R; DEVANAGARI LETTER VOCALIC R
   1803 
   1804   key <AD01> { [	U094C,	U0914 ] }; // DEVANAGARI VOWEL SIGN AU; DEVANAGARI LETTER AU
   1805   key <AD02> { [	U0948,	U0910 ] }; // DEVANAGARI VOWEL SIGN AI; DEVANAGARI LETTER AI
   1806   key <AD03> { [	U093E,	U0906 ] }; // DEVANAGARI VOWEL SIGN AA; DEVANAGARI LETTER AA
   1807   key <AD04> { [	U0940,	U0908 ] }; // DEVANAGARI VOWEL SIGN II; DEVANAGARI LETTER II
   1808   key <AD05> { [	U0942,	U090A ] }; // DEVANAGARI VOWEL SIGN UU; DEVANAGARI LETTER UU
   1809   key <AD06> { [	U092C,	U092D ] }; // DEVANAGARI LETTER BA; DEVANAGARI LETTER BHA
   1810   key <AD07> { [	U0939,	U0919 ] }; // DEVANAGARI LETTER HA; DEVANAGARI LETTER NGA
   1811   key <AD08> { [	U0917,	U0918 ] }; // DEVANAGARI LETTER GA; DEVANAGARI LETTER GHA
   1812   key <AD09> { [	U0926,	U0927 ] }; // DEVANAGARI LETTER DA; DEVANAGARI LETTER DHA
   1813   key <AD10> { [	U091C,	U091D ] }; // DEVANAGARI LETTER JA; DEVANAGARI LETTER JHA
   1814   key <AD11> { [	U0921,	U0922 ] }; // DEVANAGARI LETTER DDA; DEVANAGARI LETTER DDHA
   1815   key <AD12> { [	U093C,	U091E ] }; // DEVANAGARI SIGN NUKTA; DEVANAGARI LETTER NYA
   1816 
   1817   key <BKSL> { [	U0949,	U0911 ] }; // DEVANAGARI VOWEL SIGN CANDRA O; DEVANAGARI LETTER CANDRA O
   1818 
   1819   key <AC01> { [	U094B,	U0913 ] }; // DEVANAGARI VOWEL SIGN O; DEVANAGARI LETTER O
   1820   key <AC02> { [	U0947,	U090F ] }; // DEVANAGARI VOWEL SIGN E; DEVANAGARI LETTER E
   1821   key <AC03> { [	U094D,	U0905 ] }; // DEVANAGARI SIGN VIRAMA; DEVANAGARI LETTER A
   1822   key <AC04> { [	U093F,	U0907 ] }; // DEVANAGARI VOWEL SIGN I; DEVANAGARI LETTER I
   1823   key <AC05> { [	U0941,	U0909 ] }; // DEVANAGARI VOWEL SIGN U; DEVANAGARI LETTER U
   1824   key <AC06> { [	U092A,	U092B ] }; // DEVANAGARI LETTER PA; DEVANAGARI LETTER PHA
   1825   key <AC07> { [	U0930,	U0931 ] }; // DEVANAGARI LETTER RA; DEVANAGARI LETTER RRA
   1826   key <AC08> { [	U0915,	U0916 ] }; // DEVANAGARI LETTER KA; DEVANAGARI LETTER KHA
   1827   key <AC09> { [	U0924,	U0925 ] }; // DEVANAGARI LETTER TA; DEVANAGARI LETTER THA
   1828   key <AC10> { [	U091A,	U091B ] }; // DEVANAGARI LETTER CA; DEVANAGARI LETTER CHA
   1829   key <AC11> { [	U091F,	U0920 ] }; // DEVANAGARI LETTER TTA; DEVANAGARI LETTER TTHA
   1830 
   1831   key <AB01> { [	U0946,	U090E ] }; // DEVANAGARI VOWEL SIGN SHORT E; DEVANAGARI LETTER SHORT E
   1832   key <AB02> { [	U0902,	U0901 ] }; // DEVANAGARI SIGN ANUSVARA; DEVANAGARI SIGN CANDRABINDU
   1833   key <AB03> { [	U092E,	U0923 ] }; // DEVANAGARI LETTER MA; DEVANAGARI LETTER NNA
   1834   key <AB04> { [	U0928,	U0929 ] }; // DEVANAGARI LETTER NA; DEVANAGARI LETTER NNNA
   1835   key <AB05> { [	U0935,	U0934 ] }; // DEVANAGARI LETTER VA; DEVANAGARI LETTER LLLA
   1836   key <AB06> { [	U0932,	U0933 ] }; // DEVANAGARI LETTER LA; DEVANAGARI LETTER LLA
   1837   key <AB07> { [	U0938,	U0936 ] }; // DEVANAGARI LETTER SA; DEVANAGARI LETTER SHA
   1838   key <AB08> { [	comma,		U0937 ] }; // DEVANAGARI LETTER SSA
   1839   key <AB09> { [	period,		U0964 ] }; // DEVANAGARI DANDA
   1840   key <AB10> { [	U092F,	U095F ] }; // DEVANAGARI LETTER YA; DEVANAGARI LETTER YYA
   1841 
   1842   // space, space, Zero-Width-Non-Joiner (ZWNJ), Zero-Width-Joiner (ZWJ):
   1843   include "nbsp(zwnj3zwj4)"
   1844 
   1845   include "group(olpc)"
   1846 };
   1847 
   1848 partial alphanumeric_keys
   1849 xkb_symbols "hin-wx" {
   1850 
   1851     name[Group1]= "Hindi (Wx)";
   1852 
   1853       key <TLDE> {	 [     grave, asciitilde, 2, 3    ]	};
   1854 
   1855       key <AE01> {	 [      0x1000967, exclam 		]	};
   1856       key <AE02> {	 [      0x1000968, at 		]	};
   1857       key <AE03> {	 [      0x1000969 , numbersign	 		]	};
   1858       key <AE04> {	 [      0x100096A , dollar		]	};
   1859       key <AE05> {	 [      0x100096B , percent 	 		]	};
   1860       key <AE06> {	 [      0x100096C , asciicircum	 		]	};
   1861       key <AE07> {	 [      0x100096D , ampersand                       ]	};
   1862       key <AE08> {	 [      0x100096e , asterisk 	 		]	};
   1863       key <AE09> {	 [      0x100096F, parenleft 		]	};
   1864       key <AE10> {	 [      0x1000966, parenright 		]	};
   1865       key <AE11> {	 [      minus, underscore 	 		]	};
   1866       key <AE12> {	 [      equal, plus 		]	};
   1867 
   1868 
   1869       key <AD01> {	 [      0x1000943,  0x1000944, 0x100090B, 0x1000960]	};
   1870       key <AD02> {	 [      0x1000924,  0x1000925       	]	};
   1871       key <AD03> {	 [      0x1000947,  0x1000948, 0x100090F, 0x1000910]	};
   1872       key <AD04> {	 [      0x1000930,  0x1000937       	]	};
   1873       key <AD05> {	 [      0x100091F,  0x1000920       	]	};
   1874 
   1875 
   1876       key <AD06> {	 [      0x100092F 		]	};
   1877       key <AD07> {	 [      0x1000941,  0x1000942, 0x1000909, 0x100090A ]	};
   1878       key <AD08> {	 [      0x100093F,  0x1000940, 0x1000907, 0x1000908 ]	};
   1879       key <AD09> {	 [      0x100094B,  0x100094C, 0x1000913, 0x1000914]	};
   1880       key <AD10> {	 [      0x100092A,  0x100092B 		]	};
   1881       key <AD11> {	 [      bracketleft, braceleft  		]	};
   1882       key <AD12> {	 [      bracketright, braceright  		]	};
   1883       key <BKSL> {       [      backslash, bar, 0x1000964, 0x1000965 ] };
   1884 
   1885       key <AC01> {	 [      0x100094D,  0x100093E, 0x1000905,0x1000906 ] 	};
   1886       key <AC02> {	 [      0x1000938,  0x1000936       	]	};
   1887       key <AC03> {	 [      0x1000921,  0x1000922       	]	};
   1888       key <AC04> {	 [      0x1000919,  0x100091E       	]	};
   1889       key <AC05> {	 [      0x1000917,  0x1000918       	]	};
   1890 
   1891 
   1892       key <AC06> {	 [      0x1000939,  0x1000903 		]	};
   1893       key <AC07> {	 [      0x100091C,  0x100091D 		]	};
   1894       key <AC08> {	 [      0x1000915,  0x1000916 		]	};
   1895       key <AC09> {	 [      0x1000932,  0x1000962, 0x1000933, 0x100090C]	};
   1896       key <AC10> {	 [      semicolon, colon  		]	};
   1897       key <AC11> {	 [      apostrophe, quotedbl 		]	};
   1898 
   1899       key <AB01> {	 [      0x1000901,   0x100093C, 0x100093D, 0x1000950]   };
   1900       key <AB02> {       [      0x1000926,   0x1000927      ]       };
   1901       key <AB03> {       [      0x100091A,   0x100091B         ]       };
   1902       key <AB04> {       [      0x1000935                      ]       };
   1903       key <AB05> {       [      0x100092C,   0x100092D        ]       };
   1904       key <AB06> {       [      0x1000928,   0x1000923         ]       };
   1905       key <AB07> {       [      0x100092E,   0x1000902         ]       };
   1906       key <AB08> {       [      comma,       less         ]       };
   1907       key <AB09> {       [      period,      greater       ]       };
   1908       key <AB10> {       [      slash,      question        ]       };
   1909 
   1910     include "level3(ralt_switch)"
   1911     include "rupeesign(4)"
   1912 };
   1913 
   1914 partial alphanumeric_keys
   1915 xkb_symbols "eng" {
   1916 
   1917     include "us(basic)"
   1918     name[Group1]= "English (India, with rupee)";
   1919 
   1920     include "rupeesign(4)"
   1921     include "level3(ralt_switch)"
   1922 };
   1923 
   1924 
   1925 // Description : Enhanced INSCRIPT keymap for Malayalam
   1926 // Encoding    : Unicode (http://www.unicode.org)
   1927 // Author      : Mahesh T Pai <paivakil (a] gmail.com>
   1928 // Date        : March, 2011
   1929 // Source      : http://www.nongnu.org/smc/docs/images/ml_inscript_layout.jpg
   1930 // Comment     : Based on the InScript Keyboard created by M Baiju
   1931 // Mapping:
   1932 
   1933 partial alphanumeric_keys
   1934 xkb_symbols "mal_enhanced" {
   1935 
   1936     name[Group1] = "Malayalam (enhanced InScript, with rupee)";
   1937 
   1938    //From grave to backslash (\)
   1939 
   1940       key <TLDE> { [ U0d4a ,       U0d12 ] };
   1941       key <AE01> { [ U0d67 ,      exclam ] };
   1942       key <AE02> { [ U0d68 ,          at ] };
   1943       key <AE03> { [ U0d69 ,  numbersign ] };
   1944       key <AE04> { [ U0d6a ,      dollar ] };
   1945       key <AE05> { [ U0d6b ,     percent ] };
   1946       key <AE06> { [ U0d6c , asciicircum ] };
   1947       key <AE07> { [ U0d6d ,   ampersand ] };
   1948       key <AE08> { [ U0d6e ,       U0d7e ] };
   1949       key <AE09> { [ U0d6f ,   parenleft ] };
   1950       key <AE10> { [ U0d66 ,  parenright ] };
   1951 
   1952       key <AE11> { [ minus , U0d03       ] };
   1953       key <AE12> { [ U0d43 , U0d0b       ] };
   1954       key <BKSL> { [ U0d7c , U05C        ] }; //bksl: chillu RR 
   1955 
   1956 
   1957   // From 'q' to right bracket (])
   1958 
   1959     key <AD01> { [ U0d57 , U0d14 ] };
   1960     key <AD02> { [ U0d48 , U0d10 ] };
   1961     key <AD03> { [ U0d3e , U0d06 ] };
   1962     key <AD04> { [ U0d40 , U0d08 ] };
   1963     key <AD05> { [ U0d42 , U0d0a ] };
   1964     key <AD06> { [ U0d2c , U0d2d ] };
   1965     key <AD07> { [ U0d39 , U0d19 ] };
   1966     key <AD08> { [ U0d17 , U0d18 ] };
   1967     key <AD09> { [ U0d26 , U0d27 ] };
   1968     key <AD10> { [ U0d1c , U0d1d ] };
   1969     key <AD11> { [ U0d21 , U0d22 ] };
   1970     key <AD12> { [ U0200d , U0d1e ] };
   1971 
   1972     // From 'a' to apostrophe (')
   1973 
   1974     key <AC01> { [ U0d4b , U0d13 ] };
   1975     key <AC02> { [ U0d47 , U0d0f ] };
   1976     key <AC03> { [ U0d4d , U0d05 ] };
   1977     key <AC04> { [ U0d3f , U0d07 ] };
   1978     key <AC05> { [ U0d41 , U0d09 ] };
   1979     key <AC06> { [ U0d2a , U0d2b ] };
   1980     key <AC07> { [ U0d30 , U0d31 ] };
   1981     key <AC08> { [ U0d15 , U0d16 ] };
   1982     key <AC09> { [ U0d24 , U0d25 ] };
   1983     key <AC10> { [ U0d1a , U0d1b ] };
   1984     key <AC11> { [ U0d1f , U0d20 ] };
   1985 
   1986     // From 'z' to slash (/)
   1987 
   1988     key <AB01> { [ U0d46 , U0d0e ] };
   1989     key <AB02> { [ U0d02 , U0d7a ] };
   1990     key <AB03> { [ U0d2e , U0d23 ] };
   1991     key <AB04> { [ U0d28 , U0d7b ] };
   1992     key <AB05> { [ U0d35 , U0d34 ] };
   1993     key <AB06> { [ U0d32 , U0d33 ] };
   1994     key <AB07> { [ U0d38 , U0d36 ] };
   1995     key <AB08> { [ comma , U0d37 ] };
   1996     key <AB09> { [ period , U0d7d ] }; //chillu l
   1997     key <AB10> { [ U0d2f , question ] };
   1998 
   1999     include "rupeesign(4)"
   2000     include "level3(ralt_switch)"
   2001 };
   2002 
   2003 
   2004 // ---- BEGIN Hindi KaGaPa phonetic ----
   2005 // Name:        KaGaPa phonetic
   2006 // Brief:       Devanagari layout (Hindi, Sanskrit, Nepali, Marathi, etc.)
   2007 // Diagram:     (Original)[http://baraha.com/help/Keyboards/dev_brhkbd.htm]
   2008 //              (This layout)[http://bdsatish.in/lang/dev-kagapa.png]
   2009 //
   2010 // Description: Based on KaGaPa layout (also called Baraha layout or Nudi layout)
   2011 //              which is a modified layout of the specification by Dr. K. P. Rao.
   2012 //              This is a phonetic layout with the following features:
   2013 //              [1] All letters are mapped to phonetically-similar English keys
   2014 //                  as much as possible.
   2015 //              [2] The independent vowel (svara) and its dependent vowel (maatra)
   2016 //                  use the same key (depending upon SHIFT, ALTGR or ALTGR + SHIFT).
   2017 //              [3] Consonant conjuncts are produced by explicitly invoking the
   2018 //                  'viraama' (key f). The 'short a' maatra is implicit in all
   2019 //                  consonants.
   2020 //              [4] Zero width non-joiner and joiner are on keys 6 and 7
   2021 //                  respectively. These are absolutely essential for alternative
   2022 //                  glyph renderings of consonant half-forms.
   2023 //              [5] Rigvedic accent marks, visarga variants.
   2024 //
   2025 // Author:      Satish BD <bdsatish (a] gmail.com>
   2026 //
   2027 partial alphanumeric_keys
   2028 xkb_symbols "hin-kagapa" {
   2029      name[Group1] = "Hindi (KaGaPa, phonetic)";
   2030      key.type="FOUR_LEVEL";
   2031 
   2032     // Roman digits
   2033     key <TLDE>  { [   grave,   asciitilde,   U201C          ] };  // U201C: left double quotation mark
   2034     key <AE01>  { [   1,            exclam,       U0967          ] };
   2035     key <AE02>  { [   2,            at,           U0968,  U20A8  ] };  // U20A8: generic rupee sign (Rs)
   2036     key <AE03>  { [   3,            numbersign,   U0969          ] };
   2037     key <AE04>  { [   4,            dollar,       U096A,  U20B9  ] };  // U20B9: new Indian rupee sign
   2038     key <AE05>  { [   5,            percent,      U096B          ] };
   2039     key <AE06>  { [   6,            asciicircum,  U096C,  U200C  ] };  // ZWNJ
   2040     key <AE07>  { [   7,            ampersand,    U096D,  U200D  ] };  // ZWJ
   2041     key <AE08>  { [   8,            asterisk,     U096E,  U0901  ] };  // U0901: Devanagari candrabindu
   2042     key <AE09>  { [   9,            parenleft,    U096F          ] };
   2043     key <AE10>  { [   0,            parenright,   U0966,  U0970  ] };  // U0970: Devanagari abbreviation sign
   2044     key <AE11>  { [   minus,        underscore,   U0952          ] };  // U0952: Devanagari stress sign anudatta
   2045     key <AE12>  { [   equal,        plus                         ] };
   2046     key <BKSL>  { [   U005C,        U007C,        U0964,  U0965  ] };  // backslash, pipe, danda, double danda
   2047 
   2048     //Q Row
   2049     key <AD01>  { [   U091F,         U0920                       ] };  // Q: retroflex Ta, Tha
   2050     key <AD02>  { [   U0921,         U0922,      U095C,  U095D   ] };  // W: retroflex Da, Dha, Da-nukta, Dha-nukta
   2051     key <AD03>  { [   U0946,         U0947,      U090E,  U090F   ] };  // E: matras, short E, long E
   2052     key <AD04>  { [   U0930,         U0943,      U090B,  U0931   ] };  // R: ra, vocalic R matra, vocalic R, ra-nukta
   2053     key <AD05>  { [   U0924,         U0925                       ] };  // T: dental ta, tha
   2054     key <AD06>  { [   U092F,         U0948,      U0910,  U095F   ] };  // Y: ya, ai matra, ai, ya-nukta
   2055     key <AD07>  { [   U0941,         U0942,      U0909,  U090A   ] };  // U: matras, u, uu
   2056     key <AD08>  { [   U093F,         U0940,      U0907,  U0908   ] };  // I: matras, i, ii
   2057     key <AD09>  { [   U094A,         U094B,      U0912,  U0913   ] };  // O: matras, short o, long o
   2058     key <AD10>  { [   U092A,         U092B,      U095E           ] };  // P: pa, pha, pha-nukta
   2059     key <AD11>  { [   bracketleft,   braceleft                   ] };
   2060     key <AD12>  { [   bracketright,  braceright                  ] };
   2061 
   2062     //A Row
   2063     key <AC01>  { [   U093E,        U0906,     U0905,    U0972   ] };  // A: aa matra, aa, short a, candra a
   2064     key <AC02>  { [   U0938,        U0936                        ] };  // S: sa, sha
   2065     key <AC03>  { [   U0926,        U0927                        ] };  // D: dental da, dha
   2066     key <AC04>  { [   U094D,        U0944,     U0960             ] };  // F: virama, vocalic RR matra, vocalic RR
   2067     key <AC05>  { [   U0917,        U0918,     U095A             ] };  // G: ga, gha, ga-nukta
   2068     key <AC06>  { [   U0939,        U0903,     U1CF5,    U1CF6   ] };  // H: ha, visarga, jihvamuliya, upadhmaniya
   2069     key <AC07>  { [   U091C,        U091D,     U095B             ] };  // J: ja, jha, ja-nukta
   2070     key <AC08>  { [   U0915,        U0916,     U0958,    U0959   ] };  // K: ka, kha, ka-nukta, kha-nukta
   2071     key <AC09>  { [   U0932,        U0933,     U0962,    U090C   ] };  // L: la, lla, vocalic L matra, vocalic L
   2072     key <AC10>  { [   semicolon,    colon,     U1CF2,    U1CF3   ] };  // U1CF2/3: ardhavisarga/rotated ardhavisarga
   2073     key <AC11>  { [   apostrophe,   quotedbl,  U0951,    U201D   ] };  // U0951: Devanagari stress sign udatta
   2074                                                                        // U201D: Right double quotation mark
   2075     //Z Row
   2076     key <AB01>  { [   U091E,   U0919                   ] };  // Z: nya, nga
   2077     key <AB02>  { [   U0937,   U093C,  U0934           ] };  // X: ssa, nukta below, lla-nukta
   2078     key <AB03>  { [   U091A,   U091B                   ] };  // C: ca, cha
   2079     key <AB04>  { [   U0935,   U094C,  U0914           ] };  // V: va, matra au, au
   2080     key <AB05>  { [   U092C,   U092D                   ] };  // B: ba, bha
   2081     key <AB06>  { [   U0928,   U0923,  U0929           ] };  // N: na, nna, nnna
   2082     key <AB07>  { [   U092E,   U0902,  U093D,  U0950   ] };  // M: ma, anusvara, avagraha, Devanagari OM
   2083     key <AB08>  { [   comma,   U003C,  U0945,  U090D   ] };  // comma: comma, less than, matra, candra e
   2084     key <AB09>  { [   period,  U003E,  U0949,  U0911   ] };  // period: period, greater than, matra, candra o
   2085     key <AB10>  { [   slash,   question                ] };
   2086 
   2087     include "level3(ralt_switch)"
   2088 };
   2089 // ---- END Hindi KaGaPa ----
   2090 
   2091 // Sanskrit uses Devanagari layout of Hindi
   2092 partial alphanumeric_keys
   2093 xkb_symbols "san-kagapa" {
   2094   include "in(hin-kagapa)"
   2095   name[Group1] = "Sanskrit (KaGaPa, phonetic)";
   2096 };
   2097 
   2098 // Marathi uses Devanagari layout of Hindi
   2099 partial alphanumeric_keys
   2100 xkb_symbols "mar-kagapa" {
   2101   include "in(hin-kagapa)"
   2102   name[Group1] = "Marathi (KaGaPa, phonetic)";
   2103 };
   2104 
   2105 
   2106 // ---- BEGIN Kannada KaGaPa phonetic ----
   2107 // Name:        Kannada KaGaPa phonetic
   2108 // Diagram:     (Original)[http://www.baraha.com/help/Keyboards/kan_brhkbd.htm]
   2109 //              (This layout)[http://bdsatish.in/lang/kan-kagapa.png]
   2110 //
   2111 // Description: Based on KaGaPa layout (also called Baraha layout or Nudi layout).
   2112 //              See the description to "hin-kagapa" above.
   2113 //              Certain punctuation characters from Devanagari block are
   2114 //              retained for compatibility.
   2115 //
   2116 // Author:      Satish BD <bdsatish (a] gmail.com>
   2117 //
   2118 partial alphanumeric_keys
   2119 xkb_symbols "kan-kagapa" {
   2120     name[Group1] = "Kannada (KaGaPa, phonetic)";
   2121     key.type="FOUR_LEVEL";
   2122 
   2123     // Roman digits
   2124     key <TLDE>  { [   grave,   asciitilde,   U201C          ] };  // U201C: left double quotation mark
   2125     key <AE01>  { [   1,            exclam,       U0CE7          ] };
   2126     key <AE02>  { [   2,            at,           U0CE8,  U20A8  ] };  // U20A8: generic rupee sign (Rs)
   2127     key <AE03>  { [   3,            numbersign,   U0CE9          ] };
   2128     key <AE04>  { [   4,            dollar,       U0CEA,  U20B9  ] };  // U20B9: new Indian rupee sign
   2129     key <AE05>  { [   5,            percent,      U0CEB          ] };
   2130     key <AE06>  { [   6,            asciicircum,  U0CEC,  U200C  ] };  // ZWNJ
   2131     key <AE07>  { [   7,            ampersand,    U0CED,  U200D  ] };  // ZWJ
   2132     key <AE08>  { [   8,            asterisk,     U0CEE,  U0901  ] };  // U0901: Devanagari candrabindu
   2133     key <AE09>  { [   9,            parenleft,    U0CEF          ] };
   2134     key <AE10>  { [   0,            parenright,   U0CE6          ] };
   2135     key <AE11>  { [   minus,        underscore,   U0952          ] };  // U0952: Devanagari stress sign anudatta
   2136     key <AE12>  { [   equal,        plus                         ] };
   2137     key <BKSL>  { [   U005C,        U007C,        U0964,  U0965  ] };  // backslash, pipe, danda, double danda
   2138 
   2139     //Q Row
   2140     key <AD01>  { [   U0C9F,         U0CA0                       ] };  // Q: retroflex Ta, Tha
   2141     key <AD02>  { [   U0CA1,         U0CA2                       ] };  // W: retroflex Da, Dha
   2142     key <AD03>  { [   U0CC6,         U0CC7,      U0C8E,  U0C8F   ] };  // E: matras, short E, long E
   2143     key <AD04>  { [   U0CB0,         U0CC3,      U0C8B,  U0CB1   ] };  // R: ra, vocalic R matra, vocalic R, RRA
   2144     key <AD05>  { [   U0CA4,         U0CA5                       ] };  // T: dental ta, tha
   2145     key <AD06>  { [   U0CAF,         U0CC8,      U0C90           ] };  // Y: ya, ai matra, ai
   2146     key <AD07>  { [   U0CC1,         U0CC2,      U0C89,  U0C8A   ] };  // U: matras, u, uu
   2147     key <AD08>  { [   U0CBF,         U0CC0,      U0C87,  U0C88   ] };  // I: matras, i, ii
   2148     key <AD09>  { [   U0CCA,         U0CCB,      U0C92,  U0C93   ] };  // O: matras, short o, long o
   2149     key <AD10>  { [   U0CAA,         U0CAB                       ] };  // P: pa, pha
   2150     key <AD11>  { [   bracketleft,   braceleft                   ] };
   2151     key <AD12>  { [   bracketright,  braceright                  ] };
   2152 
   2153     //A Row
   2154     key <AC01>  { [   U0CBE,        U0C86,     U0C85             ] };  // A: aa matra, aa, short a
   2155     key <AC02>  { [   U0CB8,        U0CB6                        ] };  // S: sa, sha
   2156     key <AC03>  { [   U0CA6,        U0CA7                        ] };  // D: dental da, dha
   2157     key <AC04>  { [   U0CCD,        U0CC4,     U0CE0             ] };  // F: virama, vocalic RR matra, vocalic RR
   2158     key <AC05>  { [   U0C97,        U0C98                        ] };  // G: ga, gha
   2159     key <AC06>  { [   U0CB9,        U0C83,     U0CF1,    U0CF2   ] };  // H: ha, visarga, jihvanuliya, upadhmaniya
   2160     key <AC07>  { [   U0C9C,        U0C9D                        ] };  // J: ja, jha
   2161     key <AC08>  { [   U0C95,        U0C96                        ] };  // K: ka, kha
   2162     key <AC09>  { [   U0CB2,        U0CB3,     U0CE2,    U0C8C   ] };  // L: la, lla, vocalic L matra, vocalic L
   2163     key <AC10>  { [   semicolon,    colon                        ] };
   2164     key <AC11>  { [   apostrophe,   quotedbl,  U0951,    U201D   ] };  // U0951: Devanagari stress sign udatta
   2165                                                                        // U201D: Right double quotation mark
   2166     //Z Row
   2167     key <AB01>  { [   U0C9E,   U0C99                   ] };  // Z: nya, nga
   2168     key <AB02>  { [   U0CB7,   U0CBC,  U0CDE           ] };  // X: ssa, nukta below, LLLA
   2169     key <AB03>  { [   U0C9A,   U0C9B                   ] };  // C: ca, cha
   2170     key <AB04>  { [   U0CB5,   U0CCC,  U0C94           ] };  // V: va, matra au, au
   2171     key <AB05>  { [   U0CAC,   U0CAD                   ] };  // B: ba, bha
   2172     key <AB06>  { [   U0CA8,   U0CA3                   ] };  // N: na, nna
   2173     key <AB07>  { [   U0CAE,   U0C82,  U0CBD,  U0950   ] };  // M: ma, anusvara, avagraha, Devanagari OM
   2174     key <AB08>  { [   comma,   U003C,  U0CB1           ] };  // comma: comma, less than, RRA
   2175     key <AB09>  { [   period,  U003E,  U0CDE           ] };  // period: period, greater than, LLLA
   2176     key <AB10>  { [   slash,   question                ] };
   2177 
   2178     include "level3(ralt_switch)"
   2179 };
   2180 // ---- END Kannada KaGaPa ----
   2181 
   2182 
   2183 // ---- BEGIN Telugu KaGaPa phonetic ----
   2184 // Name:        Telugu KaGaPa phonetic
   2185 // Diagram:     (Original)[http://www.baraha.com/help/Keyboards/tel_brhkbd.htm]
   2186 //              (This layout)[http://bdsatish.in/lang/tel-kagapa.png]
   2187 //
   2188 // Description: Based on KaGaPa layout (also called Baraha layout or Nudi layout).
   2189 //              See the description to "hin-kagapa" above.
   2190 //              Certain punctuation characters from Devanagari block are
   2191 //              retained for compatibility.
   2192 //
   2193 // Author:      Satish BD <bdsatish (a] gmail.com>
   2194 //
   2195 partial alphanumeric_keys
   2196 xkb_symbols "tel-kagapa" {
   2197     name[Group1] = "Telugu (KaGaPa, phonetic)";
   2198     key.type="FOUR_LEVEL";
   2199 
   2200     // Roman digits
   2201     key <TLDE>  { [   grave,   asciitilde,   U201C          ] };  // U201C: left double quotation mark
   2202     key <AE01>  { [   1,            exclam,       U0C67          ] };
   2203     key <AE02>  { [   2,            at,           U0C68,  U20A8  ] };  // U20A8: generic rupee sign (Rs)
   2204     key <AE03>  { [   3,            numbersign,   U0C69          ] };
   2205     key <AE04>  { [   4,            dollar,       U0C6A,  U20B9  ] };  // U20B9: new Indian rupee sign
   2206     key <AE05>  { [   5,            percent,      U0C6B          ] };
   2207     key <AE06>  { [   6,            asciicircum,  U0C6C,  U200C  ] };  // ZWNJ
   2208     key <AE07>  { [   7,            ampersand,    U0C6D,  U200D  ] };  // ZWJ
   2209     key <AE08>  { [   8,            asterisk,     U0C6E,  U0C01  ] };  // U0C01: Telugu arasunna
   2210     key <AE09>  { [   9,            parenleft,    U0C6F          ] };
   2211     key <AE10>  { [   0,            parenright,   U0C66          ] };
   2212     key <AE11>  { [   minus,        underscore,   U0952          ] };  // U0952: Devanagari stress sign anudatta
   2213     key <AE12>  { [   equal,        plus                         ] };
   2214     key <BKSL>  { [   U005C,        U007C,        U0964,  U0965  ] };  // backslash, pipe, danda, double danda
   2215 
   2216     //Q Row
   2217     key <AD01>  { [   U0C1F,         U0C20                       ] };  // Q: retroflex Ta, Tha
   2218     key <AD02>  { [   U0C21,         U0C22                       ] };  // W: retroflex Da, Dha
   2219     key <AD03>  { [   U0C46,         U0C47,      U0C0E,  U0C0F   ] };  // E: matras, short E, long E
   2220     key <AD04>  { [   U0C30,         U0C43,      U0C0B,  U0C31   ] };  // R: ra, vocalic R matra, vocalic R, RRA
   2221     key <AD05>  { [   U0C24,         U0C25                       ] };  // T: dental ta, tha
   2222     key <AD06>  { [   U0C2F,         U0C48,      U0C10           ] };  // Y: ya, ai matra, ai
   2223     key <AD07>  { [   U0C41,         U0C42,      U0C09,  U0C0A   ] };  // U: matras, u, uu
   2224     key <AD08>  { [   U0C3F,         U0C40,      U0C07,  U0C08   ] };  // I: matras, i, ii
   2225     key <AD09>  { [   U0C4A,         U0C4B,      U0C12,  U0C13   ] };  // O: matras, short o, long o
   2226     key <AD10>  { [   U0C2A,         U0C2B                       ] };  // P: pa, pha
   2227     key <AD11>  { [   bracketleft,   braceleft                   ] };
   2228     key <AD12>  { [   bracketright,  braceright                  ] };
   2229 
   2230     //A Row
   2231     key <AC01>  { [   U0C3E,        U0C06,     U0C05             ] };  // A: aa matra, aa, short a
   2232     key <AC02>  { [   U0C38,        U0C36                        ] };  // S: sa, sha
   2233     key <AC03>  { [   U0C26,        U0C27                        ] };  // D: dental da, dha
   2234     key <AC04>  { [   U0C4D,        U0C44,     U0C60             ] };  // F: virama, vocalic RR matra, vocalic RR
   2235     key <AC05>  { [   U0C17,        U0C18                        ] };  // G: ga, gha
   2236     key <AC06>  { [   U0C39,        U0C03                        ] };  // H: ha, visarga
   2237     key <AC07>  { [   U0C1C,        U0C1D                        ] };  // J: ja, jha
   2238     key <AC08>  { [   U0C15,        U0C16                        ] };  // K: ka, kha
   2239     key <AC09>  { [   U0C32,        U0C33,     U0C62,    U0C0C   ] };  // L: la, lla, vocalic L matra, vocalic L
   2240     key <AC10>  { [   semicolon,    colon                        ] };
   2241     key <AC11>  { [   apostrophe,   quotedbl,  U0951,    U201D   ] };  // U0951: Devanagari stress sign udatta
   2242                                                                        // U201D: Right double quotation mark
   2243     //Z Row
   2244     key <AB01>  { [   U0C1E,   U0C19                   ] };  // Z: nya, nga
   2245     key <AB02>  { [   U0C37                            ] };  // X: ssa
   2246     key <AB03>  { [   U0C1A,   U0C1B                   ] };  // C: ca, cha
   2247     key <AB04>  { [   U0C35,   U0C4C,  U0C14           ] };  // V: va, matra au, au
   2248     key <AB05>  { [   U0C2C,   U0C2D                   ] };  // B: ba, bha
   2249     key <AB06>  { [   U0C28,   U0C23                   ] };  // N: na, nna
   2250     key <AB07>  { [   U0C2E,   U0C02,  U0C3D,  U0950   ] };  // M: ma, anusvara, avagraha, Devanagari OM
   2251     key <AB08>  { [   comma,   U003C,  U0C58           ] };  // comma: comma, less than, TSA
   2252     key <AB09>  { [   period,  U003E,  U0C59           ] };  // period: period, greater than, DZA
   2253     key <AB10>  { [   slash,   question                ] };
   2254 
   2255     include "level3(ralt_switch)"
   2256 };
   2257 
   2258 // Description 	: Keymap for Manipuri language (Meetei mayek script)
   2259 // Encoding    	: Unicode (http://www.unicode.org)
   2260 // Author      	: Santosh Heigrujam <santosh.tomba (a] gmail.com>
   2261 // Date        	: December, 2013
   2262 // Source	: 
   2263 // Comment	:
   2264 	
   2265 partial alphanumeric_keys modifier_keys
   2266 xkb_symbols "eeyek" {
   2267 
   2268     name[Group1]= "Manipuri (Eeyek)";
   2269 
   2270     key <TLDE> {	[     grave,	asciitilde	]	};
   2271     key <AE01> {	[	  Uabf1,	exclam 		]	};
   2272     key <AE02> {	[	  Uabf2,	at		]	};
   2273     key <AE03> {	[	  Uabf3,	numbersign	]	};
   2274     key <AE04> {	[	  Uabf4,	dollar		]	};
   2275     key <AE05> {	[	  Uabf5,	percent		]	};
   2276     key <AE06> {	[	  Uabf6,	asciicircum	]	};
   2277     key <AE07> {	[	  Uabf7,	ampersand	]	};
   2278     key <AE08> {	[	  Uabf8,	asterisk	]	};
   2279     key <AE09> {	[	  Uabf9,	parenleft	]	};
   2280     key <AE10> {	[	  Uabf0,	parenright	]	};
   2281     key <AE11> {	[     minus,	underscore	]	};
   2282     key <AE12> {	[     equal,	plus		]	};
   2283 
   2284     key <AD01> {	[	  Uabc8,	Uabd8 		]	};
   2285     key <AD02> {	[	  Uabcb,	Uabcb		]	};
   2286     key <AD03> {	[	  Uabcf,	Uabe2		]	};
   2287     key <AD04> {	[	  Uabd4,	Uabd4		]	};
   2288     key <AD05> {	[	  Uabc7,	Uabe0		]	};
   2289     key <AD06> {	[	  Uabcc,	Uabe6		]	};
   2290     key <AD07> {	[	  Uabce,	Uabe8		]	};
   2291     key <AD08> {	[	  Uabe4,	Uabe9		]	};
   2292     key <AD09> {	[	  Uabe3,	Uabe7		]	};
   2293     key <AD10> {	[	  Uabc4,	Uabde		]	};
   2294     key <AD11> {	[ bracketleft,	braceleft	]	};
   2295     key <AD12> {	[ bracketright,	braceright	]	};
   2296 
   2297     key <AC01> {	[	  Uabd1,	Uabe5 		]	};
   2298     key <AC02> {	[	  Uabc1,	Uabd3		]	};
   2299     key <AC03> {	[	  Uabd7,	Uabd9		]	};
   2300     key <AC04> {	[	  Uabd0,	Uabda		]	};
   2301     key <AC05> {	[	  Uabd2,	Uabd8		]	};
   2302     key <AC06> {	[	  Uabcd,	Uabea		]	};
   2303     key <AC07> {	[	  Uabd6,	Uabd3		]	};
   2304     key <AC08> {	[	  Uabc0,	Uabdb		]	};
   2305     key <AC09> {	[	  Uabc2,	Uabdc		]	};
   2306     key <AC10> {	[ semicolon,	colon		]	};
   2307     key <AC11> {	[ apostrophe,	quotedbl	]	};
   2308 
   2309     key <AB01> {	[	  Uabc9,	Uabe1 		]	};
   2310     key <AB02> {	[	  Uabca,	Uabd9		]	};
   2311     key <AB03> {	[	  Uabc6,	Uabeb		]	};
   2312     key <AB04> {	[	  Uabda,	Uabed		]	};
   2313     key <AB05> {	[	  Uabd5,	Uabec		]	};
   2314     key <AB06> {	[	  Uabc5,	Uabdf		]	};
   2315     key <AB07> {	[	  Uabc3,	Uabdd		]	};
   2316     key <AB08> {	[     comma,	less		]	};
   2317     key <AB09> {	[    period,	greater		]	};
   2318     key <AB10> {	[     slash,	question	]	};
   2319 
   2320     key <BKSL> {	[ backslash,         bar	]	};
   2321     
   2322     include "level3(ralt_switch)"
   2323 };
   2324 
   2325 // This layout is developed by Niranjan Tambe in July 2019
   2326 // for typing Indic languages in International Phonetic Alphabet (IPA).
   2327 // Contact - niranjanvikastambe (a] gmail.com
   2328 
   2329 partial alphanumeric_keys modifier_keys
   2330 xkb_symbols "iipa" {
   2331 
   2332     name[Group1]= "Indic IPA";
   2333     key <AE01>	{ [	1,		exclam]	};
   2334     key <AE02>	{ [	2,		at]	};
   2335     key <AE03>	{ [	3,		numbersign]	};
   2336     key <AE04>	{ [	4,		U20B9]	};
   2337     key <AE05>	{ [	5,		percent]	};
   2338     key <AE06>	{ [	6,		asciicircum] };
   2339     key <AE07>	{ [	7,		ampersand]	};
   2340     key <AE08>	{ [	8,		asterisk]	};
   2341     key <AE09>	{ [	9,		parenleft]	};
   2342     key <AE10>	{ [	0,		parenright]	};
   2343     key <AE11>	{ [	minus,	underscore]	};
   2344     key <AE12>	{ [	equal,       plus]	};
   2345 
   2346     key <AD01>	{ [	U02B0,		U02B1]	}; // [], []
   2347     key <AD02>	{ [	U00E6,		q]	}; // [], [q] found in Urdu
   2348     key <AD03>	{ [	a,			U028B]	}; // [a], []
   2349     key <AD04>	{ [	i,			U026A]	}; // [i] []
   2350     key <AD05>	{ [	u,			U026F]	}; // [u] [] found in Tamil
   2351     key <AD06>	{ [	b,			Y]	}; // [b]
   2352     key <AD07>	{ [	h,			U014B]	}; // [h], []
   2353     key <AD08>	{ [	g,			U0263]	}; // [g], [] found in Urdu
   2354     key <AD09>	{ [	d,			U00F0]	}; // [d], [] found in Malayalam
   2355     key <AD10>	{ [	U02A4,		U02A3]	}; // [], [] found in Marathi
   2356     key <AD11>	{ [	U0256,		U027D]	}; // [], []
   2357     key <AD12>	{ [	bracketleft,	bracketright]	}; // "[", "]" needed for denoting phonetic symbols
   2358 
   2359     key <AC01>	{ [	o,		U0254]	}; // [o], [] found in Bangla
   2360     key <AC02>	{ [	e,		U025B]	}; // [e], []
   2361     key <AC03>	{ [	U0259,	U0361]	}; // [], [     ]
   2362     key <AC04>	{ [	i,		U026A]	}; // [i], []
   2363     key <AC05>	{ [	u,		U026F]	}; // [u], []
   2364     key <AC06>	{ [	p,		f]	}; // [p], [f]
   2365     key <AC07>	{ [	U027E,	r]	}; // [], [r]
   2366     key <AC08>	{ [	k,		x]	}; // [k], [x] found in Urdu
   2367     key <AC09>	{ [	t,		U03B8]	}; // [t], []
   2368     key <AC10>	{ [	U02A7,	U02A6]	}; // [], [] found in Marathi
   2369     key <AC11>	{ [	U0288,	quotedbl]	}; // []
   2370     key <TLDE>	{ [	grave, 	asciitilde]	};
   2371 
   2372     key <BKSL>	{ [	backslash,	bar]	};
   2373     key <AB01>	{ [	U032A,		U0303]	}; // [ ], [ ] Dental mark, nasalisation mark
   2374     key <AB02>	{ [	U0306,		X]	}; // [  ] Short sound
   2375     key <AB03>	{ [	m,			U0273]	}; // [m], []
   2376     key <AB04>	{ [	n,			v]	}; // [n], [v]
   2377     key <AB05>	{ [	w,			z] }; // [w], [z]
   2378     key <AB06>	{ [	l,			U026D]	}; // [l], []
   2379     key <AB07>	{ [	s,			U0283]	}; // [s], []
   2380     key <AB08>	{ [	comma,		U0282]	}; // []
   2381     key <AB09>	{ [	period,		U02D0]	}; // [] Long sound
   2382     key <AB10>	{ [	j,			slash] }; // [j]
   2383 };
   2384 
   2385 // This layout is developed by Niranjan Tambe in July 2019
   2386 // for typing Marathi language with some necessary symbols.
   2387 // Contact - niranjanvikastambe (a] gmail.com
   2388 
   2389 xkb_symbols "marathi" {
   2390 	name[Group1]="Marathi (enhanced InScript)";
   2391 	key <TLDE> { [ U0962, U090C,   grave, asciitilde  ] }; // Added   & 
   2392 	key <AE01> { [ U0967, exclam,       1, exclam      ] }; // Added exclamation mark
   2393 	key <AE02> { [ U0968, U0945,       2, at          ] }; // Added 
   2394 	key <AE03> { [ U0969, U093D,  3, numbersign  ] }; // Added 
   2395 	key <AE04> { [ U096a, U20B9,      4		  ] }; // Added 
   2396 	key <AE05> { [ U096b, percent,     5, percent     ] }; 
   2397 	key <AE06> { [ U096c, asciicircum, 6, asciicircum ] }; 
   2398 	key <AE07> { [ U096d, U0970,   7, ampersand   ] }; // Added 
   2399 	key <AE08> { [ U096e, U0950,    8, asterisk    ] };
   2400 	key <AE09> { [ U096f, parenleft,   9, parenleft   ] };
   2401 	key <AE10> { [ U0966, parenright,  0, parenright  ] };
   2402 	key <AE11> { [ minus, U0903, minus, underscore    ] };
   2403 	key <AE12> { [ U0943, U090b, U0944, U0960 ] };
   2404 
   2405 	key <AD01> { [ U094c, U0914 ] };
   2406 	key <AD02> { [ U0948, U0910 ] };
   2407 	key <AD03> { [ U093e, U0906 ] };
   2408 	key <AD04> { [ U0940, U0908, U0963, U0961 ] };
   2409 	key <AD05> { [ U0942, U090a ] };
   2410 	key <AD06> { [ U092c, U092d ] };
   2411 	key <AD07> { [ U0939, U0919 ] };
   2412 	key <AD08> { [ U0917, U0918, U095a ] };
   2413 	key <AD09> { [ U0926, U0927 ] };
   2414 	key <AD10> { [ U091c, U091d, U095b ] };
   2415 	key <AD11> { [ U0921, U0922, U095c, U095d ] };
   2416 	key <AD12> { [ U093c, U091e ] };
   2417 	key <BKSL> { [ U0949, U0911, U005C, U007C ] };
   2418 
   2419 	key <AC01> { [ U094b, U0913 ] };
   2420 	key <AC02> { [ U0947, U090f ] };
   2421 	key <AC03> { [ U094d, U0905 ] };
   2422 	key <AC04> { [ U093f, U0907, U0962, U090c ] };
   2423 	key <AC05> { [ U0941, U0909 ] };
   2424 	key <AC06> { [ U092a, U092b, NoSymbol, U095e ] };
   2425 	key <AC07> { [ U0930, U0931 ] };
   2426 	key <AC08> { [ U0915, U0916, U0958, U0959 ] };
   2427 	key <AC09> { [ U0924, U0925 ] };
   2428 	key <AC10> { [ U091a, U091b, U0952 ] };
   2429 	key <AC11> { [ U091f, U0920, NoSymbol, U0951 ] };
   2430 
   2431 	key <AB01> { [ apostrophe, U0972, U0953 ] }; // Added apostrophe & 
   2432 	key <AB02> { [ U0902, U0901, NoSymbol, U0950 ] }; 
   2433 	key <AB03> { [ U092e, U0923, U0954 ] };
   2434 	key <AB04> { [ U0928, quotedbl ] }; // Added "
   2435 	key <AB05> { [ U0935, UA8FB ] }; // Added headstroke
   2436 	key <AB06> { [ U0932, U0933 ] };
   2437 	key <AB07> { [ U0938, U0936 ] };
   2438 	key <AB08> { [ comma, U0937, U0970 ] };
   2439 	key <AB09> { [ period, U0964, U0965, U093d ] };
   2440 	key <AB10> { [ U092f, question, slash, question ] };
   2441 };
   2442 // EXTRAS:
   2443 // Vedic and Miscellaneous symbols
   2444 // This layout covers 'Extended Devanagari' and 'Vedic Extensions' Unicode blocks.
   2445 // This is helpful for including all the required symbols when typing complex texts such as those from Samaveda and Yajurveda.
   2446 // This layout only includes signs and symbols. Text needs to be typed seperately.
   2447 // Created by : Abhishek Deshpande     <abhishekdeshpande128 (a] gmail.com>
   2448 // Date : 27th October, 2020
   2449 partial alphanumeric_keys
   2450 xkb_symbols "san-misc" {
   2451      name[Group1] = "Sanskrit symbols";
   2452      key.type="FOUR_LEVEL";
   2453 
   2454     // Roman digits
   2455     key <TLDE>  { [   U1CD0,  UA8FA  ] };
   2456     key <AE01>  { [   UA8E1,  U1CD1  ] };
   2457     key <AE02>  { [   UA8E2,  UA8F2  ] };
   2458     key <AE03>  { [   UA8E3,  UA8F3  ] };
   2459     key <AE04>  { [   UA8E4,  UA8F4  ] };
   2460     key <AE05>  { [   UA8E5,  UA8F5  ] };
   2461     key <AE06>  { [   UA8E6,  UA8F6  ] };
   2462     key <AE07>  { [   UA8E7,  UA8F7  ] };
   2463     key <AE08>  { [   UA8E8,  UA8F8  ] };
   2464     key <AE09>  { [   UA8E9,  UA8F9  ] };
   2465     key <AE10>  { [   UA8E0,  UA8FC  ] };
   2466     key <AE11>  { [   UA8FB,  U1CD2  ] };
   2467     key <AE12>  { [   U1CF2,  U1CF3   ] };
   2468     key <BKSL>  { [   U1CF8,  U1CF9   ] };
   2469 
   2470     //Q Row
   2471     key <AD01>  { [   U1CD4,  U1CD5  ] };
   2472     key <AD02>  { [   U1CD6,  U1CD7  ] };
   2473     key <AD03>  { [   U1CD8,  U1CD9  ] };
   2474     key <AD04>  { [   UA8EF  ] };
   2475     key <AD05>  { [   U1CDA,  U1CDB  ] };
   2476     key <AD06>  { [   UA8FE,   UA8FF  ] };
   2477     key <AD07>  { [   UA8EB  ] };
   2478     key <AD08>  { [   U1CDC,  U1CDD ] };
   2479     key <AD09>  { [   U1CDE,  U1CDF  ] };
   2480     key <AD10>  { [   UA8EE  ] };
   2481     key <AD11>  { [   U1CE0  ] };
   2482     key <AD12>  { [   U1CE1  ] };
   2483 
   2484     //A Row
   2485     key <AC01>  { [   UA8EA  ] };
   2486     key <AC02>  { [   UA8F1  ] };
   2487     key <AC03>  { [   U1CE2  ] };
   2488     key <AC04>  { [   U1CE3,  U1CE4  ] };
   2489     key <AC05>  { [   U1CE5,  U1CE6  ] };
   2490     key <AC06>  { [   U1CE7,  U1CE8  ] };
   2491     key <AC07>  { [   U1CE9,  U1CEA  ] };
   2492     key <AC08>  { [   UA8EC  ] };
   2493     key <AC09>  { [   U1CEB,  U1CEC  ] };
   2494     key <AC10>  { [   U1CEE,  U1CEF  ] };
   2495     key <AC11>  { [   U1CF0,  U1CF1  ] };
   2496     
   2497     //Z Row
   2498     key <AB01>  { [   U1CED  ] };
   2499     key <AB02>  { [   U1CF4  ] };
   2500     key <AB03>  { [   U1CF5  ] };
   2501     key <AB04>  { [   UA8F0  ] };
   2502     key <AB05>  { [   U1CF6  ] }; 
   2503     key <AB06>  { [   UA8ED  ] };
   2504     key <AB07>  { [   U0950,  UA8FD  ] };
   2505     key <AB08>  { [   U1CF7,  U093D  ] };
   2506     key <AB09>  { [   U1CFA,  U2638  ] };
   2507     key <AB10>  { [   U0FD5,  U2740  ] };
   2508 
   2509     include "rupeesign(4)"
   2510     include "level3(ralt_switch)"
   2511 };
   2512 //           Modi is an ancient Indian script that is used to write texts in Marathi, Hindi and Sanskrit. It is most commonly used to write Marathi language in Maharashtra.
   2513 //           This keyboard layout is Based on Marathi KaGaPa phonetic layout. Just the characters which are not applicable in Modi, are ommited.
   2514 //
   2515 //           Created by : Abhishek Deshpande     <abhishekdeshpande128 (a] gmail.com>
   2516 //           Date : 9th February, 2020
   2517 // 
   2518 partial alphanumeric_keys
   2519 xkb_symbols "modi-kagapa" {
   2520      name[Group1] = "Modi (KaGaPa phonetic)";
   2521      key.type="FOUR_LEVEL";
   2522 
   2523  // Roman digits
   2524     key <TLDE>  { [   grave,   asciitilde,   U201C           ] };  // U201C: left double quotation mark
   2525     key <AE01>  { [   1,            exclam,       U11651          ] };
   2526     key <AE02>  { [   2,            at,           U11652,  U20A8  ] };  // U20A8: generic rupee sign (Rs)
   2527     key <AE03>  { [   3,            numbersign,   U11653          ] };
   2528     key <AE04>  { [   4,            dollar,       U11654,  U20B9  ] };  // U20B9: new Indian rupee sign
   2529     key <AE05>  { [   5,            percent,      U11655          ] };
   2530     key <AE06>  { [   6,            asciicircum,  U11656,  U200C  ] };  // ZWNJ
   2531     key <AE07>  { [   7,            ampersand,    U11657,  U200D  ] };  // ZWJ
   2532     key <AE08>  { [   8,            asterisk,     U11658          ] };  
   2533     key <AE09>  { [   9,            parenleft,    U11659          ] };
   2534     key <AE10>  { [   0,            parenright,   U11650,  U11643 ] };  // U11643: Modi abbreviation sign
   2535     key <AE11>  { [   minus,        underscore                    ] };  
   2536     key <AE12>  { [   equal,        plus                          ] };
   2537     key <BKSL>  { [   U005C,        U007C,        U11641,  U11642 ] };  // backslash, pipe, Modi danda, Modi double danda
   2538 
   2539     //Q Row
   2540     key <AD01>  { [   U11618,         U11619                      ] };  // Q: retroflex Modi letter Ta, Tha
   2541     key <AD02>  { [   U1161A,         U1161B                      ] };  // W: retroflex Modi letter Da, Dha 
   2542     key <AD03>  { [   U11639,         U1160A,    U1160B           ] };  // E: Modi vovel sign E, Modi letter E, letter ai
   2543     key <AD04>  { [   U11628,         U11635,    U11606           ] };  // R: Modi ra, Modi vowel sign vocalic R, vocalic letter R 
   2544     key <AD05>  { [   U1161D,         U1161E                      ] };  // T: dental Modi letter ta, tha
   2545     key <AD06>  { [   U11627,         U1163A                      ] };  // Y: Modi letter ya, Modi vowel sign ai
   2546     key <AD07>  { [   U11633,         U11634,    U11604,  U11605  ] };  // U: Modi vowel sign u, uu, Modi letter u, uu
   2547     key <AD08>  { [   U11631,         U11632,    U11602,  U11603  ] };  // I: Modi vowel sign i, ii, Modi letter i, ii
   2548     key <AD09>  { [   U1163B,         U1160C                      ] };  // O: Modi vowel sign o, Modi letter o
   2549     key <AD10>  { [   U11622,         U11623                      ] };  // P: Modi letter pa, pha 
   2550     key <AD11>  { [   bracketleft,   braceleft                    ] };
   2551     key <AD12>  { [   bracketright,  braceright                   ] };
   2552 
   2553     //A Row
   2554     key <AC01>  { [   U11630,       U11601,     U11600           ] };  // A: Modi vowel sign aa, Modi letter aa, Modi letter a
   2555     key <AC02>  { [   U1162D,       U1162B                       ] };  // S: Modi letter sa, sha
   2556     key <AC03>  { [   U1161F,       U11620                       ] };  // D: dental Modi letter da, dha
   2557     key <AC04>  { [   U1163F,       U11636,     U11607           ] };  // F: Modi sign virama, Modi vowel sign vocalic RR, letter vocalic RR
   2558     key <AC05>  { [   U11610,       U11611                       ] };  // G: Modi letter ga, gha
   2559     key <AC06>  { [   U1162E,       U1163E                       ] };  // H: Modi letter ha, Modi visarga
   2560     key <AC07>  { [   U11615,       U11616                       ] };  // J: Modi letter ja, jha
   2561     key <AC08>  { [   U1160E,       U1160F                       ] };  // K: Modi letter ka, kha
   2562     key <AC09>  { [   U11629,       U1162F,     U11637,  U11608  ] };  // L: Modi letter la, lla, Modi vowel sign vocalic L, letter vocalic L
   2563     key <AC10>  { [   semicolon,    colon                        ] };
   2564     key <AC11>  { [   apostrophe,   quotedbl                     ] }; 
   2565                                                                        
   2566     //Z Row
   2567     key <AB01>  { [   U11617,    U11612                     ] };  // Z: Modi letter nya, nga
   2568     key <AB02>  { [   U1162C,    U11609,   U11638           ] };  // X: Modi letter ssa, Modi letter vocalic ll, Modi vowel sign vocalic ll 
   2569     key <AB03>  { [   U11613,    U11614                     ] };  // C: Modi letter ca, cha
   2570     key <AB04>  { [   U1162A,    U1163C,   U1160D           ] };  // V: Modi letter va, Modi vowel sign au, Modi letter au
   2571     key <AB05>  { [   U11624,    U11625                     ] };  // B: Modi letter ba, bha
   2572     key <AB06>  { [   U11621,    U1161C                     ] };  // N: Modi letter na, nna
   2573     key <AB07>  { [   U11626,    U1163D,   U093D,    U0950  ] };  // M: Modi ma, Modi anusvara, avagraha, Devanagari OM (Avagraha & OM commonly occur in Marathi texts, so they are mapped here for convenience.)
   2574     key <AB08>  { [   comma,     U003C,    U11640,   U11644 ] };  // comma: comma, less than, Modi chandrabindu, Modi sign huva
   2575     key <AB09>  { [   period,    U003E                      ] };  // period: period, greater than
   2576     key <AB10>  { [   slash,     question                   ] };
   2577 
   2578     include "level3(ralt_switch)"
   2579 };
   2580 
   2581 // Navees, a phonetic keyboard layout for Urdu
   2582 // https://saadatm.github.io/navees
   2583 partial alphanumeric_keys
   2584 xkb_symbols "urd-navees" {
   2585     include "pk(urd-navees)"
   2586     name[Group1]= "Urdu (Navees)";
   2587 };
   2588