in 103 KB

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