// Keyboard layouts for India. // This file includes layouts for: // - Hindi // - Marathi // - Sanskrit // - Bangla // - Assamese // - Gujarati // - Kannada // - Malayalam // - Oriya // - Santali // - Tamil // - Telugu // - Urdu // Links: // - Indic INSCRIPT keyboard layout diagrams: // http://java.sun.com/products/jfc/tsc/articles/InputMethod/indiclayout.html // - Bangla Baishakhi (Bangla layouts): // - Bangla Baishakhi InScript (Bangla layouts): // - Bangla Bornona (Bangla layouts): // - Uni Gitanjali (Bangla layouts): // http://nltr.org // - Ekusheyr Shadhinota (Bangla layouts): // http://ekushey.org/projects/shadhinota/index.html // - Microsoft Windows XP SP2: Indic Language Standards - an Introduction: // http://www.bhashaindia.com/MSProducts/XpSp2/Articles/IndicLanguageStandards.aspx // Devangari is the default. Kill me if I am wrong:) default partial alphanumeric_keys xkb_symbols "deva" { // March 2004 -- David Holl name[Group1]="Indian"; key.type[group1]="FOUR_LEVEL"; key { [ U094a, U0912, grave, asciitilde ] }; key { [ U0967, U090d, 1, exclam ] }; key { [ U0968, U0945, 2, at ] }; // Shift+AE0[3-8] really need to return a macro of keys defined by // INSCRIPT in place of the symbols that are here for now. But this // requires XKB to map 1 key into two to three other key presses. key { [ U0969, numbersign, 3, numbersign ] }; key { [ U096a, dollar, 4, U20b9 ] }; // Rupee key { [ U096b, percent, 5, percent ] }; key { [ U096c, asciicircum, 6, asciicircum ] }; key { [ U096d, ampersand, 7, ampersand ] }; key { [ U096e, asterisk, 8, asterisk ] }; key { [ U096f, parenleft, 9, parenleft ] }; key { [ U0966, parenright, 0, parenright ] }; key { [ minus, U0903, minus, underscore ] }; key { [ U0943, U090b, U0944, U0960 ] }; key { [ U094c, U0914 ] }; key { [ U0948, U0910 ] }; key { [ U093e, U0906 ] }; key { [ U0940, U0908, U0963, U0961 ] }; key { [ U0942, U090a ] }; key { [ U092c, U092d ] }; key { [ U0939, U0919 ] }; key { [ U0917, U0918, U095a ] }; key { [ U0926, U0927 ] }; key { [ U091c, U091d, U095b ] }; key { [ U0921, U0922, U095c, U095d ] }; key { [ U093c, U091e ] }; key { [ U0949, U0911, backslash, bar ] }; key { [ U094b, U0913 ] }; key { [ U0947, U090f ] }; key { [ U094d, U0905 ] }; key { [ U093f, U0907, U0962, U090c ] }; key { [ U0941, U0909 ] }; key { [ U092a, U092b, NoSymbol, U095e ] }; key { [ U0930, U0931 ] }; key { [ U0915, U0916, U0958, U0959 ] }; key { [ U0924, U0925 ] }; key { [ U091a, U091b, U0952 ] }; key { [ U091f, U0920, NoSymbol, U0951 ] }; key { [ U0946, U090e, U0953 ] }; key { [ U0902, U0901, NoSymbol, U0950 ] }; key { [ U092e, U0923, U0954 ] }; key { [ U0928, U0929 ] }; key { [ U0935, U0934 ] }; key { [ U0932, U0933 ] }; key { [ U0938, U0936 ] }; key { [ comma, U0937, U0970 ] }; key { [period, U0964, U0965, U093d ] }; key { [ U092f, U095f, slash, question ] }; // space, space, Zero-Width-Non-Joiner (ZWNJ), Zero-Width-Joiner (ZWJ): include "nbsp(zwnj3zwj4)" include "level3(ralt_switch)" }; //Name : Bolnagri (Combined) //Description : A phonetic keyboard layout for Devnagari(Hindi) // http://www.indlinux.org/wiki/index.php/BolNagri //NOTE : This is a combined map of bolnagri_matras and bolnagri_vowels. //Inspired by "devrom" keymap by Steve Smith for the windows tool "keyman" //Original Author : Noah Levitt //Past Authors : Pramod.R and Ravikant //Current Main. : G Karunakar partial alphanumeric_keys xkb_symbols "bolnagri" { name[Group1] = "Hindi (Bolnagri)"; key.type[group1]="FOUR_LEVEL"; // Roman digits key { [ U0902, U0901, grave, asciitilde ] }; // anusvara, candrabindu key { [ 1, exclam, U0967, exclam ] }; key { [ 2, at, U0968, at ] }; key { [ 3, numbersign, U0969, numbersign ] }; key { [ 4, dollar, U096A, U20B9 ] }; // Rupee key { [ 5, percent, U096B, percent ] }; key { [ 6, asciicircum, U096C, asciicircum ] }; key { [ 7, ampersand, U096D, ampersand ] }; key { [ 8, asterisk, U096E, asterisk ] }; key { [ 9, parenleft, U096F, parenleft ] }; key { [ 0, parenright, U0966, parenright ] }; key { [ minus, underscore ] }; key { [ equal, plus ] }; key { [ U0964, U0965, backslash, bar ] }; // danda, double danda key { [ U200C, U200D ] }; // Q: ZWNJ, ZWJ key { [ U0935, U0950 ] }; // W: wa, OM key { [ U0947, U0948, U090F, U0910 ] }; // E: e, ai matras key { [ U0930, U0943, U0931, U090B ] }; // R: ra, vocalic Ri key { [ U0924, U0925 ] }; // T: ta, tha key { [ U092f, U091E ] }; // Y: ya, nya key { [ U0941, U0942, U0909, U090A ] }; // U: u, uu matras key { [ U093F, U0940, U0907, U0908 ] }; // I: i, ii matras key { [ U094B, U094C, U0913, U0914 ] }; // O: o, au matras key { [ U092A, U092B ] }; // P: pa, pha key { [ bracketleft, braceleft ] }; key { [ bracketright, braceright ] }; key { [ U093E, U0906, U0905, U0906 ] }; // A: aa, full A, AA key { [ U0938, U0937 ] }; // S: sa, ssa key { [ U0926, U0927 ] }; // D: da, dha key { [ U091F, U0920 ] }; // F: TA, THA key { [ U0917, U0918 ] }; // G: ga, gha key { [ U0939, U0903 ] }; // H: ha, visarg key { [ U091C, U091D ] }; // J: ja, jha key { [ U0915, U0916 ] }; // K: ka, kha key { [ U0932, U0933, U0962, U090C ] }; // L: la, vocalic L or lru matra key { [ semicolon, colon ] }; key { [apostrophe, quotedbl ] }; key { [ U0936, U0945, U0936, U090D ] }; // Z: sha, akaar candra key { [ U094D, U0949, U094D, U0911 ] }; // X: halant, aakaar candra, chandra A key { [ U091A, U091B ] }; // C: ca, cha key { [ U0921, U0922 ] }; // V: da, dha key { [ U092C, U092D ] }; // B: ba, bha key { [ U0928, U0923 ] }; // N: na, nna key { [ U092E, U0919, U092E, U093D ] }; // M: ma, nga, avagraha key { [ comma, U0970 ] }; // dev abbreviation sign key { [ period, U093C ] }; // nukta key { [ slash, question ] }; include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "ben" { name[Group1]= "Bangla (India)"; // Mainly digits: key {[ U09E7 ]}; key {[ U09E8 ]}; key {[ U09E9 ]}; key {[ U09EA ]}; key {[ U09EB ]}; key {[ U09EC ]}; key {[ U09ED ]}; key {[ U09EE ]}; key {[ U09EF, parenleft ]}; key {[ U09E6, parenright ]}; key {[ minus, U0983 ]}; key {[ U098B, U09C3 ]}; // Mainly long vowels: key {[ U09CC, U0994 ]}; key {[ U09C8, U0990 ]}; key {[ U09BE, U0986 ]}; key {[ U09C0, U0988 ]}; key {[ U09C2, U098A ]}; // Mainly voiced consonants: key {[ U09AC, U09AD ]}; key {[ U09B9, U0999 ]}; key {[ U0997, U0998 ]}; key {[ U09A6, U09A7 ]}; key {[ U099C, U099D ]}; key {[ U09A1, U09A2 ]}; key {[ U09BC, U099E ]}; // Mainly short vowels: key {[ U09CB, U0993 ]}; key {[ U09C7, U098F ]}; key {[ U09CD, U0985 ]}; key {[ U09BF, U0987 ]}; key {[ U09C1, U0989 ]}; // Mainly unvoiced consonants: key {[ U09AA, U09AB ]}; key {[ U09B0, U09DD ]}; key {[ U0995, U0996 ]}; key {[ U09A4, U09A5 ]}; key {[ U099A, U099B ]}; key {[ U099F, U09A0 ]}; key {[ backslash, bar ]}; key {[ z, Z ]}; key {[ U0982, U0981 ]}; key {[ U09AE, U09A3 ]}; key {[ U09A8, U09A8 ]}; key {[ U09AC, U09AC ]}; key {[ U09B2, U09B2 ]}; key {[ U09B8, U09B6 ]}; key {[ comma, U09B7 ]}; key {[ period, U0964 ]}; key {[ U09DF, U09AF ]}; include "rupeesign(4)" include "level3(ralt_switch)" }; xkb_symbols "ben_probhat" { name[Group1]= "Bangla (India, Probhat)"; key.type[group1]="FOUR_LEVEL"; // Digits row: key { [ U200D, asciitilde ] }; key { [ U09E7, exclam, U09F4 ] }; key { [ U09E8, at, U09F5 ] }; key { [ U09E9, numbersign, U09F6 ] }; key { [ U09EA, U09F3, U09F7, U09F2 ] }; key { [ U09EB, percent ] }; key { [ U09EC, asciicircum ] }; key { [ U09ED, U099E, U09FA ] }; key { [ U09EE, U09CE ] }; key { [ U09EF, parenleft ] }; key { [ U09E6, parenright, U09F8, U09F9 ] }; key { [ minus, underscore ] }; key { [ equal, plus ] }; // Q row: key { [ U09A6, U09A7 ] }; key { [ U09C2, U098A ] }; key { [ U09C0, U0988 ] }; key { [ U09B0, U09DC, U20B9 ] }; // Rupee key { [ U099F, U09A0 ] }; key { [ U098F, U0990 ] }; key { [ U09C1, U0989 ] }; key { [ U09BF, U0987 ] }; key { [ U0993, U0994 ] }; key { [ U09AA, U09AB ] }; key { [ U09C7, U09C8 ] }; key { [ U09CB, U09CC, U09D7 ] }; // A row: key { [ U09BE, U0985, U098C, U09E0 ] }; key { [ U09B8, U09B7, U09E1, U09E3 ] }; key { [ U09A1, U09A2, U09C4, U09E2 ] }; key { [ U09A4, U09A5 ] }; key { [ U0997, U0998 ] }; key { [ U09B9, U0983, U09BD ] }; key { [ U099C, U099D ] }; key { [ U0995, U0996 ] }; key { [ U09B2, U0982 ] }; key { [ semicolon, colon ] }; key { [ apostrophe, quotedbl ] }; // Z row: key { [ U09DF, U09AF ] }; key { [ U09B6, U09DD ] }; key { [ U099A, U099B ] }; key { [ U0986, U098B ] }; key { [ U09AC, U09AD ] }; key { [ U09A8, U09A3 ] }; key { [ U09AE, U0999 ] }; key { [ comma, U09C3 ] }; key { [ U0964, U0981, U09BC ] }; key { [ U09CD, question ] }; key { [ U200C, U0965 ] }; include "level3(ralt_switch)" }; // The Bangla Baishakhi, Bangla Baishakhi Inscript, Bangla Bornona, and Uni Gitanjali layouts // were added by Promathesh Mandal xkb_symbols "ben_baishakhi" { name[Group1]= "Bangla (India, Baishakhi)"; // Digits row key { [ 0x100200D, 0x100200C ] }; key { [ 0x10009E7, exclam ] }; key { [ 0x10009E8, at ] }; key { [ 0x10009E9, numbersign ] }; key { [ 0x10009EA, dollar, 0x10009F2 ] }; key { [ 0x10009EB, percent ] }; key { [ 0x10009EC, asciicircum,0x10009D7 ] }; key { [ 0x10009ED, ampersand ] }; key { [ 0x10009EE, asterisk, 0x10009FA ] }; key { [ 0x10009EF, parenleft ] }; key { [ 0x10009E6, parenright ] }; key { [ minus, underscore ] }; key { [ equal, plus ] }; // Q row key { [ 0x10009A1, 0x10009A2 ] }; key { [ 0x10009C0, 0x10009C2 ] }; key { [ 0x10009C7, 0x100098F, 0x1000990 ] }; key { [ 0x10009B0, 0x10009C3, 0x100098B ] }; key { [ 0x100099F, 0x10009A0 ] }; key { [ 0x10009AF, 0x10009DF ] }; key { [ 0x10009C1, 0x1000989, 0x100098A ] }; key { [ 0x10009BF, 0x1000987, 0x1000988 ] }; key { [ 0x10009CB, 0x1000993, 0x1000994 ] }; key { [ 0x10009AA, 0x10009AB ] }; key { [ bracketleft, braceleft ] }; key { [ bracketright, braceright ] }; // A row key { [ 0x10009BE, 0x1000985, 0x1000986 ] }; key { [ 0x10009B8, 0x10009B6, 0x10009B7 ] }; key { [ 0x10009A6, 0x10009A7 ] }; key { [ 0x10009A4, 0x10009A5, 0x10009CE ] }; key { [ 0x1000997, 0x1000998 ] }; key { [ 0x10009CD, 0x10009B9, 0x1000983 ] }; key { [ 0x100099C, 0x100099D ] }; key { [ 0x1000995, 0x1000996 ] }; key { [ 0x10009B2, 0x1000964, 0x100098C ] }; key { [ semicolon, colon ] }; key { [ apostrophe, quotedbl ] }; // Z row key { [ 0x10009C8, 0x10009CC ] }; key { [ 0x10009DC, 0x10009DD ] }; key { [ 0x100099A, 0x100099B ] }; key { [ 0x10009F1, 0x10009F0 ] }; key { [ 0x10009AC, 0x10009AD ] }; key { [ 0x10009A8, 0x10009A3, 0x100099E ] }; key { [ 0x10009AE, 0x1000999, 0x1000981 ] }; key { [ comma, less ] }; key { [ period, greater, 0x10009BC ] }; key { [ slash, question, 0x1000982 ] }; key { [ backslash, bar ] }; include "level3(ralt_switch)" }; xkb_symbols "ben_inscript" { name[Group1]= "Bangla (India, Baishakhi InScript)"; // Mainly digits: key {[ 0x100200D, 0x100200C ]}; key {[ 0x10009E7 ]}; key {[ 0x10009E8 ]}; key {[ 0x10009E9 ]}; key {[ 0x10009EA ]}; key {[ 0x10009EB ]}; key {[ 0x10009EC ]}; key {[ 0x10009ED ]}; key {[ 0x10009EE ]}; key {[ 0x10009EF, parenleft ]}; key {[ 0x10009E6, parenright ]}; key {[ minus, 0x1000983 ]}; key {[ 0x10009C3, 0x100098B ]}; // Mainly long vowels: key {[ 0x10009CC, 0x1000994 ]}; key {[ 0x10009C8, 0x1000990 ]}; key {[ 0x10009BE, 0x1000986 ]}; key {[ 0x10009C0, 0x1000988 ]}; key {[ 0x10009C2, 0x100098A ]}; // Mainly voiced consonants: key {[ 0x10009AC, 0x10009AD ]}; key {[ 0x10009B9, 0x1000999 ]}; key {[ 0x1000997, 0x1000998 ]}; key {[ 0x10009A6, 0x10009A7 ]}; key {[ 0x100099C, 0x100099D ]}; key {[ 0x10009A1, 0x10009A2 ]}; key {[ 0x10009BC, 0x100099E ]}; // Mainly short vowels: key {[ 0x10009CB, 0x1000993 ]}; key {[ 0x10009C7, 0x100098F ]}; key {[ 0x10009CD, 0x1000985 ]}; key {[ 0x10009BF, 0x1000987 ]}; key {[ 0x10009C1, 0x1000989 ]}; // Mainly unvoiced consonants: key {[ 0x10009AA, 0x10009AB ]}; key {[ 0x10009B0, 0x10009DD ]}; key {[ 0x1000995, 0x1000996 ]}; key {[ 0x10009A4, 0x10009A5 ]}; key {[ 0x100099A, 0x100099B ]}; key {[ 0x100099F, 0x10009A0 ]}; key {[ backslash, bar ]}; key {[ 0x10009CE ]}; key {[ 0x1000982, 0x1000981 ]}; key {[ 0x10009AE, 0x10009A3 ]}; key {[ 0x10009A8, 0x10009A8 ]}; key {[ 0x10009AC, 0x10009AC ]}; key {[ 0x10009B2, 0x10009B2 ]}; key {[ 0x10009B8, 0x10009B6 ]}; key {[ comma, 0x10009B7 ]}; key {[ period, 0x1000964 ]}; key {[ 0x10009DF, 0x10009AF ]}; }; xkb_symbols "ben_gitanjali" { name[Group1]= "Bangla (India, Gitanjali)"; key {[ colon, question ]}; key {[ 0x10009E7, 0x10009CE ]}; key {[ 0x10009E8, apostrophe ]}; key {[ 0x10009E9, numbersign ]}; key {[ 0x10009EA, 0x10009F3 ]}; key {[ 0x10009EB, slash ]}; key {[ 0x10009EC, period ]}; key {[ 0x10009ED, ampersand ]}; key {[ 0x10009EE, asterisk ]}; key {[ 0x10009EF, parenleft ]}; key {[ 0x10009E6, parenright ]}; key {[ minus, 0x1000983 ]}; key {[ 0x10009C3, 0x100098B ]}; // Q row key {[ 0x10009D7, 0x1000994 ]}; key {[ 0x10009C8, 0x1000990 ]}; key {[ 0x10009BE, 0x1000985 ]}; key {[ 0x10009C0, 0x1000988 ]}; key {[ 0x10009C2, 0x100098A ]}; key {[ 0x10009AC, 0x10009AD ]}; key {[ 0x10009B9, 0x1000999 ]}; key {[ 0x1000997, 0x1000998 ]}; key {[ 0x10009A6, 0x10009A7 ]}; key {[ 0x100099C, 0x100099D ]}; key {[ 0x10009A1, 0x10009A2 ]}; key {[ 0x100200C, 0x100099E ]}; // A row key {[ 0x100200D, 0x1000993 ]}; key {[ 0x10009C7, 0x100098F ]}; key {[ 0x10009CD ]}; key {[ 0x10009BF, 0x1000987 ]}; key {[ 0x10009C1, 0x1000989 ]}; key {[ 0x10009AA, 0x10009AB ]}; key {[ 0x10009B0, 0x10009F0 ]}; key {[ 0x1000995, 0x1000996 ]}; key {[ 0x10009A4, 0x10009A5 ]}; key {[ 0x100099A, 0x100099B ]}; key {[ 0x100099F, 0x10009A0 ]}; // Z row key {[ 0x10009C7, 0x100098F ]}; key {[ 0x1000982, 0x1000981 ]}; key {[ 0x10009AE, 0x10009A3 ]}; key {[ 0x10009A8, 0x10009DC ]}; key {[ 0x10009F1, 0x10009DD ]}; key {[ 0x10009B2 ]}; key {[ 0x10009B8, 0x10009B6 ]}; key {[ comma, 0x10009B7 ]}; key {[ 0x1000964, 0x10009FA ]}; key {[ 0x10009AF, 0x10009DF ]}; key {[ backslash, bar ]}; }; xkb_symbols "ben_bornona" { name[Group1]= "Bangla (India, Bornona)"; key {[ 0x100200D, 0x100200C ]}; key {[ 0x10009E7, exclam ]}; key {[ 0x10009E8, 0x1000981 ]}; key {[ 0x10009E9, numbersign ]}; key {[ 0x10009EA, 0x10009F3 ]}; key {[ 0x10009EB, percent ]}; key {[ 0x10009EC, 0x1000983 ]}; key {[ 0x10009ED, 0x10009CE ]}; key {[ 0x10009EE, asterisk ]}; key {[ 0x10009EF, parenleft ]}; key {[ 0x10009E6, parenright ]}; key {[ minus, underscore ]}; key {[ equal, plus ]}; // Q row key {[ 0x1000982, 0x1000999, 0x10009D7 ]}; key {[ 0x10009A2, 0x10009A0, 0x100098A ]}; key {[ 0x10009C7, 0x10009C8, 0x1000988 ]}; key {[ 0x10009B0, 0x10009C3, 0x100098B ]}; key {[ 0x10009A4, 0x100099F ]}; key {[ 0x10009A7, 0x10009A5, 0x100098F ]}; key {[ 0x10009C1, 0x10009C2, 0x1000989 ]}; key {[ 0x10009BF, 0x10009C0, 0x1000987 ]}; key {[ 0x10009CB, 0x10009CC, 0x1000993 ]}; key {[ 0x10009AA, 0x1000990, 0x1000994 ]}; key {[ bracketleft, braceleft, 0x10009DC ]}; key {[bracketright, braceright ]}; // A row key {[ 0x10009BE, 0x1000985, 0x10009F4 ]}; key {[ 0x10009B8, 0x10009B6, 0x10009F5 ]}; key {[ 0x10009A6, 0x10009A1, 0x10009F8 ]}; key {[ 0x10009AB ]}; key {[ 0x1000997, 0x1000998 ]}; key {[ 0x10009CD, 0x10009B9 ]}; key {[ 0x100099C, 0x100099D ]}; key {[ 0x1000995, 0x1000996 ]}; key {[ 0x10009B2, 0x1000964 ]}; key {[ semicolon, colon ]}; key {[ apostrophe, quotedbl ]}; // Z row key {[ 0x10009AF, 0x10009DC ]}; key {[ 0x10009B7, 0x10009DD, 0x10009FA ]}; key {[ 0x100099A, 0x100099B ]}; key {[ 0x10009AD ]}; key {[ 0x10009AC, 0x10009DF ]}; key {[ 0x10009A8, 0x10009A3 ]}; key {[ 0x10009AE, 0x100099E ]}; key {[ comma, less ]}; key {[ period, greater ]}; key {[ slash, question ]}; key {[ 0x10009F1, 0x10009F0 ]}; include "level3(ralt_switch)" }; // ---- BEGIN Bangla KaGaPa phonetic ---- // Name: Bangla (Bengali) KaGaPa phonetic // Diagram: (Original)[https://baraha.com/help/Keyboards/ben-brhkbd.htm] // (This layout)[http://bdsatish.in/lang/ben-kagapa.png] // // Description: Based on KaGaPa layout (also called Baraha layout or Nudi layout). // See the description to "hin-kagapa" below. // Certain punctuation characters from Devanagari block are // retained for compatibility. // // Author: Satish BD // partial alphanumeric_keys xkb_symbols "ben-kagapa" { name[Group1]= "Bangla (India, KaGaPa, phonetic)"; key.type[group1] = "FOUR_LEVEL"; key { [ grave, asciitilde, U201C ] }; // U201C: left double quotation mark key { [ 1, exclam, U09E7 ] }; key { [ 2, at, U09E8, U20A8 ] }; // U20A8: generic rupee sign (Rs) key { [ 3, numbersign, U09E9 ] }; key { [ 4, dollar, U09EA, U20B9 ] }; // U20B9: new Indian rupee sign key { [ 5, percent, U09EB ] }; key { [ 6, asciicircum, U09EC, U200C ] }; // ZWNJ key { [ 7, ampersand, U09ED, U200D ] }; // ZWJ key { [ 8, asterisk, U09EE, U0981 ] }; // U0981: Bengali sign candrabindu key { [ 9, parenleft, U09EF ] }; key { [ 0, parenright, U09E6, U09FD ] }; // U09FD: Bengali abbreviation sign key { [ minus, underscore, U0952 ] }; // U0952: Devanagari stress sign anudatta key { [ equal, plus ] }; key { [ U099F, U09A0 ] }; // Q: retroflex Ta, Tha key { [ U09A1, U09A2, U09DC, U09DD ] }; // W: retroflex Da, Dha, Da-nukta (RRA), Dha-nukta (RHA) key { [ U09C7, U09C8, U098F, U0990 ] }; // E: matra e, matra ai, vowel e, vowel ai key { [ U09B0, U09C3, U098B, U09F0 ] }; // R: ra, vocalic R matra, vocalic R, Assamese ra key { [ U09A4, U09A5, U09CE ] }; // T: dental ta, tha, khanda ta key { [ U09AF, U09DF ] }; // Y: ya, ya-nukta (YYA) key { [ U09C1, U09C2, U0989, U098A ] }; // U: matra u, matra uu, u, uu key { [ U09BF, U09C0, U0987, U0988 ] }; // I: matra i, matra ii, i, ii key { [ U09CB, U09CC, U0993, U0994 ] }; // O: matra o, matra au, o, au key { [ U09AA, U09AB ] }; // P: pa, pha key { [ bracketleft, braceleft ] }; key { [ bracketright, braceright ] }; key { [ backslash, bar, U0964, U0965 ] }; // backslash, pipe, danda, double danda key { [ U09BE, U0986, U0985 ] }; // A: aa matra, aa, short a key { [ U09B8, U09B6 ] }; // S: sa, sha key { [ U09A6, U09A7 ] }; // D: dental da, dha key { [ U09CD, U09C4, U09E0 ] }; // F: virama, vocalic RR matra, vocalic RR key { [ U0997, U0998 ] }; // G: ga, gha key { [ U09B9, U0983, U1CF5, U1CF6 ] }; // H: ha, visarga, jihvamuliya, upadhmaniya key { [ U099C, U099D ] }; // J: ja, jha key { [ U0995, U0996 ] }; // K: ka, kha key { [ U09B2, U09B2, U09E2, U098C ] }; // L: la, la, vocalic L matra, vocalic L key { [ semicolon, colon, U1CF2, U1CF3 ] }; // U1CF2/3: ardhavisarga/rotated ardhavisarga key { [ apostrophe, quotedbl, U0951, U201D ] }; // U0951: Devanagari stress sign udatta // U201D: Right double quotation mark key { [ U099E, U0999 ] }; // Z: nya, nga key { [ U09B7, U09BC ] }; // X: ssa, nukta below key { [ U099A, U099B ] }; // C: ca, cha key { [ U09F1, U09CC, U0994, U09D7 ] }; // V: assamese wa, matra au, au, length mark au key { [ U09AC, U09AD, U09F0 ] }; // B: ba, bha, Assamese ra key { [ U09A8, U09A3 ] }; // N: na, nna key { [ U09AE, U0982, U09BD, U0980 ] }; // M: ma, anusvara, avagraha, anji (siddham) key { [ comma, less ] }; key { [ period, greater ] }; key { [ slash, question ] }; include "level3(ralt_switch)" }; // ---- END Bangla KaGaPa phonetic ---- // Assamese uses Bangla layout partial alphanumeric_keys xkb_symbols "asm-kagapa" { include "in(ben-kagapa)" name[Group1] = "Assamese (KaGaPa, phonetic)"; }; partial alphanumeric_keys xkb_symbols "guj" { name[Group1]= "Gujarati"; // Mainly digits: key {[ U0AE7, U0A8D ]}; key {[ U0AE8, U0AC5 ]}; key {[ U0AE9 ]}; key {[ U0AEA ]}; key {[ U0AEB ]}; key {[ U0AEC ]}; key {[ U0AED ]}; key {[ U0AEE ]}; key {[ U0AEF, parenleft ]}; key {[ U0AE6, parenright]}; key {[ minus, U0A83 ]}; key {[ U0A8B, U0AC3 ]}; // Mainly long vowels: key {[ U0ACC, U0A94 ]}; key {[ U0AC8, U0A90 ]}; key {[ U0ABE, U0A86 ]}; key {[ U0AC0, U0A88 ]}; key {[ U0AC2, U0A8A ]}; // Mainly voiced consonants: key {[ U0AAC, U0AAD ]}; key {[ U0AB9, U0A99 ]}; key {[ U0A97, U0A98 ]}; key {[ U0AA6, U0AA7 ]}; key {[ U0A9C, U0A9D ]}; key {[ U0AA1, U0AA2 ]}; key {[ U0ABC, U0A9E ]}; // Mainly short vowels: key {[ U0ACB, U0A93 ]}; key {[ U0AC7, U0A8F ]}; key {[ U0ACD, U0A85 ]}; key {[ U0ABF, U0A87 ]}; key {[ U0AC1, U0A89 ]}; // Mainly unvoiced consonants: key {[ U0AAA, U0AAB ]}; key {[ U0AB0, U0AB0 ]}; key {[ U0A95, U0A96 ]}; key {[ U0AA4, U0AA5 ]}; key {[ U0A9A, U0A9B ]}; key {[ U0A9F, U0AA0 ]}; key {[ U0AC9, U0A91 ]}; key {[ z, Z ]}; key {[ U0A82, U0A81 ]}; key {[ U0AAE, U0AA3 ]}; key {[ U0AA8, U0AA8 ]}; key {[ U0AB5, U0AB5 ]}; key {[ U0AB2, U0AB3 ]}; key {[ U0AB8, U0AB6 ]}; key {[ comma, U0AB7 ]}; key {[ period, U0964 ]}; key {[ U0AAF, question ]}; include "rupeesign(4)" include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "kan" { // Inscript layout for Kannada. // Author : G Karunakar // Date : Wed Nov 13 17:22:58 IST 2002 // Kannada digits mapped in basic only name[Group1]= "Kannada"; key { [ U0cca, U0c92 ] }; key { [ U0ce7 ] }; key { [ U0ce8 ] }; key { [ U0ce9 ] }; key { [ U0cea ] }; key { [ U0ceb ] }; key { [ U0cec ] }; key { [ U0ced ] }; key { [ U0cee ] }; key { [ U0cef ] }; key { [ U0ce6 ] }; key { [ U0c83 ] }; key { [ U0cc3, U0c8b ] }; key { [ U0ccc, U0c94 ] }; key { [ U0cc8, U0c90 ] }; key { [ U0cbe, U0c86 ] }; key { [ U0cc0, U0c88 ] }; key { [ U0cc2, U0c8a ] }; key { [ U0cac, U0cad ] }; key { [ U0cb9, U0c99 ] }; key { [ U0c97, U0c98 ] }; key { [ U0ca6, U0ca7 ] }; key { [ U0c9c, U0c9d ] }; key { [ U0ca1, U0ca2 ] }; key { [ U0cbc, U0c9e ] }; key { [ U0ccb, U0c93 ] }; key { [ U0cc7, U0c8f ] }; key { [ U0ccd, U0c85 ] }; key { [ U0cbf, U0c87 ] }; key { [ U0cc1, U0c89 ] }; key { [ U0caa, U0cab ] }; key { [ U0cb0, U0cb1 ] }; key { [ U0c95, U0c96 ] }; key { [ U0ca4, U0ca5 ] }; key { [ U0c9a, U0c9b ] }; key { [ U0c9f, U0ca0 ] }; key { [ U0cc6, U0c8e ] }; key { [ U0c82 ] }; key { [ U0cae, U0ca3 ] }; key { [ U0ca8 ] }; key { [ U0cb5, U0cb4 ] }; key { [ U0cb2, U0cb3 ] }; key { [ U0cb8, U0cb6 ] }; key { [ comma, U0cb7 ] }; key { [ period ] }; key { [ U0caf, at ] }; include "rupeesign(4)" include "level3(ralt_switch)" }; // Description : A keymap for Malayalam // Encoding : Unicode (http://www.unicode.org) // Author : Baiju M // Date : Sat Aug 17 21:10:48 IST 2002 partial alphanumeric_keys xkb_symbols "mal" { name[Group1] = "Malayalam"; // From grave to backslash: key { [ U0d4a , U0d12 ] }; key { [ U0d67 , exclam ] }; key { [ U0d68 , at ] }; key { [ U0d69 , numbersign ] }; key { [ U0d6a , dollar ] }; key { [ U0d6b , percent ] }; key { [ U0d6c , asciicircum ] }; key { [ U0d6d , ampersand ] }; key { [ U0d6e , asterisk ] }; key { [ U0d6f , parenleft ] }; key { [ U0d66 , parenright ] }; key { [ minus , U0d03 ] }; key { [ U0d43 , U0d0b ] }; key { [ U200c, backslash ] }; // ZWNJ // From Q to right bracket: key { [ U0d4c , U0d14 ] }; key { [ U0d48 , U0d10 ] }; key { [ U0d3e , U0d06 ] }; key { [ U0d40 , U0d08 ] }; key { [ U0d42 , U0d0a ] }; key { [ U0d2c , U0d2d ] }; key { [ U0d39 , U0d19 ] }; key { [ U0d17 , U0d18 ] }; key { [ U0d26 , U0d27 ] }; key { [ U0d1c , U0d1d ] }; key { [ U0d21 , U0d22 ] }; key { [ U200d , U0d1e ] }; // From A to apostrophe: key { [ U0d4b , U0d13 ] }; key { [ U0d47 , U0d0f ] }; key { [ U0d4d , U0d05 ] }; key { [ U0d3f , U0d07 ] }; key { [ U0d41 , U0d09 ] }; key { [ U0d2a , U0d2b ] }; key { [ U0d30 , U0d31 ] }; key { [ U0d15 , U0d16 ] }; key { [ U0d24 , U0d25 ] }; key { [ U0d1a , U0d1b ] }; key { [ U0d1f , U0d20 ] }; // From Z to slash: key { [ U0d46 , U0d0e ] }; key { [ U0d02 , U200b ] }; // X: ZWSP key { [ U0d2e , U0d23 ] }; key { [ U0d28 ] }; key { [ U0d35 , U0d34 ] }; key { [ U0d32 , U0d33 ] }; key { [ U0d38 , U0d36 ] }; key { [ comma , U0d37 ] }; key { [ period, U200d ] }; key { [ U0d2f , question ] }; include "rupeesign(4)" include "level3(ralt_switch)" }; //Name : Lalitha //Description : A transliteration keyboard layout for Malayalam //Original Author : Noah Levitt //Current Main : Jinesh K.J, Swathantra Malayalam Computing (SMC) partial alphanumeric_keys xkb_symbols "mal_lalitha" { name[Group1] = "Malayalam (Lalitha)"; key.type[group1]="FOUR_LEVEL"; key { [ U0D4D, U0D02, grave, asciitilde ] }; // grave: virama(chandrakala),anusvara key { [ 1, exclam, U0D67, exclam ] }; key { [ 2, at, U0D68, at ] }; key { [ 3, numbersign, U0D69, numbersign ] }; key { [ 4, dollar, U0D6A, U20B9 ] }; // Rupee key { [ 5, percent, U0D6B, percent ] }; key { [ 6, asciicircum, U0D6C, asciicircum ] }; key { [ 7, ampersand, U0D6D, ampersand ] }; key { [ 8, asterisk, U0D6E, asterisk ] }; key { [ 9, parenleft, U0D6F, parenleft ] }; key { [ 0, parenright, U0D66, parenright ] }; key { [ minus, underscore ] }; key { [ equal, plus ] }; key { [ backslash,bar, U200C ] }; //\: backslash, pipe, ZWNJ key { [ U0D48, U0D4C, U0D10, U0D14 ] }; // Q: ai and au matras key { [ U0D35 ] }; // W: wa, OM key { [ U0D46, U0D47, U0D0E, U0D0F ] }; // E: e,ee matras key { [ U0D30, U0D31, U0D43, U0D0B ] }; // R: ra,rra, vocalic Ri key { [ U0D24, U0D25, U0D1F, U0D20 ] }; // T: tha, ttha,ta,tta key { [ U0D2f ] }; // Y: ya key { [ U0D41, U0D42, U0D09, U0D0A ] }; // U: u, uu matras key { [ U0D3F, U0D40, U0D07, U0D08 ] }; // I: i, ii matras key { [ U0D4A, U0D4B, U0D12, U0D13 ] }; // O: o, oo matras key { [ U0D2A ] }; // P: pa key { [ bracketleft, braceleft ] }; key { [ bracketright, braceright ] }; key { [ U0D3E, U0D05, U0D06, U0D05 ] }; // A: a,aa key { [ U0D38, U0D37 ] }; // S: sa, ssa key { [ U0D26, U0D27, U0D21, U0D22 ] }; // D: soft da,soft dda,hard da,hard dda, key { [ U0D2B ] }; // F: pha key { [ U0D17, U0D18 ] }; // G: ga, gha key { [ U0D39, U0D03 ] }; // H: ha, visarg key { [ U0D1C, U0D1D ] }; // J: ja, jha key { [ U0D15, U0D16 ] }; // K: ka, kha key { [ U0D32, U0D33 ] }; // L: la, vocalic L or lru matra` key { [ semicolon, colon ] }; key { [apostrophe, quotedbl ] }; key { [ U0D34, U0D36 ] }; // Z: sha,zha key { [ U0D4D, U200B ] }; // X: chandrakala,ZWSP key { [ U0D1A, U0D1B ] }; // C: ca, cha key { [ U0D35, U200D ] }; // V: va,ZWJ key { [ U0D2C, U0D2D ] }; // B: ba, bha key { [ U0D28, U0D23, U0D19, U0D1E ] }; // N: na, hard na,nga,nha key { [ U0D2E, U0D02 ] }; // M: ma key { [ comma, less ] }; key { [ period, greater ] }; key { [ slash, question ] }; include "level3(ralt_switch)" }; // Layout for Santali, using the Ol Chiki script. // (https://www.unicode.org/L2/L2005/05243r-n2984-ol-chiki.pdf, figure 9) partial alphanumeric_keys xkb_symbols "sat" { name[Group1]= "Santali (Ol Chiki)"; key {[ grave, U1C7B ]}; key {[ U1C51, exclam ]}; key {[ U1C52, at ]}; key {[ U1C53, numbersign ]}; key {[ U1C54, dollar ]}; key {[ U1C55, percent ]}; key {[ U1C56, asciicircum ]}; key {[ U1C57, ampersand ]}; key {[ U1C58, asterisk ]}; key {[ U1C59, parenleft ]}; key {[ U1C50, parenright ]}; key {[ minus, U1C7C ]}; key {[ equal, plus ]}; key {[ U1C67 ]}; key {[ U1C63 ]}; key {[ U1C6E ]}; key {[ U1C68 ]}; key {[ U1C74, U1C5B ]}; key {[ U1C6D ]}; key {[ U1C69 ]}; key {[ U1C64 ]}; key {[ U1C5A, U1C73 ]}; key {[ U1C6F ]}; key {[ bracketleft, braceleft ]}; key {[ bracketright, braceright ]}; key {[ U1C7F, U1C7E ]}; key {[ U1C5F ]}; key {[ U1C65 ]}; key {[ U1C70, U1C6B ]}; key {[ U1C5D ]}; key {[ U1C5C ]}; key {[ U1C66, U1C77 ]}; key {[ U1C61 ]}; key {[ U1C60 ]}; key {[ U1C5E ]}; key {[ semicolon, U1C7A ]}; key {[ apostrophe, quotedbl ]}; key {[ U1C72 ]}; key {[ U1C7D ]}; key {[ U1C6A ]}; key {[ U1C76 ]}; key {[ U1C75 ]}; key {[ U1C71, U1C78 ]}; key {[ U1C62, U1C6C ]}; key {[ comma, less ]}; key {[ U1C79, greater ]}; key {[ slash, question ]}; include "rupeesign(4)" include "level3(ralt_switch)" }; // Inscript layout for Oriya. // Author: G Karunakar // Date: November 2002 partial alphanumeric_keys xkb_symbols "ori" { name[Group1]= "Oriya"; key { [ U0b67 ] }; key { [ U0b68 ] }; key { [ U0b69 ] }; key { [ U0b6a ] }; key { [ U0b6b ] }; key { [ U0b6c ] }; key { [ U0b6d ] }; key { [ U0b6e ] }; key { [ U0b6f ] }; key { [ U0b66 ] }; key { [ U0b03 ] }; key { [ U0b43, U0b0b ] }; key { [ U0b4c, U0b14 ] }; key { [ U0b48, U0b10 ] }; key { [ U0b3e, U0b06 ] }; key { [ U0b40, U0b08 ] }; key { [ U0b42, U0b0a ] }; key { [ U0b2c, U0b2d ] }; key { [ U0b39, U0b19 ] }; key { [ U0b17, U0b18 ] }; key { [ U0b26, U0b27 ] }; key { [ U0b1c, U0b1d ] }; key { [ U0b21, U0b22 ] }; key { [ U0b3c, U0b1e ] }; key { [ U0b4b, U0b13 ] }; key { [ U0b47, U0b0f ] }; key { [ U0b4d, U0b05 ] }; key { [ U0b3f, U0b07 ] }; key { [ U0b41, U0b09 ] }; key { [ U0b2a, U0b2b ] }; key { [ U0b30 ] }; key { [ U0b15, U0b16 ] }; key { [ U0b24, U0b25 ] }; key { [ U0b1a, U0b1b ] }; key { [ U0b1f, U0b20 ] }; key { [ U0b02, U0b01 ] }; key { [ U0b2e, U0b23 ] }; key { [ U0b28 ] }; key { [ U0b35 ] }; key { [ U0b32, U0b33 ] }; key { [ U0b38, U0b36 ] }; key { [ comma, U0b37 ] }; key { [ period ] }; key { [ U0b2f, at ] }; include "rupeesign(4)" include "level3(ralt_switch)" }; // Phonetic layout for Oriya like Hindi Bolnagiri // Author: Lalit Mishra // Date: 3rd March, 2021. partial alphanumeric_keys xkb_symbols "ori-bolnagri" { name[Group1] = "Oriya (Bolnagri)"; key.type[group1]="FOUR_LEVEL"; key {[ U0B02, U0B01, grave, asciitilde ]}; // grave: anusvara, candrabindu key {[ U0B67, exclam, 1 ]}; key {[ U0B68, at, 2, U20AC ]}; key {[ U0B69, numbersign, 3, U00A3 ]}; key {[ U0B6A, dollar, 4, U20B9 ]}; // Rupee symbol on Shift+AltGr+4 key {[ U0B6B, percent, 5 ]}; key {[ U0B6C, asciicircum, 6 ]}; key {[ U0B6D, ampersand, 7 ]}; key {[ U0B6E, asterisk, 8 ]}; key {[ U0B6F, parenleft, 9 ]}; key {[ U0B66, parenright, 0 ]}; key {[ minus, underscore ]}; key {[ equal, plus ]}; key {[ U0964, U0965, U007C, U005C ]}; //pipe : danda, double danda key {[ U200C, U200D ]}; // Q: ZWNJ, ZWJ key {[ U0B71, U0B35 ]}; // W: wa key {[ U0B47, U0B48, U0B0F, U0B10 ]}; // E: e, ai matras key {[ U0B30, U0B43, U0B0B, U0B60 ]}; // R: ra, vocalic Ri key {[ U0B24, U0B25 ]}; // T: ta, tha key {[ U0B2f, U0B5F, U0B1E ]}; // Y: ya, nya key {[ U0B41, U0B42, U0B09, U0B0A ]}; // U: u, uu matras key {[ U0B3F, U0B40, U0B07, U0B08 ]}; // I: i, ii matras key {[ U0B4B, U0B4C, U0B13, U0B14 ]}; // O: o, au matras key {[ U0B2A, U0B2B ]}; // P: pa, pha key {[ bracketleft, braceleft ]}; key {[ bracketright, braceright]}; key {[ U0B3E, U0B06, U0B05, U0B06 ]}; // A: aa, full A, AA key {[ U0B38, U0B37 ]}; // S: sa, ssa key {[ U0B26, U0B27 ]}; // D: da, dha key {[ U0B1F, U0B20 ]}; // F: TA, THA key {[ U0B17, U0B18 ]}; // G: ga, gha key {[ U0B39, U0B03 ]}; // H: ha, visarg key {[ U0B1C, U0B1D ]}; // J: ja, jha key {[ U0B15, U0B16 ]}; // K: ka, kha key {[ U0B32, U0B33, U0B62, U0B0C ]}; // L: la, vocalic L or lru matra key {[ semicolon, colon ]}; key {[ apostrophe, quotedbl ]}; key {[ U0B36 ]}; // Z: sha, akaar candra key {[ U0B4D ]}; // X: halant, aakaar candra, chandra A key {[ U0B1A, U0B1B ]}; // C: ca, cha key {[ U0B21, U0B22 ]}; // V: da, dha key {[ U0B2C, U0B2D ]}; // B: ba, bha key {[ U0B28, U0B23 ]}; // N: na, nna key {[ U0B2E, U0B19, U0B3D ]}; // M: ma, nga, avagraha key {[ comma, U0B70, U0B44, U0B61 ]}; // comma: comma, dev abbreviation sign key {[ period, U0B3C, U0B55 ]}; // period: period, nukta key {[ slash, question ]}; include "level3(ralt_switch)" }; // Phonetic layout for Oriya like Hindi Wx // Author: Lalit Mishra // Date: 3rd March, 2021. partial alphanumeric_keys xkb_symbols "ori-wx" { name[Group1]= "Oriya (Wx)"; key {[ grave, asciitilde, U200C, U200D ]}; key {[ U0B67, exclam, 1 ]}; key {[ U0B68, at, 2, U20AC ]}; key {[ U0B69, numbersign, 3, U00A3 ]}; key {[ U0B6A, dollar, 4, U20B9 ]}; key {[ U0B6B, percent, 5 ]}; key {[ U0B6C, asciicircum, 6 ]}; key {[ U0B6D, ampersand, 7 ]}; key {[ U0B6e, asterisk, 8 ]}; key {[ U0B6F, parenleft, 9 ]}; key {[ U0B66, parenright, 0 ]}; key {[ minus, underscore ]}; key {[ equal, plus ]}; key {[ U0B43, U0B44, U0B0B, U0B60 ]}; key {[ U0B24, U0B25 ]}; key {[ U0B47, U0B48, U0B0F, U0B10 ]}; key {[ U0B30, U0B37 ]}; key {[ U0B1F, U0B20 ]}; key {[ U0B2F, U0B5F ]}; key {[ U0B41, U0B42, U0B09, U0B0A ]}; key {[ U0B3F, U0B40, U0B07, U0B08 ]}; key {[ U0B4B, U0B4C, U0B13, U0B14 ]}; key {[ U0B2A, U0B2B ]}; key {[bracketleft, braceleft ]}; key {[bracketright, braceright ]}; key {[ U0964, U0965, backslash, bar ]}; key {[ U0B4D, U0B3E, U0B05, U0B06 ]}; key {[ U0B38, U0B36 ]}; key {[ U0B21, U0B22 ]}; key {[ U0B19, U0B1E ]}; key {[ U0B17, U0B18 ]}; key {[ U0B39, U0B03 ]}; key {[ U0B1C, U0B1D ]}; key {[ U0B15, U0B16 ]}; key {[ U0B32, U0B62, U0B33, U0B0C ]}; key {[semicolon, colon ]}; key {[apostrophe, quotedbl ]}; key {[ U0B01, U0B3C, U0B3D ]}; key {[ U0B26, U0B27 ]}; key {[ U0B1A, U0B1B ]}; key {[ U0B71, U0B35 ]}; key {[ U0B2C, U0B2D ]}; key {[ U0B28, U0B23 ]}; key {[ U0B2E, U0B02 ]}; key {[ comma, less ]}; key {[ period, greater ]}; key {[ slash, question ]}; include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "tam" { name[Group1] = "Tamil (InScript, with Arabic numerals)"; key {[ U0BCA, U0B92 ]}; key {[ 1 ]}; key {[ 2 ]}; key {[ 3 ]}; key {[ 4, U20B9 ]}; // Rupee key {[ 5 ]}; key {[ 6 ]}; key {[ 7 ]}; key {[ 8 ]}; key {[ 9, parenleft ]}; key {[ 0, parenright ]}; key {[ minus, U0B83 ]}; key {[ equal, plus ]}; // Mainly long vowels: key {[ U0BCC, U0B94 ]}; key {[ U0BC8, U0B90 ]}; key {[ U0BBE, U0B86 ]}; key {[ U0BC0, U0B88 ]}; key {[ U0BC2, U0B8A ]}; // Mainly voiced consonants: key {[ U0BB9, U0B99 ]}; key {[ U0B9C ]}; key {[ U0B9E ]}; // Mainly short vowels: key {[ U0BCB, U0B93 ]}; key {[ U0BC7, U0B8F ]}; key {[ U0BCD, U0B85 ]}; key {[ U0BBF, U0B87 ]}; key {[ U0BC1, U0B89 ]}; // Mainly unvoiced consonants: key {[ U0BAA ]}; key {[ U0BB0, U0BB1 ]}; key {[ U0B95 ]}; key {[ U0BA4 ]}; key {[ U0B9A ]}; key {[ U0B9F ]}; key {[backslash, bar ]}; key {[ U0BC6, U0B8E ]}; key {[ U0B82 ]}; key {[ U0BAE, U0BA3 ]}; key {[ U0BA8, U0BA9 ]}; key {[ U0BB5, U0BB4 ]}; key {[ U0BB2, U0BB3 ]}; key {[ U0BB8, U0BB6 ]}; key {[ comma, U0BB7 ]}; key {[ period, U0964 ]}; key {[ U0BAF, question]}; }; partial alphanumeric_keys xkb_symbols "tam_tamilnumbers" { include "in(tam)" name[Group1] = "Tamil (InScript, with Tamil numerals)"; key {[ U0BE7, any ]}; key {[ U0BE8, any ]}; key {[ U0BE9, any ]}; key {[ U0BEA, any ]}; key {[ U0BEB, any ]}; key {[ U0BEC, any ]}; key {[ U0BED, any ]}; key {[ U0BEE, any ]}; key {[ U0BEF, any ]}; key {[ U0BF0, any ]}; key {[ U0BF1, any ]}; key {[ U0BF2, any ]}; }; partial alphanumeric_keys xkb_symbols "tamilnet" { // Description: A keymap based on the TamilNet'99 typewriter keyboard // Encoding: Unicode (http://www.unicode.org) // Author: Thuraiappah Vaseeharan // Modifed by: Malathi S // Secondary contact: Sri Ramadoss M // Date : Fri Sep 4 11:32:00 CST 2009 name[Group1]= "Tamil (TamilNet '99)"; key {[ apostrophe, asciitilde ]}; key {[ 1, exclam ]} ; key {[ 2, at ]} ; key {[ 3, numbersign ]} ; key {[ 4, U0BF9 ]} ; key {[ 5, percent ]} ; key {[ 6, asciicircum ]} ; key {[ 7, ampersand ]} ; key {[ 8, asterisk ]} ; key {[ 9, parenleft ]} ; key {[ 0, parenright ]} ; key {[ minus, underscore ]}; key {[ equal, plus ]}; // Q row key {[ U0B9E, U0BB6 ]}; key {[ U0BB1, U0BB7 ]}; key {[ U0BA8, U0BB8 ]}; key {[ U0B9A, U0BB9 ]}; key {[ U0BB5, U0B9C ]}; key {[ U0BB2 ]}; key {[ U0BB0 ]}; key {[ U0BC8, U0B90 ]}; key {[ U0BCA, U0BCB ]}; key {[ U0BBF, U0BC0 ]}; key {[ U0BC1, U0BC2 ]}; // A row key {[ U0BAF ]}; key {[ U0BB3 ]}; key {[ U0BA9 ]}; key {[ U0B95 ]}; key {[ U0BAA ]}; key {[ U0BBE, U0BB4 ]}; key {[ U0BA4 ]}; key {[ U0BAE ]}; key {[ U0B9F ]}; key {[ U0BCD, U0B83 ]}; key {[ U0B99 ]}; // Z row key {[ U0BA3 ]}; key {[ U0B92, U0B93 ]}; key {[ U0B89, U0B8A ]}; key {[ U0B8E, U0B8F ]}; key {[ U0BC6, U0BC7 ]}; key {[ U0B94, U0BCC ]}; key {[ U0B85, U0B86 ]}; key {[ U0B87, U0B88 ]}; }; partial alphanumeric_keys xkb_symbols "tamilnet_tamilnumbers" { include "in(tamilnet)" name[Group1]= "Tamil (TamilNet '99 with Tamil numerals)"; key {[ U0BE7, any ]}; key {[ U0BE8, any ]}; key {[ U0BE9, any ]}; key {[ U0BEA, any ]}; key {[ U0BEB, any ]}; key {[ U0BEC, any ]}; key {[ U0BED, any ]}; key {[ U0BEE, any ]}; key {[ U0BEF, any ]}; key {[ U0BE6, any ]}; }; partial alphanumeric_keys xkb_symbols "tamilnet_TSCII" { // Description : A Tamil typewrite-style keymap // loosely based on TamilNet'99 reommendations // Encoding : TSCII (http://www.tscii.org) // Author : Thuraiappah Vaseeharan // Last Modified: Sat Jan 5 17:11:26 CST 2002 name[Group1]= "Tamil (TamilNet '99, TSCII encoding)"; key {[ 0x10000b7, 0x10000a4 ]}; // aytham key {[ 0x1000082, 0x10000a5 ]}; // shri key {[ 0x1000083, 0x1000088 ]}; // ja key {[ 0x1000084, 0x1000089 ]}; // sha key {[ 0x1000085, 0x100008a ]}; // sa key {[ 0x1000086, 0x100008b ]}; // ha key {[ 0x1000087, 0x100008c ]}; // ksha // Q row key {[ 0x10000bb, 0x100009a ]}; // nja key {[ 0x10000c8, 0x10000da ]}; // Ra key {[ 0x10000bf, 0x10000d1 ]}; // NNa key {[ 0x10000ba, 0x10000cd ]}; // ca key {[ 0x10000c5, 0x10000d7 ]}; // va key {[ 0x10000c4, 0x10000d6 ]}; // la key {[ 0x10000c3, 0x10000d5 ]}; // ra key {[ 0x10000a8, 0x10000b3 ]}; // sangili, ai key {[ 0x10000ca, 0x10000cb ]}; // di, dI key {[ 0x10000a2, 0x10000a3 ]}; // visiri key {[ dead_acute,0x10000a3 ]}; // Ukaaram // A row key {[ 0x10000c2, 0x10000d4 ]}; // ya key {[ 0x10000c7, 0x10000d9 ]}; // La key {[ 0x10000c9, 0x10000db ]}; // na key {[ 0x10000b8, 0x10000cc ]}; // ka key {[ 0x10000c0, 0x10000d2 ]}; // pa key {[ dead_grave,0x10000a1 ]}; // pulli,aravu key {[ 0x10000be, 0x10000d0 ]}; // tha key {[ 0x10000c1, 0x10000d3 ]}; // ma key {[ 0x10000bc, 0x10000ce ]}; // da key {[ 0x10000c6, 0x10000d8 ]}; // zha key {[ 0x10000b9, 0x1000099 ]}; // nga // Z row key {[ 0x10000bd, 0x10000cf ]}; // Na key {[ 0x10000b4, 0x10000b5 ]}; // o, O key {[ 0x10000af, 0x10000b0 ]}; // u, U key {[ 0x10000b1, 0x10000b2 ]}; // e, E key {[ 0x10000a6, 0x10000a7 ]}; // kombus key {[ 0x10000b6, 0x10000aa ]}; // au key {[ 0x10000ab, 0x10000ac ]}; // a, A key {[ 0x10000fe, 0x10000ae ]}; // i, I }; partial alphanumeric_keys xkb_symbols "tamilnet_TAB" { // Description: A keymap based on the TamilNet'99 typewriter keyboard // Encoding: TAB (http://www.tamilnet99.org) // Author: Thuraiappah Vaseeharan // Date : Sun Aug 12 02:23:00 CDT 2001 name[Group1]= "Tamil (TamilNet '99, TAB encoding)"; // Digits row key {[ 0x10000e7, 0x10000a7 ]} ; key {[ 0x10000fa, 0x10000a8 ]} ; key {[ 0x10000fb ]} ; key {[ 0x10000fc ]} ; key {[ 0x10000fd ]} ; key {[ 0x10000fe ]} ; key {[ 0x10000ff ]} ; // Q row key {[ 0x10000eb, 0x10000b3 ]}; key {[ 0x10000f8, 0x10000c1 ]}; key {[ 0x10000ef, 0x10000b8 ]}; key {[ 0x10000ea, 0x10000b2 ]}; key {[ 0x10000f5, 0x10000be ]}; key {[ 0x10000f4, 0x10000bd ]}; key {[ 0x10000f3, 0x10000bc ]}; key {[ 0x10000ac, 0x10000e4 ]}; key {[ 0x10000ae, 0x10000af ]}; key {[ 0x10000a4, 0x10000a6 ]}; key {[ dead_circumflex, 0x10000a6 ]}; // Ukaaram // A row key {[ 0x10000f2, 0x10000bb ]}; key {[ 0x10000f7, 0x10000c0 ]}; key {[ 0x10000f9, 0x10000c2 ]}; key {[ 0x10000e8, 0x10000b0 ]}; key {[ 0x10000f0, 0x10000b9 ]}; key {[ 0x10000a2, 0x10000a3 ]}; key {[ 0x10000ee, 0x10000b6 ]}; key {[ 0x10000f1, 0x10000ba ]}; key {[ 0x10000ec, 0x10000b4 ]}; key {[ 0x10000f6, 0x10000bf ]}; key {[ 0x10000e9, 0x10000b1 ]}; // Z row key {[ 0x10000ed, 0x10000b5 ]}; key {[ 0x10000e5, 0x10000e6 ]}; key {[ 0x10000e0, 0x10000e1 ]}; key {[ 0x10000e2, 0x10000e3 ]}; key {[ 0x10000aa, 0x10000ab ]}; key {[ 0x10000ac, 0x10000a3 ]}; key {[ 0x10000dc, 0x10000dd ]}; key {[ 0x10000de, 0x10000df ]}; }; partial alphanumeric_keys xkb_symbols "tel" { // InScript layout for Telugu using Unicode // Author: G Karunakar // See layout at http://www.indlinux.org/keymap/telugu.php name[Group1]= "Telugu"; key { [ U0c4a, U0c12 ] }; key { [ U0c67 ] }; key { [ U0c68 ] }; key { [ U0c69, numbersign ] }; key { [ U0c6a, dollar ] }; key { [ U0c6b, percent ] }; key { [ U0c6c, asciicircum ] }; key { [ U0c6d, ampersand ] }; key { [ U0c6e, asterisk ] }; key { [ U0c6f, parenleft ] }; key { [ U0c66, parenright ] }; key { [ U0c03, underscore ] }; key { [ U0c43, U0c0b ] }; key { [ U0c4c, U0c14 ] }; key { [ U0c48, U0c10 ] }; key { [ U0c3e, U0c06 ] }; key { [ U0c40, U0c08 ] }; key { [ U0c42, U0c0a ] }; key { [ U0c2c, U0c2d ] }; key { [ U0c39, U0c19 ] }; key { [ U0c17, U0c18 ] }; key { [ U0c26, U0c27 ] }; key { [ U0c1c, U0c1d ] }; key { [ U0c21, U0c22 ] }; key { [ U0c1e ] }; key { [ U0c4b, U0c13 ] }; key { [ U0c47, U0c0f ] }; key { [ U0c4d, U0c05 ] }; key { [ U0c3f, U0c07 ] }; key { [ U0c41, U0c09 ] }; key { [ U0c2a, U0c2b ] }; key { [ U0c30, U0c31 ] }; key { [ U0c15, U0c16 ] }; key { [ U0c24, U0c25 ] }; key { [ U0c1a, U0c1b ] }; key { [ U0c1f, U0c20 ] }; key { [ U0c46, U0c0e ] }; key { [ U0c02, U0c01 ] }; key { [ U0c2e, U0c23 ] }; key { [ U0c28 ] }; key { [ U0c35 ] }; key { [ U0c32, U0c33 ] }; key { [ U0c38, U0c36 ] }; key { [ comma, U0c37 ] }; key { [ period ] }; key { [ U0c2f, at ] }; include "rupeesign(4)" include "level3(ralt_switch)" }; //Name : Sarala //Description : This is an adaptation of the Sarala keyboard (http://www.medhajananam.org/sarala/) developed // by Krishna Dhullipalla. Because of the way keyboard shortcuts are laid out in KDE, the keyboard // modifiers had to be changed. The layout does not take any part of the original Sarala keyboard // code however. It has been developed from scratch, so the experience may differ. // // There is a ibus-m17n version of Sarala layout developed by Satya Pothamsetti on // http://www.medhajananam.org/. //Standard : Supports Unicode 9.0. //Help : This layout differs slightly from the layout on Medhajenanam. The layout has been depicted in the // pdf file attached to this post on Sarala google group. // (https://groups.google.com/forum/#!topic/sarala-keyboard/-gsa90dUFcs). // //Layout Developed by : Krishna Dhullipalla (http://www.medhajananam.org/) //Author : Venkat R Akkineni //Date : Apr 28 2017 partial alphanumeric_keys xkb_symbols "tel-sarala" { name[Group1] = "Telugu (Sarala)"; key.type[group1]="FOUR_LEVEL"; key {[ U0C4A, U0C12 ]}; // ొ ఒ key {[ U0C42, U0C0A ]}; // ూ ఊ key {[ U0C21, U0C22 ]}; // డ ఢ key {[ U0C35, U0C39 ]}; // వ హ key {[ U0C2C, U0C2D ]}; // బ భ key {[ U0C28, U0C23 ]}; // న ణ key {[ U0C2E, U0C01 ]}; // మ ఁ key {[ comma, U0C1E, less ]}; // , ఞ < key {[ period, U0C19, greater ]}; // . ఙ > key {[ U0C36, question, slash ]}; // శ ? / key {[ U0C2F, U0C3D ]}; // య ఽ key {[ U0C02, U0C03 ]}; // ం ః key {[ U0C26, U0C27 ]}; // ద ధ key {[ U0C4D, U0C05 ]}; // ్ అ key {[ U0C17, U0C18 ]}; // గ ఘ key {[ U0C1A, U0C1B, U0C58, U0C59 ]}; // చ ఛ ౘ ౙ key {[ U0C3E, U0C06 ]}; // ా ఆ key {[ U0C15, U0C16, U0C62, U0C63 ]}; // క ఖ ౢ ౣ key {[ U0C32, U0C33, U0C0C, U0C61 ]}; // ల ళ ఌ ౡ key {[ U0C1F, U0C20, semicolon, colon ]}; // ట ఠ ; : key {[ apostrophe, quotedbl ]}; // ' " key {[ U0C46, U0C0E, U0C44, U0C34 ]}; // ె ఎ ౄ ఴ key {[ U0C38, U0C37, U0C44 ]}; // స ష ౄ key {[ U0C47, U0C0F, U0C44 ]}; // ే ఏ ౄ key {[ U0C30, U0C31, U0C44, U0C60 ]}; // ర ఱ ౄ ౠ key {[ U0C24, U0C25 ]}; // త థ key {[ U0C40, U0C08 ]}; // ీ ఈ key {[ U0C41, U0C09 ]}; // ు ఉ key {[ U0C3F, U0C07 ]}; // ి ఇ key {[ U0C4B, U0C13 ]}; // ో ఓ key {[ U0C2A, U0C2B ]}; // ప ఫ key {[ U0C1C, U0C1D, bracketleft, braceleft ]}; // జ ఝ [ { key {[ U0C48, U0C10, bracketright, braceright ]}; // ై ఐ ] } key {[ 1, exclam, U0C67, U0C78 ]}; // 1 ! ౦ ౸ key {[ 2, at, U0C68, U0C79 ]}; // 2 @ ౨ ౹ key {[ 3, numbersign, U0C69, U0C7A ]}; // 3 # ౩ ౺ key {[ 4, dollar, U0C6A, U0C7B ]}; // 4 $ ౪ ౻ key {[ 5, percent, U0C6B, U0C7C ]}; // 5 % ౫ ౼ key {[ 6, asciicircum, U0C6C, U0C7D ]}; // 6 ^ ౬ ౽ key {[ 7, ampersand, U0C6D, U0C7E ]}; // 7 & ౭ ౾ key {[ 8, asterisk, U0C6E, U0C7F ]}; // 8 * ౮ ౿ key {[ 9, parenleft, U0C6F, U20B9 ]}; // 9 ( ౯ ₹ key {[ 0, parenright, U0C66, U0C55 ]}; // 0 ) ౦ ౕ key {[ minus, underscore, NoSymbol, U0C56 ]}; // - _ ౖ key {[ equal, plus ]}; // = + key {[ U0C4C, U0C14, U0964, U0965 ]}; // ౌ ఔ । ॥ key {[ U0C43, U0C0B, grave, asciitilde ]}; // ృ ఋ ` ~ include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "urd-phonetic" { include "pk(urd-phonetic)" name[Group1]= "Urdu (phonetic)"; }; partial alphanumeric_keys xkb_symbols "urd-phonetic3" { include "pk(urd-crulp)" name[Group1]= "Urdu (alt. phonetic)"; }; partial alphanumeric_keys xkb_symbols "urd-winkeys" { include "pk(urd-nla)" name[Group1]= "Urdu (Windows)"; }; partial alphanumeric_keys xkb_symbols "guru" { name[Group1]= "Punjabi (Gurmukhi)"; // Mainly digits: key { [ U0A67 ] }; key { [ U0A68 ] }; key { [ U0A69, U0A71 ] }; key { [ U0A6A, U0A74 ] }; key { [ U0A6B, U262C ] }; key { [ U0A6C ] }; key { [ U0A6D ] }; key { [ U0A6e ] }; key { [ U0A6F, parenleft ] }; key { [ U0A66, parenright ] }; key { [ U0A03 ] }; key { [ equal,plus ] }; // Mainly long vowels: key { [ U0A4C, U0A14 ] }; key { [ U0A48, U0A10 ] }; key { [ U0A3E, U0A06 ] }; key { [ U0A40, U0A08 ] }; key { [ U0A42, U0A0A ] }; // Mainly voiced consonants: key { [ U0A2C, U0A2D ] }; key { [ U0A39, U0A19 ] }; key { [ U0A17, U0A18 ] }; key { [ U0A26, U0A27 ] }; key { [ U0A1C, U0A1D ] }; key { [ U0A21, U0A22 ] }; key { [ U0A3C, U0A1E ] }; // Mainly short vowels: key { [ U0A4B, U0A13 ] }; key { [ U0A47, U0A0F ] }; key { [ U0A4D, U0A05 ] }; key { [ U0A3F, U0A07 ] }; key { [ U0A41, U0A09 ] }; // Mainly unvoiced consonants: key { [ U0A2A, U0A2B ] }; key { [ U0A30, U0A5C ] }; key { [ U0A15, U0A16 ] }; key { [ U0A24, U0A25 ] }; key { [ U0A1A, U0A1B ] }; key { [ U0A1F, U0A20 ] }; key { [ backslash, bar] }; key { [ z, U0A01 ] }; key { [ U0A02, U0A70, U0A71 ] }; key { [ U0A2E, U0A23 ] }; key { [ U0A28, U0A28 ] }; key { [ U0A35, U0A35 ] }; key { [ U0A32, U0A33 ] }; key { [ U0A38, U0A36 ] }; key { [ comma, less ] }; key { [ period, U0964 ] }; key { [ U0A2F, question ] }; include "rupeesign(4)" include "level3(ralt_switch)" }; //Name : Jhelum (Refind InScript) //Description : A Jhelum keyboard layout for Gurmukhi (Punjabi) // http://www.satluj.org/Jhelum.html //Modified for InScript to make //Original Author : Amanpreet Singh Alam { [ grave, asciitilde, U0A02,U0A01 ] }; // grave: anusvara, candrabindu key { [ 1,exclam, U0A67, exclam ] }; key { [ 2,at, U0A68, at ] }; key { [ 3,numbersign, U0A69, numbersign ] }; key { [ 4,dollar, U0A6A ] }; key { [ 5,percent,U0A6B, percent ] }; key { [ 6,U0A73, U0A6C,asciicircum ] }; key { [ 7,U0A72,U0A6D,ampersand ] }; key { [ 8,asterisk,U0A6E, asterisk ] }; key { [ 9,parenleft,U0A6F,parenleft ] }; key { [ 0,parenright,U0A66,parenright ] }; key { [ minus,underscore] }; key { [ equal,plus] }; key { [ U0964,U0965,bar,backslash] }; //pipe : danda, double danda // Q row key { [ U0A4C, U0A14 ] }; // Q: oo, ooh key { [ U0A48, U0A10 ] }; // W: ee, ae key { [ U0A3E, U0A06 ] }; // E: a, aa key { [ U0A40, U0A08, U20B9 ] }; // R: ee, ai, rupeesign key { [ U0A42, U0A0A ] }; // T: u, uu key { [ U0A30, U0A5C ] }; // Y: ra, raa key { [ U0A26, U0A27 ] }; // U: tha, thha key { [ U0A17, U0A18, U0A5A ] }; // I:ga, gha key { [ U0A24, U0A1F ] }; // O: ta, tha key { [ U0A2A, U0A5E, VoidSymbol,U0A5E ] }; // P: pa, pha key { [ U0A21, U0A22, bracketleft, braceleft ] }; key { [ U0A19, U0A1E, bracketright, braceright ] }; // A row key { [ U0A4B, U0A13 ] }; // A: o, oo key { [ U0A47, U0A0F ] }; // S: e, ee key { [ U0A4D, U0A05 ] }; // D: halant, aa key { [ U0A3F, U0A07 ] }; // F: i, aa key { [ U0A41, U0A09 ] }; // G: u, uh key { [ U0A39, U0A20 ] }; // H: ha, thha key { [ U0A1C, U0A1D, U0A5B ] }; // J: ja, jha key { [ U0A15, U0A16,VoidSymbol ,U0A59 ] }; // K: ka, kha key { [ U0A32, U0A25, U0A33 ] }; // L: la, tha key { [ U0A38, colon, U0A36 ] }; //; sa key { [apostrophe, quotedbl ] }; // Z row key { [ U0A71, U0A3C ] }; // Z: addak, par bindi key { [ U0A02, U0A70 ] }; // X: bindi, tippi key { [ U0A1A, U0A1B ] }; // C: ca, cha key { [ U0A35, U0A2F ] }; // V: va, ya key { [ U0A2C, U0A2D ] }; // B: ba, bha key { [ U0A28, U0A23 ] }; // N: na, nha key { [ U0A2E, U0A2E ] }; // M: ma key { [ comma, U262C ] };// comma: comma, dev abbreviation sign key { [ period, U0A74 ] }; // period: period, nukta key { [ slash, question ] }; include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "olpc" { // Contact: Walter Bender include "in(deva)" key { [ U094A, U0912 ] }; // DEVANAGARI VOWEL SIGN SHORT O; DEVANAGARI LETTER SHORT O key { [ U0967, U090D ] }; // DEVANAGARI DIGIT ONE; DEVANAGARI LETTER CANDRA E key { [ U0968, U0945 ] }; // DEVANAGARI DIGIT TWO; DEVANAGARI VOWEL SIGN CANDRA E key { [ U0969 ] }; // DEVANAGARI DIGIT THREE; key { [ U096A ] }; // DEVANAGARI DIGIT FOUR; key { [ U096B ] }; // DEVANAGARI DIGIT FIVE; key { [ U096C ] }; // DEVANAGARI DIGIT SIX; key { [ U096D ] }; // DEVANAGARI DIGIT SEVEN; key { [ U096E ] }; // DEVANAGARI DIGIT EIGHT; key { [ U096F, parenleft ] }; // DEVANAGARI DIGIT NINE; key { [ U0966, parenright ] }; // DEVANAGARI DIGIT ZERO; key { [ minus, U0903 ] }; // DEVANAGARI SIGN VISARGA; key { [ U0943, U090B ] }; // DEVANAGARI VOWEL SIGN VOCALIC R; DEVANAGARI LETTER VOCALIC R key { [ U094C, U0914 ] }; // DEVANAGARI VOWEL SIGN AU; DEVANAGARI LETTER AU key { [ U0948, U0910 ] }; // DEVANAGARI VOWEL SIGN AI; DEVANAGARI LETTER AI key { [ U093E, U0906 ] }; // DEVANAGARI VOWEL SIGN AA; DEVANAGARI LETTER AA key { [ U0940, U0908 ] }; // DEVANAGARI VOWEL SIGN II; DEVANAGARI LETTER II key { [ U0942, U090A ] }; // DEVANAGARI VOWEL SIGN UU; DEVANAGARI LETTER UU key { [ U092C, U092D ] }; // DEVANAGARI LETTER BA; DEVANAGARI LETTER BHA key { [ U0939, U0919 ] }; // DEVANAGARI LETTER HA; DEVANAGARI LETTER NGA key { [ U0917, U0918 ] }; // DEVANAGARI LETTER GA; DEVANAGARI LETTER GHA key { [ U0926, U0927 ] }; // DEVANAGARI LETTER DA; DEVANAGARI LETTER DHA key { [ U091C, U091D ] }; // DEVANAGARI LETTER JA; DEVANAGARI LETTER JHA key { [ U0921, U0922 ] }; // DEVANAGARI LETTER DDA; DEVANAGARI LETTER DDHA key { [ U093C, U091E ] }; // DEVANAGARI SIGN NUKTA; DEVANAGARI LETTER NYA key { [ U0949, U0911 ] }; // DEVANAGARI VOWEL SIGN CANDRA O; DEVANAGARI LETTER CANDRA O key { [ U094B, U0913 ] }; // DEVANAGARI VOWEL SIGN O; DEVANAGARI LETTER O key { [ U0947, U090F ] }; // DEVANAGARI VOWEL SIGN E; DEVANAGARI LETTER E key { [ U094D, U0905 ] }; // DEVANAGARI SIGN VIRAMA; DEVANAGARI LETTER A key { [ U093F, U0907 ] }; // DEVANAGARI VOWEL SIGN I; DEVANAGARI LETTER I key { [ U0941, U0909 ] }; // DEVANAGARI VOWEL SIGN U; DEVANAGARI LETTER U key { [ U092A, U092B ] }; // DEVANAGARI LETTER PA; DEVANAGARI LETTER PHA key { [ U0930, U0931 ] }; // DEVANAGARI LETTER RA; DEVANAGARI LETTER RRA key { [ U0915, U0916 ] }; // DEVANAGARI LETTER KA; DEVANAGARI LETTER KHA key { [ U0924, U0925 ] }; // DEVANAGARI LETTER TA; DEVANAGARI LETTER THA key { [ U091A, U091B ] }; // DEVANAGARI LETTER CA; DEVANAGARI LETTER CHA key { [ U091F, U0920 ] }; // DEVANAGARI LETTER TTA; DEVANAGARI LETTER TTHA key { [ U0946, U090E ] }; // DEVANAGARI VOWEL SIGN SHORT E; DEVANAGARI LETTER SHORT E key { [ U0902, U0901 ] }; // DEVANAGARI SIGN ANUSVARA; DEVANAGARI SIGN CANDRABINDU key { [ U092E, U0923 ] }; // DEVANAGARI LETTER MA; DEVANAGARI LETTER NNA key { [ U0928, U0929 ] }; // DEVANAGARI LETTER NA; DEVANAGARI LETTER NNNA key { [ U0935, U0934 ] }; // DEVANAGARI LETTER VA; DEVANAGARI LETTER LLLA key { [ U0932, U0933 ] }; // DEVANAGARI LETTER LA; DEVANAGARI LETTER LLA key { [ U0938, U0936 ] }; // DEVANAGARI LETTER SA; DEVANAGARI LETTER SHA key { [ comma, U0937 ] }; // DEVANAGARI LETTER SSA key { [ period, U0964 ] }; // DEVANAGARI DANDA key { [ U092F, U095F ] }; // DEVANAGARI LETTER YA; DEVANAGARI LETTER YYA // space, space, Zero-Width-Non-Joiner (ZWNJ), Zero-Width-Joiner (ZWJ): include "nbsp(zwnj3zwj4)" include "group(olpc)" }; partial alphanumeric_keys xkb_symbols "hin-wx" { name[Group1]= "Hindi (Wx)"; key { [ grave, asciitilde, 2, 3 ] }; key { [ 0x1000967, exclam ] }; key { [ 0x1000968, at ] }; key { [ 0x1000969 , numbersign ] }; key { [ 0x100096A , dollar, U20B9 ] }; // Rupee key { [ 0x100096B , percent ] }; key { [ 0x100096C , asciicircum ] }; key { [ 0x100096D , ampersand ] }; key { [ 0x100096e , asterisk ] }; key { [ 0x100096F, parenleft ] }; key { [ 0x1000966, parenright ] }; key { [ minus, underscore ] }; key { [ equal, plus ] }; key { [ 0x1000943, 0x1000944, 0x100090B, 0x1000960] }; key { [ 0x1000924, 0x1000925 ] }; key { [ 0x1000947, 0x1000948, 0x100090F, 0x1000910] }; key { [ 0x1000930, 0x1000937 ] }; key { [ 0x100091F, 0x1000920 ] }; key { [ 0x100092F ] }; key { [ 0x1000941, 0x1000942, 0x1000909, 0x100090A ] }; key { [ 0x100093F, 0x1000940, 0x1000907, 0x1000908 ] }; key { [ 0x100094B, 0x100094C, 0x1000913, 0x1000914] }; key { [ 0x100092A, 0x100092B ] }; key { [ bracketleft, braceleft ] }; key { [ bracketright, braceright ] }; key { [ backslash, bar, 0x1000964, 0x1000965 ] }; key { [ 0x100094D, 0x100093E, 0x1000905,0x1000906 ] }; key { [ 0x1000938, 0x1000936 ] }; key { [ 0x1000921, 0x1000922 ] }; key { [ 0x1000919, 0x100091E ] }; key { [ 0x1000917, 0x1000918 ] }; key { [ 0x1000939, 0x1000903 ] }; key { [ 0x100091C, 0x100091D ] }; key { [ 0x1000915, 0x1000916 ] }; key { [ 0x1000932, 0x1000962, 0x1000933, 0x100090C] }; key { [ semicolon, colon ] }; key { [ apostrophe, quotedbl ] }; key { [ 0x1000901, 0x100093C, 0x100093D, 0x1000950] }; key { [ 0x1000926, 0x1000927 ] }; key { [ 0x100091A, 0x100091B ] }; key { [ 0x1000935 ] }; key { [ 0x100092C, 0x100092D ] }; key { [ 0x1000928, 0x1000923 ] }; key { [ 0x100092E, 0x1000902 ] }; key { [ comma, less ] }; key { [ period, greater ] }; key { [ slash, question ] }; include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "eng" { include "us(basic)" name[Group1]= "English (India, with rupee)"; include "rupeesign(4)" include "level3(ralt_switch)" }; // Description : Enhanced INSCRIPT keymap for Malayalam // Encoding : Unicode (http://www.unicode.org) // Author : Mahesh T Pai // Date : March, 2011 // Source : http://www.nongnu.org/smc/docs/images/ml_inscript_layout.jpg // Comment : Based on the InScript Keyboard created by M Baiju partial alphanumeric_keys xkb_symbols "mal_enhanced" { name[Group1] = "Malayalam (enhanced InScript, with rupee)"; // From grave to backslash: key { [ U0d4a , U0d12 ] }; key { [ U0d67 , exclam ] }; key { [ U0d68 , at ] }; key { [ U0d69 , numbersign ] }; key { [ U0d6a , dollar ] }; key { [ U0d6b , percent ] }; key { [ U0d6c , asciicircum ] }; key { [ U0d6d , ampersand ] }; key { [ U0d6e , U0d7e ] }; key { [ U0d6f , parenleft ] }; key { [ U0d66 , parenright ] }; key { [ minus , U0d03 ] }; key { [ U0d43 , U0d0b ] }; key { [ U0d7c , backslash ] }; // chillu RR // From Q to right bracket: key { [ U0d57 , U0d14 ] }; key { [ U0d48 , U0d10 ] }; key { [ U0d3e , U0d06 ] }; key { [ U0d40 , U0d08 ] }; key { [ U0d42 , U0d0a ] }; key { [ U0d2c , U0d2d ] }; key { [ U0d39 , U0d19 ] }; key { [ U0d17 , U0d18 ] }; key { [ U0d26 , U0d27 ] }; key { [ U0d1c , U0d1d ] }; key { [ U0d21 , U0d22 ] }; key { [ U200d , U0d1e ] }; // From A to apostrophe: key { [ U0d4b , U0d13 ] }; key { [ U0d47 , U0d0f ] }; key { [ U0d4d , U0d05 ] }; key { [ U0d3f , U0d07 ] }; key { [ U0d41 , U0d09 ] }; key { [ U0d2a , U0d2b ] }; key { [ U0d30 , U0d31 ] }; key { [ U0d15 , U0d16 ] }; key { [ U0d24 , U0d25 ] }; key { [ U0d1a , U0d1b ] }; key { [ U0d1f , U0d20 ] }; // From Z to slash: key { [ U0d46 , U0d0e ] }; key { [ U0d02 , U0d7a ] }; key { [ U0d2e , U0d23 ] }; key { [ U0d28 , U0d7b ] }; key { [ U0d35 , U0d34 ] }; key { [ U0d32 , U0d33 ] }; key { [ U0d38 , U0d36 ] }; key { [ comma , U0d37 ] }; key { [ period, U0d7d ] }; //chillu l key { [ U0d2f , question ] }; include "rupeesign(4)" include "level3(ralt_switch)" }; // Description : Poorna Extended INSCRIPT keymap for Malayalam // Encoding : Unicode (http://www.unicode.org) // Author : Mujeeb Rahman K , Swathanthra Malayalam Computing (SMC) // Date : October, 2022 // Source : http://www.nongnu.org/smc/docs/images/ml_inscript_layout.jpg // Comment : Based on the InScript Keyboard created by M Baiju partial alphanumeric_keys xkb_symbols "mal_poorna" { name[Group1] = "Malayalam (Poorna, extended InScript)"; // From grave to backslash: key {[ U0D4A, U0D12, U0060, U007E ]}; key {[ U0031, U0021, U0D70, U0D67 ]}; key {[ U0032, U0040, U0D71, U0D68 ]}; key {[ U0033, U0023, U0D72, U0D69 ]}; key {[ U0034, U0024, U20B9, U0D6A ]}; key {[ U0035, U0025, U0D73, U0D6B ]}; key {[ U0036, U005E, U0D74, U0D6C ]}; key {[ U0037, U0026, U0D75, U0D6D ]}; key {[ U0038, U0D7E, U002A, U0D6E ]}; key {[ U0039, U0028, U007B, U0D6F ]}; key {[ U0030, U0029, U007D, U0D66 ]}; key {[ U002D, U0D03, U005F, none ]}; key {[ U0D43, U0D0B, U0D44, U0D60 ]}; // From Q to right bracket: key {[ U0D57, U0D14, U0D4C, U0D5E ]}; key {[ U0D48, U0D10, none, U0D77 ]}; key {[ U0D3E, U0D06, U0D5F, U0D5C ]}; key {[ U0D40, U0D08, U0D63, U0D61 ]}; key {[ U0D42, U0D0A, none, U0D76 ]}; key {[ U0D2C, U0D2D, none, U0D5B ]}; key {[ U0D39, U0D19, none, U0D59 ]}; key {[ U0D17, U0D18, none, U0D58 ]}; key {[ U0D26, U0D27, none, U0D78 ]}; key {[ U0D1C, U0D1D, none, U0D5D ]}; key {[ U0D21, U0D22, U005B, U0D5A ]}; key {[ U200D, U0D1E, U005D, U002B ]}; key {[ U200C, U0D7C, U005C, U007C ]}; // From A to apostrophe: key {[ U0D4B, U0D13, none, none ]}; key {[ U0D47, U0D0F, U0D3B, U0D3C ]}; key {[ U0D4D, U0D05, U0D3D, U0D01 ]}; key {[ U0D3F, U0D07, U0D62, U0D0C ]}; key {[ U0D41, U0D09, none, none ]}; key {[ U0D2A, U0D2B, U0D4F, none ]}; key {[ U0D30, U0D31, U0D4E, U0D3A ]}; key {[ U0D15, U0D16, none, U0D7F ]}; key {[ U0D24, U0D25, none, none ]}; key {[ U0D1A, U0D1B, U003B, U003A ]}; key {[ U0D1F, U0D20, U0027, U0022 ]}; // From Z to slash: key {[ U0D46, U0D0E, none, none ]}; key {[ U0D02, U0D7A, U0D00, U0D04 ]}; key {[ U0D2E, U0D23, none, U0D54 ]}; key {[ U0D28, U0D7B, U0D79, U0D29 ]}; key {[ U0D35, U0D34, none, U0D56 ]}; key {[ U0D32, U0D33, none, none ]}; key {[ U0D38, U0D36, none, none ]}; key {[ U002C, U0D37, U003C, none ]}; key {[ U002E, U0D7D, U003E, none ]}; key {[ U0D2F, U003F, U002F, U0D55 ]}; include "level3(ralt_switch)" }; // ---- BEGIN Hindi KaGaPa phonetic ---- // Name: KaGaPa phonetic // Brief: Devanagari layout (Hindi, Sanskrit, Nepali, Marathi, etc.) // Diagram: (Original)[https://baraha.com/help/Keyboards/dev-brhkbd.htm] // (This layout)[http://bdsatish.in/lang/dev-kagapa.png] // // Description: Based on KaGaPa layout (also called Baraha layout or Nudi layout) // which is a modified layout of the specification by Dr. K. P. Rao. // This is a phonetic layout with the following features: // [1] All letters are mapped to phonetically-similar English keys // as much as possible. // [2] The independent vowel (svara) and its dependent vowel (maatra) // use the same key (depending upon SHIFT, ALTGR or ALTGR + SHIFT). // [3] Consonant conjuncts are produced by explicitly invoking the // 'viraama' (key f). The 'short a' maatra is implicit in all // consonants. // [4] Zero width non-joiner and joiner are on keys 6 and 7 // respectively. These are absolutely essential for alternative // glyph renderings of consonant half-forms. // [5] Rigvedic accent marks, visarga variants. // // Author: Satish BD // partial alphanumeric_keys xkb_symbols "hin-kagapa" { name[Group1] = "Hindi (KaGaPa, phonetic)"; key.type[group1]="FOUR_LEVEL"; key { [ grave, asciitilde, U201C ] }; // U201C: left double quotation mark key { [ 1, exclam, U0967 ] }; key { [ 2, at, U0968, U20A8 ] }; // U20A8: generic rupee sign (Rs) key { [ 3, numbersign, U0969 ] }; key { [ 4, dollar, U096A, U20B9 ] }; // U20B9: new Indian rupee sign key { [ 5, percent, U096B ] }; key { [ 6, asciicircum, U096C, U200C ] }; // ZWNJ key { [ 7, ampersand, U096D, U200D ] }; // ZWJ key { [ 8, asterisk, U096E, U0901 ] }; // U0901: Devanagari candrabindu key { [ 9, parenleft, U096F ] }; key { [ 0, parenright, U0966, U0970 ] }; // U0970: Devanagari abbreviation sign key { [ minus, underscore, U0952 ] }; // U0952: Devanagari stress sign anudatta key { [ equal, plus ] }; key { [ backslash, bar, U0964, U0965 ] }; // backslash, pipe, danda, double danda key { [ U091F, U0920 ] }; // Q: retroflex Ta, Tha key { [ U0921, U0922, U095C, U095D ] }; // W: retroflex Da, Dha, Da-nukta, Dha-nukta key { [ U0946, U0947, U090E, U090F ] }; // E: matras, short E, long E key { [ U0930, U0943, U090B, U0931 ] }; // R: ra, vocalic R matra, vocalic R, ra-nukta key { [ U0924, U0925 ] }; // T: dental ta, tha key { [ U092F, U0948, U0910, U095F ] }; // Y: ya, ai matra, ai, ya-nukta key { [ U0941, U0942, U0909, U090A ] }; // U: matras, u, uu key { [ U093F, U0940, U0907, U0908 ] }; // I: matras, i, ii key { [ U094A, U094B, U0912, U0913 ] }; // O: matras, short o, long o key { [ U092A, U092B, U095E ] }; // P: pa, pha, pha-nukta key { [ bracketleft, braceleft ] }; key { [ bracketright, braceright ] }; key { [ U093E, U0906, U0905, U0972 ] }; // A: aa matra, aa, short a, candra a key { [ U0938, U0936 ] }; // S: sa, sha key { [ U0926, U0927 ] }; // D: dental da, dha key { [ U094D, U0944, U0960 ] }; // F: virama, vocalic RR matra, vocalic RR key { [ U0917, U0918, U095A ] }; // G: ga, gha, ga-nukta key { [ U0939, U0903, U1CF5, U1CF6 ] }; // H: ha, visarga, jihvamuliya, upadhmaniya key { [ U091C, U091D, U095B ] }; // J: ja, jha, ja-nukta key { [ U0915, U0916, U0958, U0959 ] }; // K: ka, kha, ka-nukta, kha-nukta key { [ U0932, U0933, U0962, U090C ] }; // L: la, lla, vocalic L matra, vocalic L key { [ semicolon, colon, U1CF2, U1CF3 ] }; // U1CF2/3: ardhavisarga/rotated ardhavisarga key { [ apostrophe, quotedbl, U0951, U201D ] }; // U0951: Devanagari stress sign udatta // U201D: Right double quotation mark key { [ U091E, U0919 ] }; // Z: nya, nga key { [ U0937, U093C, U0934 ] }; // X: ssa, nukta below, lla-nukta key { [ U091A, U091B ] }; // C: ca, cha key { [ U0935, U094C, U0914 ] }; // V: va, matra au, au key { [ U092C, U092D ] }; // B: ba, bha key { [ U0928, U0923, U0929 ] }; // N: na, nna, nnna key { [ U092E, U0902, U093D, U0950 ] }; // M: ma, anusvara, avagraha, Devanagari OM key { [ comma, less, U0945, U090D ] }; // ,: matra, candra e key { [ period, greater,U0949, U0911 ] }; // .: matra, candra o key { [ slash, question ] }; include "level3(ralt_switch)" }; // ---- END Hindi KaGaPa ---- // Sanskrit uses Devanagari layout of Hindi partial alphanumeric_keys xkb_symbols "san-kagapa" { include "in(hin-kagapa)" name[Group1] = "Sanskrit (KaGaPa, phonetic)"; }; // Marathi uses Devanagari layout of Hindi partial alphanumeric_keys xkb_symbols "mar-kagapa" { include "in(hin-kagapa)" name[Group1] = "Marathi (KaGaPa, phonetic)"; }; // ---- BEGIN Kannada KaGaPa phonetic ---- // Name: Kannada KaGaPa phonetic // Diagram: (Original)[https://baraha.com/help/Keyboards/kan-brhkbd.htm] // (This layout)[http://bdsatish.in/lang/kan-kagapa.png] // // Description: Based on KaGaPa layout (also called Baraha layout or Nudi layout). // See the description to "hin-kagapa" above. // Certain punctuation characters from Devanagari block are // retained for compatibility. // // Author: Satish BD // partial alphanumeric_keys xkb_symbols "kan-kagapa" { name[Group1] = "Kannada (KaGaPa, phonetic)"; key.type[group1]="FOUR_LEVEL"; key { [ grave, asciitilde, U201C ] }; // U201C: left double quotation mark key { [ 1, exclam, U0CE7 ] }; key { [ 2, at, U0CE8, U20A8 ] }; // U20A8: generic rupee sign (Rs) key { [ 3, numbersign, U0CE9 ] }; key { [ 4, dollar, U0CEA, U20B9 ] }; // U20B9: new Indian rupee sign key { [ 5, percent, U0CEB ] }; key { [ 6, asciicircum, U0CEC, U200C ] }; // ZWNJ key { [ 7, ampersand, U0CED, U200D ] }; // ZWJ key { [ 8, asterisk, U0CEE, U0901 ] }; // U0901: Devanagari candrabindu key { [ 9, parenleft, U0CEF ] }; key { [ 0, parenright, U0CE6 ] }; key { [ minus, underscore, U0952 ] }; // U0952: Devanagari stress sign anudatta key { [ equal, plus ] }; key { [ backslash, bar, U0964, U0965 ] }; // backslash, pipe, danda, double danda key { [ U0C9F, U0CA0 ] }; // Q: retroflex Ta, Tha key { [ U0CA1, U0CA2 ] }; // W: retroflex Da, Dha key { [ U0CC6, U0CC7, U0C8E, U0C8F ] }; // E: matras, short E, long E key { [ U0CB0, U0CC3, U0C8B, U0CB1 ] }; // R: ra, vocalic R matra, vocalic R, RRA key { [ U0CA4, U0CA5 ] }; // T: dental ta, tha key { [ U0CAF, U0CC8, U0C90 ] }; // Y: ya, ai matra, ai key { [ U0CC1, U0CC2, U0C89, U0C8A ] }; // U: matras, u, uu key { [ U0CBF, U0CC0, U0C87, U0C88 ] }; // I: matras, i, ii key { [ U0CCA, U0CCB, U0C92, U0C93 ] }; // O: matras, short o, long o key { [ U0CAA, U0CAB ] }; // P: pa, pha key { [ bracketleft, braceleft ] }; key { [ bracketright, braceright ] }; key { [ U0CBE, U0C86, U0C85 ] }; // A: aa matra, aa, short a key { [ U0CB8, U0CB6 ] }; // S: sa, sha key { [ U0CA6, U0CA7 ] }; // D: dental da, dha key { [ U0CCD, U0CC4, U0CE0 ] }; // F: virama, vocalic RR matra, vocalic RR key { [ U0C97, U0C98 ] }; // G: ga, gha key { [ U0CB9, U0C83, U0CF1, U0CF2 ] }; // H: ha, visarga, jihvanuliya, upadhmaniya key { [ U0C9C, U0C9D ] }; // J: ja, jha key { [ U0C95, U0C96 ] }; // K: ka, kha key { [ U0CB2, U0CB3, U0CE2, U0C8C ] }; // L: la, lla, vocalic L matra, vocalic L key { [ semicolon, colon ] }; key { [ apostrophe, quotedbl, U0951, U201D ] }; // U0951: Devanagari stress sign udatta // U201D: Right double quotation mark key { [ U0C9E, U0C99 ] }; // Z: nya, nga key { [ U0CB7, U0CBC, U0CDE ] }; // X: ssa, nukta below, LLLA key { [ U0C9A, U0C9B ] }; // C: ca, cha key { [ U0CB5, U0CCC, U0C94 ] }; // V: va, matra au, au key { [ U0CAC, U0CAD ] }; // B: ba, bha key { [ U0CA8, U0CA3 ] }; // N: na, nna key { [ U0CAE, U0C82, U0CBD, U0950 ] }; // M: ma, anusvara, avagraha, Devanagari OM key { [ comma, less, U0CB1 ] }; // ,: RRA key { [ period, greater,U0CDE ] }; // .: LLLA key { [ slash, question ] }; include "level3(ralt_switch)" }; // ---- END Kannada KaGaPa ---- // ---- BEGIN Telugu KaGaPa phonetic ---- // Name: Telugu KaGaPa phonetic // Diagram: (Original)[https://baraha.com/help/Keyboards/tel-brhkbd.htm] // (This layout)[http://bdsatish.in/lang/tel-kagapa.png] // // Description: Based on KaGaPa layout (also called Baraha layout or Nudi layout). // See the description to "hin-kagapa" above. // Certain punctuation characters from Devanagari block are // retained for compatibility. // // Author: Satish BD // partial alphanumeric_keys xkb_symbols "tel-kagapa" { name[Group1] = "Telugu (KaGaPa, phonetic)"; key.type[group1]="FOUR_LEVEL"; key { [ grave, asciitilde, U201C ] }; // U201C: left double quotation mark key { [ 1, exclam, U0C67 ] }; key { [ 2, at, U0C68, U20A8 ] }; // U20A8: generic rupee sign (Rs) key { [ 3, numbersign, U0C69 ] }; key { [ 4, dollar, U0C6A, U20B9 ] }; // U20B9: new Indian rupee sign key { [ 5, percent, U0C6B ] }; key { [ 6, asciicircum, U0C6C, U200C ] }; // ZWNJ key { [ 7, ampersand, U0C6D, U200D ] }; // ZWJ key { [ 8, asterisk, U0C6E, U0C01 ] }; // U0C01: Telugu arasunna key { [ 9, parenleft, U0C6F ] }; key { [ 0, parenright, U0C66 ] }; key { [ minus, underscore, U0952 ] }; // U0952: Devanagari stress sign anudatta key { [ equal, plus ] }; key { [ backslash, bar, U0964, U0965 ] }; // backslash, pipe, danda, double danda key { [ U0C1F, U0C20 ] }; // Q: retroflex Ta, Tha key { [ U0C21, U0C22 ] }; // W: retroflex Da, Dha key { [ U0C46, U0C47, U0C0E, U0C0F ] }; // E: matras, short E, long E key { [ U0C30, U0C43, U0C0B, U0C31 ] }; // R: ra, vocalic R matra, vocalic R, RRA key { [ U0C24, U0C25 ] }; // T: dental ta, tha key { [ U0C2F, U0C48, U0C10 ] }; // Y: ya, ai matra, ai key { [ U0C41, U0C42, U0C09, U0C0A ] }; // U: matras, u, uu key { [ U0C3F, U0C40, U0C07, U0C08 ] }; // I: matras, i, ii key { [ U0C4A, U0C4B, U0C12, U0C13 ] }; // O: matras, short o, long o key { [ U0C2A, U0C2B ] }; // P: pa, pha key { [ bracketleft, braceleft ] }; key { [ bracketright, braceright ] }; key { [ U0C3E, U0C06, U0C05 ] }; // A: aa matra, aa, short a key { [ U0C38, U0C36 ] }; // S: sa, sha key { [ U0C26, U0C27 ] }; // D: dental da, dha key { [ U0C4D, U0C44, U0C60 ] }; // F: virama, vocalic RR matra, vocalic RR key { [ U0C17, U0C18 ] }; // G: ga, gha key { [ U0C39, U0C03 ] }; // H: ha, visarga key { [ U0C1C, U0C1D ] }; // J: ja, jha key { [ U0C15, U0C16 ] }; // K: ka, kha key { [ U0C32, U0C33, U0C62, U0C0C ] }; // L: la, lla, vocalic L matra, vocalic L key { [ semicolon, colon ] }; key { [ apostrophe, quotedbl, U0951, U201D ] }; // U0951: Devanagari stress sign udatta // U201D: Right double quotation mark key { [ U0C1E, U0C19 ] }; // Z: nya, nga key { [ U0C37 ] }; // X: ssa key { [ U0C1A, U0C1B ] }; // C: ca, cha key { [ U0C35, U0C4C, U0C14 ] }; // V: va, matra au, au key { [ U0C2C, U0C2D ] }; // B: ba, bha key { [ U0C28, U0C23 ] }; // N: na, nna key { [ U0C2E, U0C02, U0C3D, U0950 ] }; // M: ma, anusvara, avagraha, Devanagari OM key { [ comma, less, U0C58 ] }; // ,: comma, less than, TSA key { [ period, greater,U0C59 ] }; // .: period, greater than, DZA key { [ slash, question ] }; include "level3(ralt_switch)" }; // ---- BEGIN Gujarati KaGaPa phonetic ---- // Name: KaGaPa phonetic // Author: Sharad Gor // Diagram: (Original)[https://baraha.com/help/Keyboards/guj-brhkbd.htm] // (This layout)[https://github.com/Docbroke/Gujarati_KaGaPa/blob/main/Guj_KaGaPa_layout.jpg] partial alphanumeric_keys xkb_symbols "guj-kagapa" { name[Group1] = "Gujarati (KaGaPa, phonetic)"; key.type[group1]="FOUR_LEVEL"; // NUMBER ROW key { [ grave, asciitilde, U201C ] }; // U201C: “ left double quotation mark key { [ 1, exclam, U0AE7 ] }; key { [ 2, at, U0AE8, U0AF1 ] }; // U0AF1: Gujarati rupee sign (૱) key { [ 3, numbersign, U0AE9 ] }; key { [ 4, dollar, U0AEA, U20B9 ] }; // U20B9: new Indian rupee sign key { [ 5, percent, U0AEB ] }; key { [ 6, asciicircum, U0AEC, U200C ] }; // ZWNJ key { [ 7, ampersand, U0AED, U200D ] }; // ZWJ key { [ 8, asterisk, U0AEE, U0A81 ] }; // U0A81: canndrabindu (ઁ ) key { [ 9, parenleft, U0AEF ] }; key { [ 0, parenright, U0AE6, U0AF0 ] }; // U0AF0:(૰) abbreviation sign key { [ minus, underscore, U0952 ] }; // U0952: Devanagari stress sign anudatta(॒) key { [ equal, plus ] }; //First row key { [ U0A9F, U0AA0 ] }; // Q: retroflex Ta ટ , Tha ઠ key { [ U0AA1, U0AA2 ] }; // W: retroflex Da ડ , Dha ઢ key { [ U0AC7, U0AC8, U0A8F, U0A90 ] }; // E: oે oૈ એ ઐ key { [ U0AB0, U0AC3, U0A8B, U0AC4 ] }; // R: ર oૃ ઋ oૄ key { [ U0AA4, U0AA5, U0A9F, U0AA0 ] }; // T: ત થ ટ ઠ key { [ U0AAF ] }; // Y: ય key { [ U0AC1, U0AC2, U0A89, U0A8A ] }; // U: oુ oૂ ઉ ઊ key { [ U0ABF, U0AC0, U0A87, U0A88 ] }; // I: oિ oી ઇ ઈ key { [ U0ACB, U0ACC, U0A93, U0A94 ] }; // O: oો oૌ ઓ ઔ key { [ U0AAA, U0AAB ] }; // P: પ ફ key { [ bracketleft, braceleft ] }; key { [ bracketright, braceright ] }; key { [ backslash, bar, U0964, U0965 ] }; // backslash, pipe, danda, double danda //Second row key { [ U0ABE, U0A86, U0A85, U0A8D ] }; // A: oા આ અ ઍ key { [ U0AB8, U0AB6 ] }; // S: સ શ key { [ U0AA6, U0AA7, U0AA1, U0AA2 ] }; // D: દ ધ ડ ઢ key { [ U0ACD, U0AC4, U0AE0 ] }; // F: o્ oૄ ૠ key { [ U0A97, U0A98 ] }; // G: ગ ઘ key { [ U0AB9, U0A83 ] }; // H: હ (ઃ) key { [ U0A9C, U0A9D, U0A9E, U0AF9 ] }; // J: જ ઝ ઞ ૹ key { [ U0A95, U0A96 ] }; // K: ક ખ key { [ U0AB2, U0AB3, U0AE1, U0AE2 ] }; // L: લ ળ ૡ oૢ key { [ semicolon, colon ] }; // key { [ apostrophe, quotedbl, U0951, U201D ] }; // U0951: o॑ Devanagari stress sign udatta // U201D: ” Right double quotation mark key { [ U0A9E, U0A99 ] }; // Z: nya ઞ, nga ઙ key { [ U0AB7, U0ABC ] }; // X: ssa ષ, nukta below o઼ key { [ U0A9A, U0A9B ] }; // C: ચ છ key { [ U0AB5, U0ACC, U0A94 ] }; // V: વ oૌ ઔ key { [ U0AAC, U0AAD ] }; // B: બ ભ key { [ U0AA8, U0AA3 ] }; // N: ન ણ key { [ U0AAE, U0A82, U0ABD, U0AD0 ] }; // M: મ oં ઽ ૐ key { [ comma, less, U0AC5, U0A8D ] }; // ,: oॅ ઍ key { [ period, greater, U0AC9, U0A91 ] }; // .: oૉ, ઑ key { [ slash, question ] }; include "level3(ralt_switch)" }; // ---- END Gujarati KaGaPa ---- // Layout for the Manipuri language (using "Meetei Mayek", the Meitei script). // Originally by: Santosh Heigrujam , 2013. partial alphanumeric_keys modifier_keys xkb_symbols "mni" { name[Group1]= "Manipuri (Meitei)"; key { [ grave, asciitilde ] }; key { [ Uabf1, exclam ] }; key { [ Uabf2, at ] }; key { [ Uabf3, numbersign ] }; key { [ Uabf4, dollar ] }; key { [ Uabf5, percent ] }; key { [ Uabf6, asciicircum ] }; key { [ Uabf7, ampersand ] }; key { [ Uabf8, asterisk ] }; key { [ Uabf9, parenleft ] }; key { [ Uabf0, parenright ] }; key { [ minus, underscore ] }; key { [ equal, plus ] }; key { [ Uabc8, Uabd8 ] }; key { [ Uabcb, Uabcb ] }; key { [ Uabcf, Uabe2 ] }; key { [ Uabd4, Uabd4 ] }; key { [ Uabc7, Uabe0 ] }; key { [ Uabcc, Uabe6 ] }; key { [ Uabce, Uabe8 ] }; key { [ Uabe4, Uabe9 ] }; key { [ Uabe3, Uabe7 ] }; key { [ Uabc4, Uabde ] }; key { [ bracketleft, braceleft ] }; key { [ bracketright, braceright ] }; key { [ Uabd1, Uabe5 ] }; key { [ Uabc1, Uabd3 ] }; key { [ Uabd7, Uabd9 ] }; key { [ Uabd0, Uabda ] }; key { [ Uabd2, Uabd8 ] }; key { [ Uabcd, Uabea ] }; key { [ Uabd6, Uabd3 ] }; key { [ Uabc0, Uabdb ] }; key { [ Uabc2, Uabdc ] }; key { [ semicolon, colon ] }; key { [ apostrophe, quotedbl ] }; key { [ Uabc9, Uabe1 ] }; key { [ Uabca, Uabd9 ] }; key { [ Uabc6, Uabeb ] }; key { [ Uabda, Uabed ] }; key { [ Uabd5, Uabec ] }; key { [ Uabc5, Uabdf ] }; key { [ Uabc3, Uabdd ] }; key { [ comma, less ] }; key { [ period, greater ] }; key { [ slash, question ] }; key { [ backslash, bar ] }; }; // This layout is developed by Niranjan Tambe in July 2019 // for typing Indic languages in International Phonetic Alphabet (IPA). // Contact - niranjanvikastambe@gmail.com partial alphanumeric_keys modifier_keys xkb_symbols "iipa" { name[Group1]= "Indic IPA"; key {[ grave, asciitilde ]}; key {[ 1, exclam ]}; key {[ 2, at ]}; key {[ 3, numbersign ]}; key {[ 4, U20B9 ]}; // Rupee key {[ 5, percent ]}; key {[ 6, asciicircum ]}; key {[ 7, ampersand ]}; key {[ 8, asterisk ]}; key {[ 9, parenleft ]}; key {[ 0, parenright ]}; key {[ minus, underscore ]}; key {[ equal, plus ]}; key {[ U02B0, U02B1 ]}; // [ʰ], [ʱ] key {[ U00E6, q ]}; // [æ], [q] found in Urdu key {[ a, U028B ]}; // [a], [ʋ] key {[ i, U026A ]}; // [i], [ɪ] key {[ u, U026F ]}; // [u], [ɯ] found in Tamil key {[ b, Y ]}; // [b] key {[ h, U014B ]}; // [h], [ŋ] key {[ g, U0263 ]}; // [g], [ɣ] found in Urdu key {[ d, U00F0 ]}; // [d], [ð] found in Malayalam key {[ U02A4, U02A3 ]}; // [ʤ], [ʣ] found in Marathi key {[ U0256, U027D ]}; // [ɖ], [ɽ] key {[ bracketleft, bracketright ]}; // "[", "]" for denoting phonetic symbols key {[ o, U0254 ]}; // [o], [ɔ] found in Bangla key {[ e, U025B ]}; // [e], [ɛ] key {[ schwa, U0361 ]}; // [ə], [ ͡ ] key {[ i, U026A ]}; // [i], [ɪ] key {[ u, U026F ]}; // [u], [ɯ] key {[ p, f ]}; // [p], [f] key {[ U027E, r ]}; // [ɾ], [r] key {[ k, x ]}; // [k], [x] found in Urdu key {[ t, U03B8 ]}; // [t], [θ] key {[ U02A7, U02A6 ]}; // [ʧ], [ʦ] found in Marathi key {[ U0288, quotedbl ]}; // [ʈ] key {[ backslash, bar ]}; key {[ U032A, U0303 ]}; // [ ̪], [ ̃] Dental mark, nasalisation mark key {[ U0306, X ]}; // [ ̆] Short sound key {[ m, U0273 ]}; // [m], [ɳ] key {[ n, v ]}; // [n], [v] key {[ w, z ]}; // [w], [z] key {[ l, U026D ]}; // [l], [ɭ] key {[ s, U0283 ]}; // [s], [ʃ] key {[ comma, U0282 ]}; // [ʂ] key {[ period, U02D0 ]}; // [ː] Long sound key {[ j, slash ]}; // [j] }; // This layout is developed by Niranjan Tambe in July 2019 // for typing Marathi language with some necessary symbols. // Contact - niranjanvikastambe@gmail.com xkb_symbols "marathi" { name[Group1]="Marathi (enhanced InScript)"; key { [ U0962, U090C, grave, asciitilde ] }; // Added ॢ & ऌ key { [ U0967, exclam, 1, exclam ] }; // Added exclamation mark key { [ U0968, U0945, 2, at ] }; // Added ॅ key { [ U0969, U093D, 3, numbersign ] }; // Added ऽ key { [ U096a, U20B9, 4 ] }; // Added ₹ key { [ U096b, percent, 5, percent ] }; key { [ U096c, asciicircum, 6, asciicircum ] }; key { [ U096d, U0970, 7, ampersand ] }; // Added ॰ key { [ U096e, U0950, 8, asterisk ] }; key { [ U096f, parenleft, 9, parenleft ] }; key { [ U0966, parenright, 0, parenright ] }; key { [ minus, U0903, minus, underscore ] }; key { [ U0943, U090b, U0944, U0960 ] }; key { [ U094c, U0914 ] }; key { [ U0948, U0910 ] }; key { [ U093e, U0906 ] }; key { [ U0940, U0908, U0963, U0961 ] }; key { [ U0942, U090a ] }; key { [ U092c, U092d ] }; key { [ U0939, U0919 ] }; key { [ U0917, U0918, U095a ] }; key { [ U0926, U0927 ] }; key { [ U091c, U091d, U095b ] }; key { [ U0921, U0922, U095c, U095d ] }; key { [ U093c, U091e ] }; key { [ U0949, U0911, backslash, bar ] }; key { [ U094b, U0913 ] }; key { [ U0947, U090f ] }; key { [ U094d, U0905 ] }; key { [ U093f, U0907, U0962, U090c ] }; key { [ U0941, U0909 ] }; key { [ U092a, U092b, NoSymbol, U095e ] }; key { [ U0930, U0931 ] }; key { [ U0915, U0916, U0958, U0959 ] }; key { [ U0924, U0925 ] }; key { [ U091a, U091b, U0952 ] }; key { [ U091f, U0920, NoSymbol, U0951 ] }; key { [ apostrophe, U0972, U0953 ] }; // Added apostrophe & ॲ key { [ U0902, U0901, NoSymbol, U0950 ] }; key { [ U092e, U0923, U0954 ] }; key { [ U0928, quotedbl ] }; // Added " key { [ U0935, UA8FB ] }; // Added headstroke key { [ U0932, U0933 ] }; key { [ U0938, U0936 ] }; key { [ comma, U0937, U0970 ] }; key { [ period, U0964, U0965, U093d ] }; key { [ U092f, question, slash, question ] }; }; // EXTRAS: // Vedic and Miscellaneous symbols // This layout covers the 'Extended Devanagari' and 'Vedic Extensions' Unicode blocks. // This is helpful for including all the required symbols when typing complex texts // such as those from Samaveda and Yajurveda. // This layout only includes signs and symbols. Text needs to be typed seperately. // Created by : Abhishek Deshpande // Date : 27th October, 2020 partial alphanumeric_keys xkb_symbols "san-misc" { name[Group1] = "Sanskrit symbols"; key.type[group1]="FOUR_LEVEL"; // Digits row key { [ U1CD0, UA8FA ] }; key { [ UA8E1, U1CD1 ] }; key { [ UA8E2, UA8F2 ] }; key { [ UA8E3, UA8F3 ] }; key { [ UA8E4, UA8F4 ] }; key { [ UA8E5, UA8F5 ] }; key { [ UA8E6, UA8F6 ] }; key { [ UA8E7, UA8F7 ] }; key { [ UA8E8, UA8F8 ] }; key { [ UA8E9, UA8F9 ] }; key { [ UA8E0, UA8FC ] }; key { [ UA8FB, U1CD2 ] }; key { [ U1CF2, U1CF3 ] }; key { [ U1CF8, U1CF9 ] }; // Q row key { [ U1CD4, U1CD5 ] }; key { [ U1CD6, U1CD7 ] }; key { [ U1CD8, U1CD9 ] }; key { [ UA8EF ] }; key { [ U1CDA, U1CDB ] }; key { [ UA8FE, UA8FF ] }; key { [ UA8EB ] }; key { [ U1CDC, U1CDD ] }; key { [ U1CDE, U1CDF ] }; key { [ UA8EE ] }; key { [ U1CE0 ] }; key { [ U1CE1 ] }; // A row key { [ UA8EA ] }; key { [ UA8F1 ] }; key { [ U1CE2 ] }; key { [ U1CE3, U1CE4 ] }; key { [ U1CE5, U1CE6 ] }; key { [ U1CE7, U1CE8 ] }; key { [ U1CE9, U1CEA ] }; key { [ UA8EC ] }; key { [ U1CEB, U1CEC ] }; key { [ U1CEE, U1CEF ] }; key { [ U1CF0, U1CF1 ] }; // Z row key { [ U1CED ] }; key { [ U1CF4 ] }; key { [ U1CF5 ] }; key { [ UA8F0 ] }; key { [ U1CF6 ] }; key { [ UA8ED ] }; key { [ U0950, UA8FD ] }; key { [ U1CF7, U093D ] }; key { [ U1CFA, U2638 ] }; key { [ U0FD5, U2740 ] }; include "rupeesign(4)" include "level3(ralt_switch)" }; // Modi is an ancient Indian script that is used to write texts in Marathi, Hindi and // Sanskrit. It is most commonly used to write the Marathi language in Maharashtra. // This layout is based on the Marathi KaGaPa phonetic layout, just the characters // that are not applicable in Modi are ommited. // // Created by : Abhishek Deshpande // Date : 9th February, 2020 partial alphanumeric_keys xkb_symbols "modi-kagapa" { name[Group1] = "Modi (KaGaPa, phonetic)"; key.type[group1]="FOUR_LEVEL"; key { [ grave, asciitilde, U201C ] }; // U201C: left double quotation mark key { [ 1, exclam, U11651 ] }; key { [ 2, at, U11652, U20A8 ] }; // U20A8: generic rupee sign (Rs) key { [ 3, numbersign, U11653 ] }; key { [ 4, dollar, U11654, U20B9 ] }; // U20B9: new Indian rupee sign key { [ 5, percent, U11655 ] }; key { [ 6, asciicircum, U11656, U200C ] }; // ZWNJ key { [ 7, ampersand, U11657, U200D ] }; // ZWJ key { [ 8, asterisk, U11658 ] }; key { [ 9, parenleft, U11659 ] }; key { [ 0, parenright, U11650, U11643 ] }; // U11643: Modi abbreviation sign key { [ minus, underscore ] }; key { [ equal, plus ] }; key { [ backslash, bar, U11641, U11642 ] }; // \: Modi danda, Modi double danda key { [ U11618, U11619 ] }; // Q: retroflex Modi letter Ta, Tha key { [ U1161A, U1161B ] }; // W: retroflex Modi letter Da, Dha key { [ U11639, U1160A, U1160B ] }; // E: Modi vovel sign E, Modi letter E, letter ai key { [ U11628, U11635, U11606 ] }; // R: Modi ra, Modi vowel sign vocalic R, vocalic letter R key { [ U1161D, U1161E ] }; // T: dental Modi letter ta, tha key { [ U11627, U1163A ] }; // Y: Modi letter ya, Modi vowel sign ai key { [ U11633, U11634, U11604, U11605 ] }; // U: Modi vowel sign u, uu, Modi letter u, uu key { [ U11631, U11632, U11602, U11603 ] }; // I: Modi vowel sign i, ii, Modi letter i, ii key { [ U1163B, U1160C ] }; // O: Modi vowel sign o, Modi letter o key { [ U11622, U11623 ] }; // P: Modi letter pa, pha key { [ bracketleft, braceleft ] }; key { [ bracketright, braceright ] }; key { [ U11630, U11601, U11600 ] }; // A: Modi vowel sign aa, Modi letter aa, Modi letter a key { [ U1162D, U1162B ] }; // S: Modi letter sa, sha key { [ U1161F, U11620 ] }; // D: dental Modi letter da, dha key { [ U1163F, U11636, U11607 ] }; // F: Modi sign virama, Modi vowel sign vocalic RR, letter vocalic RR key { [ U11610, U11611 ] }; // G: Modi letter ga, gha key { [ U1162E, U1163E ] }; // H: Modi letter ha, Modi visarga key { [ U11615, U11616 ] }; // J: Modi letter ja, jha key { [ U1160E, U1160F ] }; // K: Modi letter ka, kha key { [ U11629, U1162F, U11637, U11608 ] }; // L: Modi letter la, lla, Modi vowel sign vocalic L, letter vocalic L key { [ semicolon, colon ] }; key { [ apostrophe, quotedbl ] }; key { [ U11617, U11612 ] }; // Z: Modi letter nya, nga key { [ U1162C, U11609, U11638 ] }; // X: Modi letter ssa, Modi letter vocalic ll, Modi vowel sign vocalic ll key { [ U11613, U11614 ] }; // C: Modi letter ca, cha key { [ U1162A, U1163C, U1160D ] }; // V: Modi letter va, Modi vowel sign au, Modi letter au key { [ U11624, U11625 ] }; // B: Modi letter ba, bha key { [ U11621, U1161C ] }; // N: Modi letter na, nna key { [ 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.) key { [ comma, less, U11640, U11644 ] }; // ,: Modi chandrabindu, Modi sign huva key { [ period, greater ] }; key { [ slash, question ] }; include "level3(ralt_switch)" }; // Navees, a phonetic keyboard layout for Urdu // https://saadatm.github.io/navees partial alphanumeric_keys xkb_symbols "urd-navees" { include "pk(urd-navees)" name[Group1]= "Urdu (Navees)"; };