You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

layout.xkb 66KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041
  1. xkb_keymap {
  2. xkb_keycodes "evdev+aliases(qwerty)" {
  3. minimum = 8;
  4. maximum = 255;
  5. <ESC> = 9;
  6. <AE01> = 10;
  7. <AE02> = 11;
  8. <AE03> = 12;
  9. <AE04> = 13;
  10. <AE05> = 14;
  11. <AE06> = 15;
  12. <AE07> = 16;
  13. <AE08> = 17;
  14. <AE09> = 18;
  15. <AE10> = 19;
  16. <AE11> = 20;
  17. <AE12> = 21;
  18. <BKSP> = 22;
  19. <TAB> = 23;
  20. <AD01> = 24;
  21. <AD02> = 25;
  22. <AD03> = 26;
  23. <AD04> = 27;
  24. <AD05> = 28;
  25. <AD06> = 29;
  26. <AD07> = 30;
  27. <AD08> = 31;
  28. <AD09> = 32;
  29. <AD10> = 33;
  30. <AD11> = 34;
  31. <AD12> = 35;
  32. <RTRN> = 36;
  33. <LCTL> = 37;
  34. <AC01> = 38;
  35. <AC02> = 39;
  36. <AC03> = 40;
  37. <AC04> = 41;
  38. <AC05> = 42;
  39. <AC06> = 43;
  40. <AC07> = 44;
  41. <AC08> = 45;
  42. <AC09> = 46;
  43. <AC10> = 47;
  44. <AC11> = 48;
  45. <TLDE> = 49;
  46. <LFSH> = 50;
  47. <BKSL> = 51;
  48. <AB01> = 52;
  49. <AB02> = 53;
  50. <AB03> = 54;
  51. <AB04> = 55;
  52. <AB05> = 56;
  53. <AB06> = 57;
  54. <AB07> = 58;
  55. <AB08> = 59;
  56. <AB09> = 60;
  57. <AB10> = 61;
  58. <RTSH> = 62;
  59. <KPMU> = 63;
  60. <LALT> = 64;
  61. <SPCE> = 65;
  62. <CAPS> = 66;
  63. <FK01> = 67;
  64. <FK02> = 68;
  65. <FK03> = 69;
  66. <FK04> = 70;
  67. <FK05> = 71;
  68. <FK06> = 72;
  69. <FK07> = 73;
  70. <FK08> = 74;
  71. <FK09> = 75;
  72. <FK10> = 76;
  73. <NMLK> = 77;
  74. <SCLK> = 78;
  75. <KP7> = 79;
  76. <KP8> = 80;
  77. <KP9> = 81;
  78. <KPSU> = 82;
  79. <KP4> = 83;
  80. <KP5> = 84;
  81. <KP6> = 85;
  82. <KPAD> = 86;
  83. <KP1> = 87;
  84. <KP2> = 88;
  85. <KP3> = 89;
  86. <KP0> = 90;
  87. <KPDL> = 91;
  88. <LVL3> = 92;
  89. <LSGT> = 94;
  90. <FK11> = 95;
  91. <FK12> = 96;
  92. <AB11> = 97;
  93. <KATA> = 98;
  94. <HIRA> = 99;
  95. <HENK> = 100;
  96. <HKTG> = 101;
  97. <MUHE> = 102;
  98. <JPCM> = 103;
  99. <KPEN> = 104;
  100. <RCTL> = 105;
  101. <KPDV> = 106;
  102. <PRSC> = 107;
  103. <RALT> = 108;
  104. <LNFD> = 109;
  105. <HOME> = 110;
  106. <UP> = 111;
  107. <PGUP> = 112;
  108. <LEFT> = 113;
  109. <RGHT> = 114;
  110. <END> = 115;
  111. <DOWN> = 116;
  112. <PGDN> = 117;
  113. <INS> = 118;
  114. <DELE> = 119;
  115. <I120> = 120;
  116. <MUTE> = 121;
  117. <VOL-> = 122;
  118. <VOL+> = 123;
  119. <POWR> = 124;
  120. <KPEQ> = 125;
  121. <I126> = 126;
  122. <PAUS> = 127;
  123. <I128> = 128;
  124. <I129> = 129;
  125. <HNGL> = 130;
  126. <HJCV> = 131;
  127. <AE13> = 132;
  128. <LWIN> = 133;
  129. <RWIN> = 134;
  130. <COMP> = 135;
  131. <STOP> = 136;
  132. <AGAI> = 137;
  133. <PROP> = 138;
  134. <UNDO> = 139;
  135. <FRNT> = 140;
  136. <COPY> = 141;
  137. <OPEN> = 142;
  138. <PAST> = 143;
  139. <FIND> = 144;
  140. <CUT> = 145;
  141. <HELP> = 146;
  142. <I147> = 147;
  143. <I148> = 148;
  144. <I149> = 149;
  145. <I150> = 150;
  146. <I151> = 151;
  147. <I152> = 152;
  148. <I153> = 153;
  149. <I154> = 154;
  150. <I155> = 155;
  151. <I156> = 156;
  152. <I157> = 157;
  153. <I158> = 158;
  154. <I159> = 159;
  155. <I160> = 160;
  156. <I161> = 161;
  157. <I162> = 162;
  158. <I163> = 163;
  159. <I164> = 164;
  160. <I165> = 165;
  161. <I166> = 166;
  162. <I167> = 167;
  163. <I168> = 168;
  164. <I169> = 169;
  165. <I170> = 170;
  166. <I171> = 171;
  167. <I172> = 172;
  168. <I173> = 173;
  169. <I174> = 174;
  170. <I175> = 175;
  171. <I176> = 176;
  172. <I177> = 177;
  173. <I178> = 178;
  174. <I179> = 179;
  175. <I180> = 180;
  176. <I181> = 181;
  177. <I182> = 182;
  178. <I183> = 183;
  179. <I184> = 184;
  180. <I185> = 185;
  181. <I186> = 186;
  182. <I187> = 187;
  183. <I188> = 188;
  184. <I189> = 189;
  185. <I190> = 190;
  186. <FK13> = 191;
  187. <FK14> = 192;
  188. <FK15> = 193;
  189. <FK16> = 194;
  190. <FK17> = 195;
  191. <FK18> = 196;
  192. <FK19> = 197;
  193. <FK20> = 198;
  194. <FK21> = 199;
  195. <FK22> = 200;
  196. <FK23> = 201;
  197. <FK24> = 202;
  198. <MDSW> = 203;
  199. <ALT> = 204;
  200. <META> = 205;
  201. <SUPR> = 206;
  202. <HYPR> = 207;
  203. <I208> = 208;
  204. <I209> = 209;
  205. <I210> = 210;
  206. <I211> = 211;
  207. <I212> = 212;
  208. <I213> = 213;
  209. <I214> = 214;
  210. <I215> = 215;
  211. <I216> = 216;
  212. <I217> = 217;
  213. <I218> = 218;
  214. <I219> = 219;
  215. <I220> = 220;
  216. <I221> = 221;
  217. <I222> = 222;
  218. <I223> = 223;
  219. <I224> = 224;
  220. <I225> = 225;
  221. <I226> = 226;
  222. <I227> = 227;
  223. <I228> = 228;
  224. <I229> = 229;
  225. <I230> = 230;
  226. <I231> = 231;
  227. <I232> = 232;
  228. <I233> = 233;
  229. <I234> = 234;
  230. <I235> = 235;
  231. <I236> = 236;
  232. <I237> = 237;
  233. <I238> = 238;
  234. <I239> = 239;
  235. <I240> = 240;
  236. <I241> = 241;
  237. <I242> = 242;
  238. <I243> = 243;
  239. <I244> = 244;
  240. <I245> = 245;
  241. <I246> = 246;
  242. <I247> = 247;
  243. <I248> = 248;
  244. <I249> = 249;
  245. <I250> = 250;
  246. <I251> = 251;
  247. <I252> = 252;
  248. <I253> = 253;
  249. <I254> = 254;
  250. <I255> = 255;
  251. indicator 1 = "Caps Lock";
  252. indicator 2 = "Num Lock";
  253. indicator 3 = "Scroll Lock";
  254. indicator 4 = "Compose";
  255. indicator 5 = "Kana";
  256. indicator 6 = "Sleep";
  257. indicator 7 = "Suspend";
  258. indicator 8 = "Mute";
  259. indicator 9 = "Misc";
  260. indicator 10 = "Mail";
  261. indicator 11 = "Charging";
  262. virtual indicator 12 = "Shift Lock";
  263. virtual indicator 13 = "Group 2";
  264. virtual indicator 14 = "Mouse Keys";
  265. alias <AC12> = <BKSL>;
  266. alias <MENU> = <COMP>;
  267. alias <HZTG> = <TLDE>;
  268. alias <LMTA> = <LWIN>;
  269. alias <RMTA> = <RWIN>;
  270. alias <ALGR> = <RALT>;
  271. alias <KPPT> = <I129>;
  272. alias <LatQ> = <AD01>;
  273. alias <LatW> = <AD02>;
  274. alias <LatE> = <AD03>;
  275. alias <LatR> = <AD04>;
  276. alias <LatT> = <AD05>;
  277. alias <LatY> = <AD06>;
  278. alias <LatU> = <AD07>;
  279. alias <LatI> = <AD08>;
  280. alias <LatO> = <AD09>;
  281. alias <LatP> = <AD10>;
  282. alias <LatA> = <AC01>;
  283. alias <LatS> = <AC02>;
  284. alias <LatD> = <AC03>;
  285. alias <LatF> = <AC04>;
  286. alias <LatG> = <AC05>;
  287. alias <LatH> = <AC06>;
  288. alias <LatJ> = <AC07>;
  289. alias <LatK> = <AC08>;
  290. alias <LatL> = <AC09>;
  291. alias <LatZ> = <AB01>;
  292. alias <LatX> = <AB02>;
  293. alias <LatC> = <AB03>;
  294. alias <LatV> = <AB04>;
  295. alias <LatB> = <AB05>;
  296. alias <LatN> = <AB06>;
  297. alias <LatM> = <AB07>;
  298. };
  299. xkb_types "complete" {
  300. virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
  301. type "ONE_LEVEL" {
  302. modifiers= none;
  303. level_name[Level1]= "Any";
  304. };
  305. type "TWO_LEVEL" {
  306. modifiers= Shift;
  307. map[Shift]= Level2;
  308. level_name[Level1]= "Base";
  309. level_name[Level2]= "Shift";
  310. };
  311. type "ALPHABETIC" {
  312. modifiers= Shift+Lock;
  313. map[Shift]= Level2;
  314. map[Lock]= Level2;
  315. level_name[Level1]= "Base";
  316. level_name[Level2]= "Caps";
  317. };
  318. type "KEYPAD" {
  319. modifiers= Shift+NumLock;
  320. map[Shift]= Level2;
  321. map[NumLock]= Level2;
  322. level_name[Level1]= "Base";
  323. level_name[Level2]= "Number";
  324. };
  325. type "SHIFT+ALT" {
  326. modifiers= Shift+Alt;
  327. map[Shift+Alt]= Level2;
  328. level_name[Level1]= "Base";
  329. level_name[Level2]= "Shift+Alt";
  330. };
  331. type "PC_SUPER_LEVEL2" {
  332. modifiers= Mod4;
  333. map[Mod4]= Level2;
  334. level_name[Level1]= "Base";
  335. level_name[Level2]= "Super";
  336. };
  337. type "PC_CONTROL_LEVEL2" {
  338. modifiers= Control;
  339. map[Control]= Level2;
  340. level_name[Level1]= "Base";
  341. level_name[Level2]= "Control";
  342. };
  343. type "PC_LCONTROL_LEVEL2" {
  344. modifiers= LControl;
  345. map[LControl]= Level2;
  346. level_name[Level1]= "Base";
  347. level_name[Level2]= "LControl";
  348. };
  349. type "PC_RCONTROL_LEVEL2" {
  350. modifiers= RControl;
  351. map[RControl]= Level2;
  352. level_name[Level1]= "Base";
  353. level_name[Level2]= "RControl";
  354. };
  355. type "PC_ALT_LEVEL2" {
  356. modifiers= Alt;
  357. map[Alt]= Level2;
  358. level_name[Level1]= "Base";
  359. level_name[Level2]= "Alt";
  360. };
  361. type "PC_LALT_LEVEL2" {
  362. modifiers= LAlt;
  363. map[LAlt]= Level2;
  364. level_name[Level1]= "Base";
  365. level_name[Level2]= "LAlt";
  366. };
  367. type "PC_RALT_LEVEL2" {
  368. modifiers= RAlt;
  369. map[RAlt]= Level2;
  370. level_name[Level1]= "Base";
  371. level_name[Level2]= "RAlt";
  372. };
  373. type "CTRL+ALT" {
  374. modifiers= Shift+Control+Alt+LevelThree;
  375. map[Shift]= Level2;
  376. preserve[Shift]= Shift;
  377. map[LevelThree]= Level3;
  378. map[Shift+LevelThree]= Level4;
  379. preserve[Shift+LevelThree]= Shift;
  380. map[Control+Alt]= Level5;
  381. level_name[Level1]= "Base";
  382. level_name[Level2]= "Shift";
  383. level_name[Level3]= "Alt Base";
  384. level_name[Level4]= "Shift Alt";
  385. level_name[Level5]= "Ctrl+Alt";
  386. };
  387. type "LOCAL_EIGHT_LEVEL" {
  388. modifiers= Shift+Lock+Control+LevelThree;
  389. map[Shift+Lock]= Level1;
  390. map[Shift]= Level2;
  391. map[Lock]= Level2;
  392. map[LevelThree]= Level3;
  393. map[Shift+Lock+LevelThree]= Level3;
  394. map[Shift+LevelThree]= Level4;
  395. map[Lock+LevelThree]= Level4;
  396. map[Control]= Level5;
  397. map[Shift+Lock+Control]= Level5;
  398. map[Shift+Control]= Level6;
  399. map[Lock+Control]= Level6;
  400. map[Control+LevelThree]= Level7;
  401. map[Shift+Lock+Control+LevelThree]= Level7;
  402. map[Shift+Control+LevelThree]= Level8;
  403. map[Lock+Control+LevelThree]= Level8;
  404. level_name[Level1]= "Base";
  405. level_name[Level2]= "Shift";
  406. level_name[Level3]= "Level3";
  407. level_name[Level4]= "Shift Level3";
  408. level_name[Level5]= "Ctrl";
  409. level_name[Level6]= "Shift Ctrl";
  410. level_name[Level7]= "Level3 Ctrl";
  411. level_name[Level8]= "Shift Level3 Ctrl";
  412. };
  413. type "THREE_LEVEL" {
  414. modifiers= Shift+LevelThree;
  415. map[Shift]= Level2;
  416. map[LevelThree]= Level3;
  417. map[Shift+LevelThree]= Level3;
  418. level_name[Level1]= "Base";
  419. level_name[Level2]= "Shift";
  420. level_name[Level3]= "Level3";
  421. };
  422. type "EIGHT_LEVEL" {
  423. modifiers= Shift+LevelThree+LevelFive;
  424. map[Shift]= Level2;
  425. map[LevelThree]= Level3;
  426. map[Shift+LevelThree]= Level4;
  427. map[LevelFive]= Level5;
  428. map[Shift+LevelFive]= Level6;
  429. map[LevelThree+LevelFive]= Level7;
  430. map[Shift+LevelThree+LevelFive]= Level8;
  431. level_name[Level1]= "Base";
  432. level_name[Level2]= "Shift";
  433. level_name[Level3]= "Alt Base";
  434. level_name[Level4]= "Shift Alt";
  435. level_name[Level5]= "X";
  436. level_name[Level6]= "X Shift";
  437. level_name[Level7]= "X Alt Base";
  438. level_name[Level8]= "X Shift Alt";
  439. };
  440. type "EIGHT_LEVEL_ALPHABETIC" {
  441. modifiers= Shift+Lock+LevelThree+LevelFive;
  442. map[Shift]= Level2;
  443. map[Lock]= Level2;
  444. map[LevelThree]= Level3;
  445. map[Shift+LevelThree]= Level4;
  446. map[Lock+LevelThree]= Level4;
  447. map[Shift+Lock+LevelThree]= Level3;
  448. map[LevelFive]= Level5;
  449. map[Shift+LevelFive]= Level6;
  450. map[Lock+LevelFive]= Level6;
  451. map[LevelThree+LevelFive]= Level7;
  452. map[Shift+LevelThree+LevelFive]= Level8;
  453. map[Lock+LevelThree+LevelFive]= Level8;
  454. map[Shift+Lock+LevelThree+LevelFive]= Level7;
  455. level_name[Level1]= "Base";
  456. level_name[Level2]= "Shift";
  457. level_name[Level3]= "Alt Base";
  458. level_name[Level4]= "Shift Alt";
  459. level_name[Level5]= "X";
  460. level_name[Level6]= "X Shift";
  461. level_name[Level7]= "X Alt Base";
  462. level_name[Level8]= "X Shift Alt";
  463. };
  464. type "EIGHT_LEVEL_LEVEL_FIVE_LOCK" {
  465. modifiers= Shift+Lock+NumLock+LevelThree+LevelFive;
  466. map[Shift]= Level2;
  467. map[LevelThree]= Level3;
  468. map[Shift+LevelThree]= Level4;
  469. map[LevelFive]= Level5;
  470. map[Shift+LevelFive]= Level6;
  471. preserve[Shift+LevelFive]= Shift;
  472. map[LevelThree+LevelFive]= Level7;
  473. map[Shift+LevelThree+LevelFive]= Level8;
  474. map[NumLock]= Level5;
  475. map[Shift+NumLock]= Level6;
  476. preserve[Shift+NumLock]= Shift;
  477. map[NumLock+LevelThree]= Level7;
  478. map[Shift+NumLock+LevelThree]= Level8;
  479. map[Shift+NumLock+LevelFive]= Level2;
  480. map[NumLock+LevelThree+LevelFive]= Level3;
  481. map[Shift+NumLock+LevelThree+LevelFive]= Level4;
  482. map[Shift+Lock]= Level2;
  483. map[Lock+LevelThree]= Level3;
  484. map[Shift+Lock+LevelThree]= Level4;
  485. map[Lock+LevelFive]= Level5;
  486. map[Shift+Lock+LevelFive]= Level6;
  487. preserve[Shift+Lock+LevelFive]= Shift;
  488. map[Lock+LevelThree+LevelFive]= Level7;
  489. map[Shift+Lock+LevelThree+LevelFive]= Level8;
  490. map[Lock+NumLock]= Level5;
  491. map[Shift+Lock+NumLock]= Level6;
  492. preserve[Shift+Lock+NumLock]= Shift;
  493. map[Lock+NumLock+LevelThree]= Level7;
  494. map[Shift+Lock+NumLock+LevelThree]= Level8;
  495. map[Shift+Lock+NumLock+LevelFive]= Level2;
  496. map[Lock+NumLock+LevelThree+LevelFive]= Level3;
  497. map[Shift+Lock+NumLock+LevelThree+LevelFive]= Level4;
  498. level_name[Level1]= "Base";
  499. level_name[Level2]= "Shift";
  500. level_name[Level3]= "Alt Base";
  501. level_name[Level4]= "Shift Alt";
  502. level_name[Level5]= "X";
  503. level_name[Level6]= "X Shift";
  504. level_name[Level7]= "X Alt Base";
  505. level_name[Level8]= "X Shift Alt";
  506. };
  507. type "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK" {
  508. modifiers= Shift+Lock+NumLock+LevelThree+LevelFive;
  509. map[Shift]= Level2;
  510. map[LevelThree]= Level3;
  511. map[Shift+LevelThree]= Level4;
  512. map[LevelFive]= Level5;
  513. map[Shift+LevelFive]= Level6;
  514. preserve[Shift+LevelFive]= Shift;
  515. map[LevelThree+LevelFive]= Level7;
  516. map[Shift+LevelThree+LevelFive]= Level8;
  517. map[NumLock]= Level5;
  518. map[Shift+NumLock]= Level6;
  519. preserve[Shift+NumLock]= Shift;
  520. map[NumLock+LevelThree]= Level7;
  521. map[Shift+NumLock+LevelThree]= Level8;
  522. map[Shift+NumLock+LevelFive]= Level2;
  523. map[NumLock+LevelThree+LevelFive]= Level3;
  524. map[Shift+NumLock+LevelThree+LevelFive]= Level4;
  525. map[Lock]= Level2;
  526. map[Lock+LevelThree]= Level3;
  527. map[Shift+Lock+LevelThree]= Level4;
  528. map[Lock+LevelFive]= Level5;
  529. map[Shift+Lock+LevelFive]= Level6;
  530. map[Lock+LevelThree+LevelFive]= Level7;
  531. map[Shift+Lock+LevelThree+LevelFive]= Level8;
  532. map[Lock+NumLock]= Level5;
  533. map[Shift+Lock+NumLock]= Level6;
  534. map[Lock+NumLock+LevelThree]= Level7;
  535. map[Shift+Lock+NumLock+LevelThree]= Level8;
  536. map[Lock+NumLock+LevelFive]= Level2;
  537. map[Lock+NumLock+LevelThree+LevelFive]= Level4;
  538. map[Shift+Lock+NumLock+LevelThree+LevelFive]= Level3;
  539. level_name[Level1]= "Base";
  540. level_name[Level2]= "Shift";
  541. level_name[Level3]= "Alt Base";
  542. level_name[Level4]= "Shift Alt";
  543. level_name[Level5]= "X";
  544. level_name[Level6]= "X Shift";
  545. level_name[Level7]= "X Alt Base";
  546. level_name[Level8]= "X Shift Alt";
  547. };
  548. type "EIGHT_LEVEL_SEMIALPHABETIC" {
  549. modifiers= Shift+Lock+LevelThree+LevelFive;
  550. map[Shift]= Level2;
  551. map[Lock]= Level2;
  552. map[LevelThree]= Level3;
  553. map[Shift+LevelThree]= Level4;
  554. map[Lock+LevelThree]= Level3;
  555. preserve[Lock+LevelThree]= Lock;
  556. map[Shift+Lock+LevelThree]= Level4;
  557. preserve[Shift+Lock+LevelThree]= Lock;
  558. map[LevelFive]= Level5;
  559. map[Shift+LevelFive]= Level6;
  560. map[Lock+LevelFive]= Level6;
  561. preserve[Lock+LevelFive]= Lock;
  562. map[Shift+Lock+LevelFive]= Level6;
  563. preserve[Shift+Lock+LevelFive]= Lock;
  564. map[LevelThree+LevelFive]= Level7;
  565. map[Shift+LevelThree+LevelFive]= Level8;
  566. map[Lock+LevelThree+LevelFive]= Level7;
  567. preserve[Lock+LevelThree+LevelFive]= Lock;
  568. map[Shift+Lock+LevelThree+LevelFive]= Level8;
  569. preserve[Shift+Lock+LevelThree+LevelFive]= Lock;
  570. level_name[Level1]= "Base";
  571. level_name[Level2]= "Shift";
  572. level_name[Level3]= "Alt Base";
  573. level_name[Level4]= "Shift Alt";
  574. level_name[Level5]= "X";
  575. level_name[Level6]= "X Shift";
  576. level_name[Level7]= "X Alt Base";
  577. level_name[Level8]= "X Shift Alt";
  578. };
  579. type "FOUR_LEVEL" {
  580. modifiers= Shift+LevelThree;
  581. map[Shift]= Level2;
  582. map[LevelThree]= Level3;
  583. map[Shift+LevelThree]= Level4;
  584. level_name[Level1]= "Base";
  585. level_name[Level2]= "Shift";
  586. level_name[Level3]= "Alt Base";
  587. level_name[Level4]= "Shift Alt";
  588. };
  589. type "FOUR_LEVEL_ALPHABETIC" {
  590. modifiers= Shift+Lock+LevelThree;
  591. map[Shift]= Level2;
  592. map[Lock]= Level2;
  593. map[LevelThree]= Level3;
  594. map[Shift+LevelThree]= Level4;
  595. map[Lock+LevelThree]= Level4;
  596. map[Shift+Lock+LevelThree]= Level3;
  597. level_name[Level1]= "Base";
  598. level_name[Level2]= "Shift";
  599. level_name[Level3]= "Alt Base";
  600. level_name[Level4]= "Shift Alt";
  601. };
  602. type "FOUR_LEVEL_SEMIALPHABETIC" {
  603. modifiers= Shift+Lock+LevelThree;
  604. map[Shift]= Level2;
  605. map[Lock]= Level2;
  606. map[LevelThree]= Level3;
  607. map[Shift+LevelThree]= Level4;
  608. map[Lock+LevelThree]= Level3;
  609. preserve[Lock+LevelThree]= Lock;
  610. map[Shift+Lock+LevelThree]= Level4;
  611. preserve[Shift+Lock+LevelThree]= Lock;
  612. level_name[Level1]= "Base";
  613. level_name[Level2]= "Shift";
  614. level_name[Level3]= "Alt Base";
  615. level_name[Level4]= "Shift Alt";
  616. };
  617. type "FOUR_LEVEL_MIXED_KEYPAD" {
  618. modifiers= Shift+NumLock+LevelThree;
  619. map[Shift+NumLock]= Level1;
  620. map[NumLock]= Level2;
  621. map[Shift]= Level2;
  622. map[LevelThree]= Level3;
  623. map[NumLock+LevelThree]= Level3;
  624. map[Shift+LevelThree]= Level4;
  625. map[Shift+NumLock+LevelThree]= Level4;
  626. level_name[Level1]= "Base";
  627. level_name[Level2]= "Number";
  628. level_name[Level3]= "Alt Base";
  629. level_name[Level4]= "Shift Alt";
  630. };
  631. type "FOUR_LEVEL_X" {
  632. modifiers= Shift+Control+Alt+LevelThree;
  633. map[LevelThree]= Level2;
  634. map[Shift+LevelThree]= Level3;
  635. map[Control+Alt]= Level4;
  636. level_name[Level1]= "Base";
  637. level_name[Level2]= "Alt Base";
  638. level_name[Level3]= "Shift Alt";
  639. level_name[Level4]= "Ctrl+Alt";
  640. };
  641. type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" {
  642. modifiers= Shift+Lock+LevelThree;
  643. map[Shift]= Level2;
  644. map[Lock]= Level4;
  645. preserve[Lock]= Lock;
  646. map[LevelThree]= Level3;
  647. map[Shift+LevelThree]= Level4;
  648. map[Lock+LevelThree]= Level3;
  649. preserve[Lock+LevelThree]= Lock;
  650. map[Shift+Lock+LevelThree]= Level3;
  651. level_name[Level1]= "Base";
  652. level_name[Level2]= "Shift";
  653. level_name[Level3]= "AltGr Base";
  654. level_name[Level4]= "Shift AltGr";
  655. };
  656. type "FOUR_LEVEL_PLUS_LOCK" {
  657. modifiers= Shift+Lock+LevelThree;
  658. map[Shift]= Level2;
  659. map[LevelThree]= Level3;
  660. map[Shift+LevelThree]= Level4;
  661. map[Lock]= Level5;
  662. map[Shift+Lock]= Level2;
  663. map[Lock+LevelThree]= Level3;
  664. map[Shift+Lock+LevelThree]= Level4;
  665. level_name[Level1]= "Base";
  666. level_name[Level2]= "Shift";
  667. level_name[Level3]= "Alt Base";
  668. level_name[Level4]= "Shift Alt";
  669. level_name[Level5]= "Lock";
  670. };
  671. type "FOUR_LEVEL_KEYPAD" {
  672. modifiers= Shift+NumLock+LevelThree;
  673. map[Shift]= Level2;
  674. map[NumLock]= Level2;
  675. map[LevelThree]= Level3;
  676. map[Shift+LevelThree]= Level4;
  677. map[NumLock+LevelThree]= Level4;
  678. map[Shift+NumLock+LevelThree]= Level3;
  679. level_name[Level1]= "Base";
  680. level_name[Level2]= "Number";
  681. level_name[Level3]= "Alt Base";
  682. level_name[Level4]= "Alt Number";
  683. };
  684. };
  685. xkb_compatibility "complete+ledscroll(group_lock)" {
  686. virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
  687. interpret.useModMapMods= AnyLevel;
  688. interpret.repeat= False;
  689. interpret.locking= False;
  690. interpret ISO_Level2_Latch+Exactly(Shift) {
  691. useModMapMods=level1;
  692. action= LatchMods(modifiers=Shift,clearLocks,latchToLock);
  693. };
  694. interpret Shift_Lock+AnyOf(Shift+Lock) {
  695. action= LockMods(modifiers=Shift);
  696. };
  697. interpret Num_Lock+AnyOf(all) {
  698. virtualModifier= NumLock;
  699. action= LockMods(modifiers=NumLock);
  700. };
  701. interpret ISO_Level3_Shift+AnyOf(all) {
  702. virtualModifier= LevelThree;
  703. useModMapMods=level1;
  704. action= SetMods(modifiers=LevelThree,clearLocks);
  705. };
  706. interpret ISO_Level3_Latch+AnyOf(all) {
  707. virtualModifier= LevelThree;
  708. useModMapMods=level1;
  709. action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
  710. };
  711. interpret ISO_Level3_Lock+AnyOf(all) {
  712. virtualModifier= LevelThree;
  713. useModMapMods=level1;
  714. action= LockMods(modifiers=LevelThree);
  715. };
  716. interpret Alt_L+AnyOf(all) {
  717. virtualModifier= Alt;
  718. action= SetMods(modifiers=modMapMods,clearLocks);
  719. };
  720. interpret Alt_R+AnyOf(all) {
  721. virtualModifier= Alt;
  722. action= SetMods(modifiers=modMapMods,clearLocks);
  723. };
  724. interpret Meta_L+AnyOf(all) {
  725. virtualModifier= Meta;
  726. action= SetMods(modifiers=modMapMods,clearLocks);
  727. };
  728. interpret Meta_R+AnyOf(all) {
  729. virtualModifier= Meta;
  730. action= SetMods(modifiers=modMapMods,clearLocks);
  731. };
  732. interpret Super_L+AnyOf(all) {
  733. virtualModifier= Super;
  734. action= SetMods(modifiers=modMapMods,clearLocks);
  735. };
  736. interpret Super_R+AnyOf(all) {
  737. virtualModifier= Super;
  738. action= SetMods(modifiers=modMapMods,clearLocks);
  739. };
  740. interpret Hyper_L+AnyOf(all) {
  741. virtualModifier= Hyper;
  742. action= SetMods(modifiers=modMapMods,clearLocks);
  743. };
  744. interpret Hyper_R+AnyOf(all) {
  745. virtualModifier= Hyper;
  746. action= SetMods(modifiers=modMapMods,clearLocks);
  747. };
  748. interpret Scroll_Lock+AnyOf(all) {
  749. virtualModifier= ScrollLock;
  750. action= LockMods(modifiers=modMapMods);
  751. };
  752. interpret ISO_Level5_Shift+AnyOf(all) {
  753. virtualModifier= LevelFive;
  754. useModMapMods=level1;
  755. action= SetMods(modifiers=LevelFive,clearLocks);
  756. };
  757. interpret ISO_Level5_Latch+AnyOf(all) {
  758. virtualModifier= LevelFive;
  759. useModMapMods=level1;
  760. action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
  761. };
  762. interpret ISO_Level5_Lock+AnyOf(all) {
  763. virtualModifier= LevelFive;
  764. useModMapMods=level1;
  765. action= LockMods(modifiers=LevelFive);
  766. };
  767. interpret Mode_switch+AnyOfOrNone(all) {
  768. virtualModifier= AltGr;
  769. useModMapMods=level1;
  770. action= SetGroup(group=+1);
  771. };
  772. interpret ISO_Level3_Shift+AnyOfOrNone(all) {
  773. action= SetMods(modifiers=LevelThree,clearLocks);
  774. };
  775. interpret ISO_Level3_Latch+AnyOfOrNone(all) {
  776. action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
  777. };
  778. interpret ISO_Level3_Lock+AnyOfOrNone(all) {
  779. action= LockMods(modifiers=LevelThree);
  780. };
  781. interpret ISO_Group_Latch+AnyOfOrNone(all) {
  782. virtualModifier= AltGr;
  783. useModMapMods=level1;
  784. action= LatchGroup(group=2);
  785. };
  786. interpret ISO_Next_Group+AnyOfOrNone(all) {
  787. virtualModifier= AltGr;
  788. useModMapMods=level1;
  789. action= LockGroup(group=+1);
  790. };
  791. interpret ISO_Prev_Group+AnyOfOrNone(all) {
  792. virtualModifier= AltGr;
  793. useModMapMods=level1;
  794. action= LockGroup(group=-1);
  795. };
  796. interpret ISO_First_Group+AnyOfOrNone(all) {
  797. action= LockGroup(group=1);
  798. };
  799. interpret ISO_Last_Group+AnyOfOrNone(all) {
  800. action= LockGroup(group=2);
  801. };
  802. interpret KP_1+AnyOfOrNone(all) {
  803. repeat= True;
  804. action= MovePtr(x=-1,y=+1);
  805. };
  806. interpret KP_End+AnyOfOrNone(all) {
  807. repeat= True;
  808. action= MovePtr(x=-1,y=+1);
  809. };
  810. interpret KP_2+AnyOfOrNone(all) {
  811. repeat= True;
  812. action= MovePtr(x=+0,y=+1);
  813. };
  814. interpret KP_Down+AnyOfOrNone(all) {
  815. repeat= True;
  816. action= MovePtr(x=+0,y=+1);
  817. };
  818. interpret KP_3+AnyOfOrNone(all) {
  819. repeat= True;
  820. action= MovePtr(x=+1,y=+1);
  821. };
  822. interpret KP_Next+AnyOfOrNone(all) {
  823. repeat= True;
  824. action= MovePtr(x=+1,y=+1);
  825. };
  826. interpret KP_4+AnyOfOrNone(all) {
  827. repeat= True;
  828. action= MovePtr(x=-1,y=+0);
  829. };
  830. interpret KP_Left+AnyOfOrNone(all) {
  831. repeat= True;
  832. action= MovePtr(x=-1,y=+0);
  833. };
  834. interpret KP_6+AnyOfOrNone(all) {
  835. repeat= True;
  836. action= MovePtr(x=+1,y=+0);
  837. };
  838. interpret KP_Right+AnyOfOrNone(all) {
  839. repeat= True;
  840. action= MovePtr(x=+1,y=+0);
  841. };
  842. interpret KP_7+AnyOfOrNone(all) {
  843. repeat= True;
  844. action= MovePtr(x=-1,y=-1);
  845. };
  846. interpret KP_Home+AnyOfOrNone(all) {
  847. repeat= True;
  848. action= MovePtr(x=-1,y=-1);
  849. };
  850. interpret KP_8+AnyOfOrNone(all) {
  851. repeat= True;
  852. action= MovePtr(x=+0,y=-1);
  853. };
  854. interpret KP_Up+AnyOfOrNone(all) {
  855. repeat= True;
  856. action= MovePtr(x=+0,y=-1);
  857. };
  858. interpret KP_9+AnyOfOrNone(all) {
  859. repeat= True;
  860. action= MovePtr(x=+1,y=-1);
  861. };
  862. interpret KP_Prior+AnyOfOrNone(all) {
  863. repeat= True;
  864. action= MovePtr(x=+1,y=-1);
  865. };
  866. interpret KP_5+AnyOfOrNone(all) {
  867. repeat= True;
  868. action= PtrBtn(button=default);
  869. };
  870. interpret KP_Begin+AnyOfOrNone(all) {
  871. repeat= True;
  872. action= PtrBtn(button=default);
  873. };
  874. interpret KP_F2+AnyOfOrNone(all) {
  875. repeat= True;
  876. action= SetPtrDflt(affect=button,button=1);
  877. };
  878. interpret KP_Divide+AnyOfOrNone(all) {
  879. repeat= True;
  880. action= SetPtrDflt(affect=button,button=1);
  881. };
  882. interpret KP_F3+AnyOfOrNone(all) {
  883. repeat= True;
  884. action= SetPtrDflt(affect=button,button=2);
  885. };
  886. interpret KP_Multiply+AnyOfOrNone(all) {
  887. repeat= True;
  888. action= SetPtrDflt(affect=button,button=2);
  889. };
  890. interpret KP_F4+AnyOfOrNone(all) {
  891. repeat= True;
  892. action= SetPtrDflt(affect=button,button=3);
  893. };
  894. interpret KP_Subtract+AnyOfOrNone(all) {
  895. repeat= True;
  896. action= SetPtrDflt(affect=button,button=3);
  897. };
  898. interpret KP_Separator+AnyOfOrNone(all) {
  899. repeat= True;
  900. action= PtrBtn(button=default,count=2);
  901. };
  902. interpret KP_Add+AnyOfOrNone(all) {
  903. repeat= True;
  904. action= PtrBtn(button=default,count=2);
  905. };
  906. interpret KP_0+AnyOfOrNone(all) {
  907. repeat= True;
  908. action= LockPtrBtn(button=default,affect=lock);
  909. };
  910. interpret KP_Insert+AnyOfOrNone(all) {
  911. repeat= True;
  912. action= LockPtrBtn(button=default,affect=lock);
  913. };
  914. interpret KP_Decimal+AnyOfOrNone(all) {
  915. repeat= True;
  916. action= LockPtrBtn(button=default,affect=unlock);
  917. };
  918. interpret KP_Delete+AnyOfOrNone(all) {
  919. repeat= True;
  920. action= LockPtrBtn(button=default,affect=unlock);
  921. };
  922. interpret F25+AnyOfOrNone(all) {
  923. repeat= True;
  924. action= SetPtrDflt(affect=button,button=1);
  925. };
  926. interpret F26+AnyOfOrNone(all) {
  927. repeat= True;
  928. action= SetPtrDflt(affect=button,button=2);
  929. };
  930. interpret F27+AnyOfOrNone(all) {
  931. repeat= True;
  932. action= MovePtr(x=-1,y=-1);
  933. };
  934. interpret F29+AnyOfOrNone(all) {
  935. repeat= True;
  936. action= MovePtr(x=+1,y=-1);
  937. };
  938. interpret F31+AnyOfOrNone(all) {
  939. repeat= True;
  940. action= PtrBtn(button=default);
  941. };
  942. interpret F33+AnyOfOrNone(all) {
  943. repeat= True;
  944. action= MovePtr(x=-1,y=+1);
  945. };
  946. interpret F35+AnyOfOrNone(all) {
  947. repeat= True;
  948. action= MovePtr(x=+1,y=+1);
  949. };
  950. interpret Pointer_Button_Dflt+AnyOfOrNone(all) {
  951. action= PtrBtn(button=default);
  952. };
  953. interpret Pointer_Button1+AnyOfOrNone(all) {
  954. action= PtrBtn(button=1);
  955. };
  956. interpret Pointer_Button2+AnyOfOrNone(all) {
  957. action= PtrBtn(button=2);
  958. };
  959. interpret Pointer_Button3+AnyOfOrNone(all) {
  960. action= PtrBtn(button=3);
  961. };
  962. interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) {
  963. action= PtrBtn(button=default,count=2);
  964. };
  965. interpret Pointer_DblClick1+AnyOfOrNone(all) {
  966. action= PtrBtn(button=1,count=2);
  967. };
  968. interpret Pointer_DblClick2+AnyOfOrNone(all) {
  969. action= PtrBtn(button=2,count=2);
  970. };
  971. interpret Pointer_DblClick3+AnyOfOrNone(all) {
  972. action= PtrBtn(button=3,count=2);
  973. };
  974. interpret Pointer_Drag_Dflt+AnyOfOrNone(all) {
  975. action= LockPtrBtn(button=default,affect=both);
  976. };
  977. interpret Pointer_Drag1+AnyOfOrNone(all) {
  978. action= LockPtrBtn(button=1,affect=both);
  979. };
  980. interpret Pointer_Drag2+AnyOfOrNone(all) {
  981. action= LockPtrBtn(button=2,affect=both);
  982. };
  983. interpret Pointer_Drag3+AnyOfOrNone(all) {
  984. action= LockPtrBtn(button=3,affect=both);
  985. };
  986. interpret Pointer_EnableKeys+AnyOfOrNone(all) {
  987. action= LockControls(controls=MouseKeys);
  988. };
  989. interpret Pointer_Accelerate+AnyOfOrNone(all) {
  990. action= LockControls(controls=MouseKeysAccel);
  991. };
  992. interpret Pointer_DfltBtnNext+AnyOfOrNone(all) {
  993. action= SetPtrDflt(affect=button,button=+1);
  994. };
  995. interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) {
  996. action= SetPtrDflt(affect=button,button=-1);
  997. };
  998. interpret AccessX_Enable+AnyOfOrNone(all) {
  999. action= LockControls(controls=AccessXKeys);
  1000. };
  1001. interpret AccessX_Feedback_Enable+AnyOfOrNone(all) {
  1002. action= LockControls(controls=AccessXFeedback);
  1003. };
  1004. interpret RepeatKeys_Enable+AnyOfOrNone(all) {
  1005. action= LockControls(controls=RepeatKeys);
  1006. };
  1007. interpret SlowKeys_Enable+AnyOfOrNone(all) {
  1008. action= LockControls(controls=SlowKeys);
  1009. };
  1010. interpret BounceKeys_Enable+AnyOfOrNone(all) {
  1011. action= LockControls(controls=BounceKeys);
  1012. };
  1013. interpret StickyKeys_Enable+AnyOfOrNone(all) {
  1014. action= LockControls(controls=StickyKeys);
  1015. };
  1016. interpret MouseKeys_Enable+AnyOfOrNone(all) {
  1017. action= LockControls(controls=MouseKeys);
  1018. };
  1019. interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) {
  1020. action= LockControls(controls=MouseKeysAccel);
  1021. };
  1022. interpret Overlay1_Enable+AnyOfOrNone(all) {
  1023. action= LockControls(controls=Overlay1);
  1024. };
  1025. interpret Overlay2_Enable+AnyOfOrNone(all) {
  1026. action= LockControls(controls=Overlay2);
  1027. };
  1028. interpret AudibleBell_Enable+AnyOfOrNone(all) {
  1029. action= LockControls(controls=AudibleBell);
  1030. };
  1031. interpret Terminate_Server+AnyOfOrNone(all) {
  1032. action= Terminate();
  1033. };
  1034. interpret Alt_L+AnyOfOrNone(all) {
  1035. action= SetMods(modifiers=Alt,clearLocks);
  1036. };
  1037. interpret Alt_R+AnyOfOrNone(all) {
  1038. action= SetMods(modifiers=Alt,clearLocks);
  1039. };
  1040. interpret Meta_L+AnyOfOrNone(all) {
  1041. action= SetMods(modifiers=Meta,clearLocks);
  1042. };
  1043. interpret Meta_R+AnyOfOrNone(all) {
  1044. action= SetMods(modifiers=Meta,clearLocks);
  1045. };
  1046. interpret Super_L+AnyOfOrNone(all) {
  1047. action= SetMods(modifiers=Super,clearLocks);
  1048. };
  1049. interpret Super_R+AnyOfOrNone(all) {
  1050. action= SetMods(modifiers=Super,clearLocks);
  1051. };
  1052. interpret Hyper_L+AnyOfOrNone(all) {
  1053. action= SetMods(modifiers=Hyper,clearLocks);
  1054. };
  1055. interpret Hyper_R+AnyOfOrNone(all) {
  1056. action= SetMods(modifiers=Hyper,clearLocks);
  1057. };
  1058. interpret Shift_L+AnyOfOrNone(all) {
  1059. action= SetMods(modifiers=Shift,clearLocks);
  1060. };
  1061. interpret XF86Switch_VT_1+AnyOfOrNone(all) {
  1062. repeat= True;
  1063. action= SwitchScreen(screen=1,!same);
  1064. };
  1065. interpret XF86Switch_VT_2+AnyOfOrNone(all) {
  1066. repeat= True;
  1067. action= SwitchScreen(screen=2,!same);
  1068. };
  1069. interpret XF86Switch_VT_3+AnyOfOrNone(all) {
  1070. repeat= True;
  1071. action= SwitchScreen(screen=3,!same);
  1072. };
  1073. interpret XF86Switch_VT_4+AnyOfOrNone(all) {
  1074. repeat= True;
  1075. action= SwitchScreen(screen=4,!same);
  1076. };
  1077. interpret XF86Switch_VT_5+AnyOfOrNone(all) {
  1078. repeat= True;
  1079. action= SwitchScreen(screen=5,!same);
  1080. };
  1081. interpret XF86Switch_VT_6+AnyOfOrNone(all) {
  1082. repeat= True;
  1083. action= SwitchScreen(screen=6,!same);
  1084. };
  1085. interpret XF86Switch_VT_7+AnyOfOrNone(all) {
  1086. repeat= True;
  1087. action= SwitchScreen(screen=7,!same);
  1088. };
  1089. interpret XF86Switch_VT_8+AnyOfOrNone(all) {
  1090. repeat= True;
  1091. action= SwitchScreen(screen=8,!same);
  1092. };
  1093. interpret XF86Switch_VT_9+AnyOfOrNone(all) {
  1094. repeat= True;
  1095. action= SwitchScreen(screen=9,!same);
  1096. };
  1097. interpret XF86Switch_VT_10+AnyOfOrNone(all) {
  1098. repeat= True;
  1099. action= SwitchScreen(screen=10,!same);
  1100. };
  1101. interpret XF86Switch_VT_11+AnyOfOrNone(all) {
  1102. repeat= True;
  1103. action= SwitchScreen(screen=11,!same);
  1104. };
  1105. interpret XF86Switch_VT_12+AnyOfOrNone(all) {
  1106. repeat= True;
  1107. action= SwitchScreen(screen=12,!same);
  1108. };
  1109. interpret XF86LogGrabInfo+AnyOfOrNone(all) {
  1110. repeat= True;
  1111. action= Private(type=0x86,data[0]=0x50,data[1]=0x72,data[2]=0x47,data[3]=0x72,data[4]=0x62,data[5]=0x73,data[6]=0x00);
  1112. };
  1113. interpret XF86LogWindowTree+AnyOfOrNone(all) {
  1114. repeat= True;
  1115. action= Private(type=0x86,data[0]=0x50,data[1]=0x72,data[2]=0x57,data[3]=0x69,data[4]=0x6e,data[5]=0x73,data[6]=0x00);
  1116. };
  1117. interpret XF86Next_VMode+AnyOfOrNone(all) {
  1118. repeat= True;
  1119. action= Private(type=0x86,data[0]=0x2b,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00);
  1120. };
  1121. interpret XF86Prev_VMode+AnyOfOrNone(all) {
  1122. repeat= True;
  1123. action= Private(type=0x86,data[0]=0x2d,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00);
  1124. };
  1125. interpret ISO_Level5_Shift+AnyOfOrNone(all) {
  1126. action= SetMods(modifiers=LevelFive,clearLocks);
  1127. };
  1128. interpret ISO_Level5_Latch+AnyOfOrNone(all) {
  1129. action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
  1130. };
  1131. interpret ISO_Level5_Lock+AnyOfOrNone(all) {
  1132. action= LockMods(modifiers=LevelFive);
  1133. };
  1134. interpret Caps_Lock+AnyOfOrNone(all) {
  1135. action= LockMods(modifiers=Lock);
  1136. };
  1137. interpret Any+Exactly(Lock) {
  1138. action= LockMods(modifiers=Lock);
  1139. };
  1140. interpret Any+AnyOf(all) {
  1141. action= SetMods(modifiers=modMapMods,clearLocks);
  1142. };
  1143. group 2 = AltGr;
  1144. group 3 = AltGr;
  1145. group 4 = AltGr;
  1146. indicator "Caps Lock" {
  1147. !allowExplicit;
  1148. whichModState= locked;
  1149. modifiers= Lock;
  1150. };
  1151. indicator "Num Lock" {
  1152. !allowExplicit;
  1153. whichModState= locked;
  1154. modifiers= NumLock;
  1155. };
  1156. indicator "Scroll Lock" {
  1157. groups= 0xfe;
  1158. };
  1159. indicator "Shift Lock" {
  1160. !allowExplicit;
  1161. whichModState= locked;
  1162. modifiers= Shift;
  1163. };
  1164. indicator "Group 2" {
  1165. !allowExplicit;
  1166. groups= 0xfe;
  1167. };
  1168. indicator "Mouse Keys" {
  1169. indicatorDrivesKeyboard;
  1170. controls= mouseKeys;
  1171. };
  1172. };
  1173. xkb_symbols "pc+us+ru(ruu):2+inet(evdev)+group(shift_caps_toggle)+level3(ralt_switch)+compose(rwin-altgr)+nbsp(l" {
  1174. name[group1]="English (US)";
  1175. name[group2]="Russian (with Ukrainian-Belorussian layout)";
  1176. key <ESC> { [ Escape ] };
  1177. key <AE01> {
  1178. type[group2]= "FOUR_LEVEL",
  1179. symbols[Group1]= [ 1, exclam ],
  1180. symbols[Group2]= [ 1, exclam, division, approxeq ]
  1181. };
  1182. key <AE02> {
  1183. type[group2]= "FOUR_LEVEL",
  1184. symbols[Group1]= [ 2, at ],
  1185. symbols[Group2]= [ 2, quotedbl, currency, infinity ]
  1186. };
  1187. key <AE03> {
  1188. type[group2]= "FOUR_LEVEL",
  1189. symbols[Group1]= [ 3, numbersign ],
  1190. symbols[Group2]= [ 3, numerosign, section, U20B4 ]
  1191. };
  1192. key <AE04> {
  1193. type[group2]= "FOUR_LEVEL",
  1194. symbols[Group1]= [ 4, dollar ],
  1195. symbols[Group2]= [ 4, semicolon, dollar, EuroSign ]
  1196. };
  1197. key <AE05> {
  1198. type[group2]= "FOUR_LEVEL",
  1199. symbols[Group1]= [ 5, percent ],
  1200. symbols[Group2]= [ 5, percent, degree, permille ]
  1201. };
  1202. key <AE06> {
  1203. type[group2]= "FOUR_LEVEL",
  1204. symbols[Group1]= [ 6, asciicircum ],
  1205. symbols[Group2]= [ 6, colon, less, lessthanequal ]
  1206. };
  1207. key <AE07> {
  1208. type[group2]= "FOUR_LEVEL",
  1209. symbols[Group1]= [ 7, ampersand ],
  1210. symbols[Group2]= [ 7, question, greater, greaterthanequal ]
  1211. };
  1212. key <AE08> {
  1213. type[group2]= "FOUR_LEVEL",
  1214. symbols[Group1]= [ 8, asterisk ],
  1215. symbols[Group2]= [ 8, asterisk, enfilledcircbullet, multiply ]
  1216. };
  1217. key <AE09> {
  1218. type[group2]= "FOUR_LEVEL",
  1219. symbols[Group1]= [ 9, parenleft ],
  1220. symbols[Group2]= [ 9, parenleft, bracketleft, braceleft ]
  1221. };
  1222. key <AE10> {
  1223. type[group2]= "FOUR_LEVEL",
  1224. symbols[Group1]= [ 0, parenright ],
  1225. symbols[Group2]= [ 0, parenright, bracketright, braceright ]
  1226. };
  1227. key <AE11> {
  1228. type[group2]= "FOUR_LEVEL",
  1229. symbols[Group1]= [ minus, underscore ],
  1230. symbols[Group2]= [ minus, underscore, emdash, endash ]
  1231. };
  1232. key <AE12> {
  1233. type[group2]= "FOUR_LEVEL",
  1234. symbols[Group1]= [ equal, plus ],
  1235. symbols[Group2]= [ equal, plus, notequal, plusminus ]
  1236. };
  1237. key <BKSP> { [ BackSpace, BackSpace ] };
  1238. key <TAB> { [ Tab, ISO_Left_Tab ] };
  1239. key <AD01> {
  1240. symbols[Group1]= [ q, Q ],
  1241. symbols[Group2]= [ Cyrillic_shorti, Cyrillic_SHORTI ]
  1242. };
  1243. key <AD02> {
  1244. type= "ALPHABETIC",
  1245. symbols[Group1]= [ w, W ],
  1246. symbols[Group2]= [ Cyrillic_tse, Cyrillic_TSE ]
  1247. };
  1248. key <AD03> {
  1249. type[group1]= "ALPHABETIC",
  1250. type[group2]= "FOUR_LEVEL_ALPHABETIC",
  1251. symbols[Group1]= [ e, E ],
  1252. symbols[Group2]= [ Cyrillic_u, Cyrillic_U, Byelorussian_shortu, Byelorussian_SHORTU ]
  1253. };
  1254. key <AD04> {
  1255. type[group1]= "ALPHABETIC",
  1256. type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
  1257. symbols[Group1]= [ r, R ],
  1258. symbols[Group2]= [ Cyrillic_ka, Cyrillic_KA, registered, NoSymbol ]
  1259. };
  1260. key <AD05> {
  1261. type[group1]= "ALPHABETIC",
  1262. type[group2]= "FOUR_LEVEL_ALPHABETIC",
  1263. symbols[Group1]= [ t, T ],
  1264. symbols[Group2]= [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ]
  1265. };
  1266. key <AD06> {
  1267. type= "ALPHABETIC",
  1268. symbols[Group1]= [ y, Y ],
  1269. symbols[Group2]= [ Cyrillic_en, Cyrillic_EN ]
  1270. };
  1271. key <AD07> {
  1272. type[group1]= "ALPHABETIC",
  1273. type[group2]= "FOUR_LEVEL_ALPHABETIC",
  1274. symbols[Group1]= [ u, U ],
  1275. symbols[Group2]= [ Cyrillic_ghe, Cyrillic_GHE, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ]
  1276. };
  1277. key <AD08> {
  1278. type= "ALPHABETIC",
  1279. symbols[Group1]= [ i, I ],
  1280. symbols[Group2]= [ Cyrillic_sha, Cyrillic_SHA ]
  1281. };
  1282. key <AD09> {
  1283. type= "ALPHABETIC",
  1284. symbols[Group1]= [ o, O ],
  1285. symbols[Group2]= [ Cyrillic_shcha, Cyrillic_SHCHA ]
  1286. };
  1287. key <AD10> {
  1288. type[group1]= "ALPHABETIC",
  1289. type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
  1290. symbols[Group1]= [ p, P ],
  1291. symbols[Group2]= [ Cyrillic_ze, Cyrillic_ZE, paragraph, NoSymbol ]
  1292. };
  1293. key <AD11> {
  1294. type[group2]= "ALPHABETIC",
  1295. symbols[Group1]= [ bracketleft, braceleft ],
  1296. symbols[Group2]= [ Cyrillic_ha, Cyrillic_HA ]
  1297. };
  1298. key <AD12> {
  1299. type[group2]= "FOUR_LEVEL_ALPHABETIC",
  1300. symbols[Group1]= [ bracketright, braceright ],
  1301. symbols[Group2]= [ Cyrillic_hardsign, Cyrillic_HARDSIGN, Ukrainian_yi, Ukrainian_YI ]
  1302. };
  1303. key <RTRN> { [ Return ] };
  1304. key <LCTL> { [ Control_L ] };
  1305. key <AC01> {
  1306. type= "ALPHABETIC",
  1307. symbols[Group1]= [ a, A ],
  1308. symbols[Group2]= [ Cyrillic_ef, Cyrillic_EF ]
  1309. };
  1310. key <AC02> {
  1311. type[group1]= "ALPHABETIC",
  1312. type[group2]= "FOUR_LEVEL_ALPHABETIC",
  1313. symbols[Group1]= [ s, S ],
  1314. symbols[Group2]= [ Cyrillic_yeru, Cyrillic_YERU, Ukrainian_i, Ukrainian_I ]
  1315. };
  1316. key <AC03> {
  1317. type= "ALPHABETIC",
  1318. symbols[Group1]= [ d, D ],
  1319. symbols[Group2]= [ Cyrillic_ve, Cyrillic_VE ]
  1320. };
  1321. key <AC04> {
  1322. type= "ALPHABETIC",
  1323. symbols[Group1]= [ f, F ],
  1324. symbols[Group2]= [ Cyrillic_a, Cyrillic_A ]
  1325. };
  1326. key <AC05> {
  1327. type= "ALPHABETIC",
  1328. symbols[Group1]= [ g, G ],
  1329. symbols[Group2]= [ Cyrillic_pe, Cyrillic_PE ]
  1330. };
  1331. key <AC06> {
  1332. type= "ALPHABETIC",
  1333. symbols[Group1]= [ h, H ],
  1334. symbols[Group2]= [ Cyrillic_er, Cyrillic_ER ]
  1335. };
  1336. key <AC07> {
  1337. type= "ALPHABETIC",
  1338. symbols[Group1]= [ j, J ],
  1339. symbols[Group2]= [ Cyrillic_o, Cyrillic_O ]
  1340. };
  1341. key <AC08> {
  1342. type= "ALPHABETIC",
  1343. symbols[Group1]= [ k, K ],
  1344. symbols[Group2]= [ Cyrillic_el, Cyrillic_EL ]
  1345. };
  1346. key <AC09> {
  1347. type= "ALPHABETIC",
  1348. symbols[Group1]= [ l, L ],
  1349. symbols[Group2]= [ Cyrillic_de, Cyrillic_DE ]
  1350. };
  1351. key <AC10> {
  1352. type[group2]= "ALPHABETIC",
  1353. symbols[Group1]= [ semicolon, colon ],
  1354. symbols[Group2]= [ Cyrillic_zhe, Cyrillic_ZHE ]
  1355. };
  1356. key <AC11> {
  1357. type[group2]= "FOUR_LEVEL_ALPHABETIC",
  1358. symbols[Group1]= [ apostrophe, quotedbl ],
  1359. symbols[Group2]= [ Cyrillic_e, Cyrillic_E, Ukrainian_ie, Ukrainian_IE ]
  1360. };
  1361. key <TLDE> {
  1362. type[group2]= "FOUR_LEVEL",
  1363. symbols[Group1]= [ grave, asciitilde ],
  1364. symbols[Group2]= [ U2019, apostrophe, U0301, asciitilde ]
  1365. };
  1366. key <LFSH> { [ Shift_L ] };
  1367. key <BKSL> {
  1368. type[group2]= "FOUR_LEVEL",
  1369. symbols[Group1]= [ backslash, bar ],
  1370. symbols[Group2]= [ slash, bar, backslash, brokenbar ]
  1371. };
  1372. key <AB01> {
  1373. type= "ALPHABETIC",
  1374. symbols[Group1]= [ z, Z ],
  1375. symbols[Group2]= [ Cyrillic_ya, Cyrillic_YA ]
  1376. };
  1377. key <AB02> {
  1378. type= "ALPHABETIC",
  1379. symbols[Group1]= [ x, X ],
  1380. symbols[Group2]= [ Cyrillic_che, Cyrillic_CHE ]
  1381. };
  1382. key <AB03> {
  1383. type[group1]= "ALPHABETIC",
  1384. type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
  1385. symbols[Group1]= [ c, C ],
  1386. symbols[Group2]= [ Cyrillic_es, Cyrillic_ES, copyright, NoSymbol ]
  1387. };
  1388. key <AB04> {
  1389. type= "ALPHABETIC",
  1390. symbols[Group1]= [ v, V ],
  1391. symbols[Group2]= [ Cyrillic_em, Cyrillic_EM ]
  1392. };
  1393. key <AB05> {
  1394. type= "ALPHABETIC",
  1395. symbols[Group1]= [ b, B ],
  1396. symbols[Group2]= [ Cyrillic_i, Cyrillic_I ]
  1397. };
  1398. key <AB06> {
  1399. type[group1]= "ALPHABETIC",
  1400. type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
  1401. symbols[Group1]= [ n, N ],
  1402. symbols[Group2]= [ Cyrillic_te, Cyrillic_TE, trademark, NoSymbol ]
  1403. };
  1404. key <AB07> {
  1405. type[group1]= "ALPHABETIC",
  1406. type[group2]= "FOUR_LEVEL_ALPHABETIC",
  1407. symbols[Group1]= [ m, M ],
  1408. symbols[Group2]= [ Cyrillic_softsign, Cyrillic_SOFTSIGN, mu, NoSymbol ]
  1409. };
  1410. key <AB08> {
  1411. type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
  1412. symbols[Group1]= [ comma, less ],
  1413. symbols[Group2]= [ Cyrillic_be, Cyrillic_BE, guillemotleft, doublelowquotemark ]
  1414. };
  1415. key <AB09> {
  1416. type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
  1417. symbols[Group1]= [ period, greater ],
  1418. symbols[Group2]= [ Cyrillic_yu, Cyrillic_YU, guillemotright, leftdoublequotemark ]
  1419. };
  1420. key <AB10> {
  1421. type[group2]= "FOUR_LEVEL",
  1422. symbols[Group1]= [ slash, question ],
  1423. symbols[Group2]= [ period, comma, slash, ellipsis ]
  1424. };
  1425. key <RTSH> { [ Shift_R ] };
  1426. key <KPMU> {
  1427. type= "CTRL+ALT",
  1428. symbols[Group1]= [ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply, XF86ClearGrab ]
  1429. };
  1430. key <LALT> { [ Alt_L, Meta_L ] };
  1431. key <SPCE> {
  1432. type= "FOUR_LEVEL",
  1433. symbols[Group1]= [ space, space, nobreakspace, NoSymbol ]
  1434. };
  1435. key <CAPS> { [ Caps_Lock, ISO_Next_Group ] };
  1436. key <FK01> {
  1437. type= "CTRL+ALT",
  1438. symbols[Group1]= [ F1, F1, F1, F1, XF86Switch_VT_1 ]
  1439. };
  1440. key <FK02> {
  1441. type= "CTRL+ALT",
  1442. symbols[Group1]= [ F2, F2, F2, F2, XF86Switch_VT_2 ]
  1443. };
  1444. key <FK03> {
  1445. type= "CTRL+ALT",
  1446. symbols[Group1]= [ F3, F3, F3, F3, XF86Switch_VT_3 ]
  1447. };
  1448. key <FK04> {
  1449. type= "CTRL+ALT",
  1450. symbols[Group1]= [ F4, F4, F4, F4, XF86Switch_VT_4 ]
  1451. };
  1452. key <FK05> {
  1453. type= "CTRL+ALT",
  1454. symbols[Group1]= [ F5, F5, F5, F5, XF86Switch_VT_5 ]
  1455. };
  1456. key <FK06> {
  1457. type= "CTRL+ALT",
  1458. symbols[Group1]= [ F6, F6, F6, F6, XF86Switch_VT_6 ]
  1459. };
  1460. key <FK07> {
  1461. type= "CTRL+ALT",
  1462. symbols[Group1]= [ F7, F7, F7, F7, XF86Switch_VT_7 ]
  1463. };
  1464. key <FK08> {
  1465. type= "CTRL+ALT",
  1466. symbols[Group1]= [ F8, F8, F8, F8, XF86Switch_VT_8 ]
  1467. };
  1468. key <FK09> {
  1469. type= "CTRL+ALT",
  1470. symbols[Group1]= [ F9, F9, F9, F9, XF86Switch_VT_9 ]
  1471. };
  1472. key <FK10> {
  1473. type= "CTRL+ALT",
  1474. symbols[Group1]= [ F10, F10, F10, F10, XF86Switch_VT_10 ]
  1475. };
  1476. key <NMLK> { [ Num_Lock ] };
  1477. key <SCLK> { [ Scroll_Lock ] };
  1478. key <KP7> { [ KP_Home, KP_7 ] };
  1479. key <KP8> { [ KP_Up, KP_8 ] };
  1480. key <KP9> { [ KP_Prior, KP_9 ] };
  1481. key <KPSU> {
  1482. type= "CTRL+ALT",
  1483. symbols[Group1]= [ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract, XF86Prev_VMode ]
  1484. };
  1485. key <KP4> { [ KP_Left, KP_4 ] };
  1486. key <KP5> { [ KP_Begin, KP_5 ] };
  1487. key <KP6> { [ KP_Right, KP_6 ] };
  1488. key <KPAD> {
  1489. type= "CTRL+ALT",
  1490. symbols[Group1]= [ KP_Add, KP_Add, KP_Add, KP_Add, XF86Next_VMode ]
  1491. };
  1492. key <KP1> { [ KP_End, KP_1 ] };
  1493. key <KP2> { [ KP_Down, KP_2 ] };
  1494. key <KP3> { [ KP_Next, KP_3 ] };
  1495. key <KP0> { [ KP_Insert, KP_0 ] };
  1496. key <KPDL> {
  1497. type= "KEYPAD",
  1498. symbols[Group1]= [ KP_Delete, KP_Decimal ],
  1499. symbols[Group2]= [ KP_Delete, KP_Separator ]
  1500. };
  1501. key <LVL3> {
  1502. type= "ONE_LEVEL",
  1503. symbols[Group1]= [ ISO_Level3_Shift ]
  1504. };
  1505. key <LSGT> {
  1506. type[group1]= "FOUR_LEVEL",
  1507. symbols[Group1]= [ less, greater, bar, brokenbar ],
  1508. symbols[Group2]= [ slash, bar ]
  1509. };
  1510. key <FK11> {
  1511. type= "CTRL+ALT",
  1512. symbols[Group1]= [ F11, F11, F11, F11, XF86Switch_VT_11 ]
  1513. };
  1514. key <FK12> {
  1515. type= "CTRL+ALT",
  1516. symbols[Group1]= [ F12, F12, F12, F12, XF86Switch_VT_12 ]
  1517. };
  1518. key <KATA> { [ Katakana ] };
  1519. key <HIRA> { [ Hiragana ] };
  1520. key <HENK> { [ Henkan_Mode ] };
  1521. key <HKTG> { [ Hiragana_Katakana ] };
  1522. key <MUHE> { [ Muhenkan ] };
  1523. key <KPEN> { [ KP_Enter ] };
  1524. key <RCTL> { [ Control_R ] };
  1525. key <KPDV> {
  1526. type= "CTRL+ALT",
  1527. symbols[Group1]= [ KP_Divide, KP_Divide, KP_Divide, KP_Divide, XF86Ungrab ]
  1528. };
  1529. key <PRSC> {
  1530. type= "PC_ALT_LEVEL2",
  1531. symbols[Group1]= [ Print, Sys_Req ]
  1532. };
  1533. key <RALT> {
  1534. type= "ONE_LEVEL",
  1535. symbols[Group1]= [ ISO_Level3_Shift ]
  1536. };
  1537. key <LNFD> { [ Linefeed ] };
  1538. key <HOME> { [ Home ] };
  1539. key <UP> { [ Up ] };
  1540. key <PGUP> { [ Prior ] };
  1541. key <LEFT> { [ Left ] };
  1542. key <RGHT> { [ Right ] };
  1543. key <END> { [ End ] };
  1544. key <DOWN> { [ Down ] };
  1545. key <PGDN> { [ Next ] };
  1546. key <INS> { [ Insert ] };
  1547. key <DELE> { [ Delete ] };
  1548. key <MUTE> { [ XF86AudioMute ] };
  1549. key <VOL-> { [ XF86AudioLowerVolume ] };
  1550. key <VOL+> { [ XF86AudioRaiseVolume ] };
  1551. key <POWR> { [ XF86PowerOff ] };
  1552. key <KPEQ> { [ KP_Equal ] };
  1553. key <I126> { [ plusminus ] };
  1554. key <PAUS> {
  1555. type= "PC_CONTROL_LEVEL2",
  1556. symbols[Group1]= [ Pause, Break ]
  1557. };
  1558. key <I128> { [ XF86LaunchA ] };
  1559. key <I129> { [ KP_Decimal, KP_Decimal ] };
  1560. key <HNGL> { [ Hangul ] };
  1561. key <HJCV> { [ Hangul_Hanja ] };
  1562. key <LWIN> { [ Super_L ] };
  1563. key <RWIN> {
  1564. type= "FOUR_LEVEL",
  1565. symbols[Group1]= [ Super_R, Super_R, Multi_key, Multi_key ]
  1566. };
  1567. key <COMP> { [ Menu ] };
  1568. key <STOP> { [ Cancel ] };
  1569. key <AGAI> { [ Redo ] };
  1570. key <PROP> { [ SunProps ] };
  1571. key <UNDO> { [ Undo ] };
  1572. key <FRNT> { [ SunFront ] };
  1573. key <COPY> { [ XF86Copy ] };
  1574. key <OPEN> { [ XF86Open ] };
  1575. key <PAST> { [ XF86Paste ] };
  1576. key <FIND> { [ Find ] };
  1577. key <CUT> { [ XF86Cut ] };
  1578. key <HELP> { [ Help ] };
  1579. key <I147> { [ XF86MenuKB ] };
  1580. key <I148> { [ XF86Calculator ] };
  1581. key <I150> { [ XF86Sleep ] };
  1582. key <I151> { [ XF86WakeUp ] };
  1583. key <I152> { [ XF86Explorer ] };
  1584. key <I153> { [ XF86Send ] };
  1585. key <I155> { [ XF86Xfer ] };
  1586. key <I156> { [ XF86Launch1 ] };
  1587. key <I157> { [ XF86Launch2 ] };
  1588. key <I158> { [ XF86WWW ] };
  1589. key <I159> { [ XF86DOS ] };
  1590. key <I160> { [ XF86ScreenSaver ] };
  1591. key <I161> { [ XF86RotateWindows ] };
  1592. key <I162> { [ XF86TaskPane ] };
  1593. key <I163> { [ XF86Mail ] };
  1594. key <I164> { [ XF86Favorites ] };
  1595. key <I165> { [ XF86MyComputer ] };
  1596. key <I166> { [ XF86Back ] };
  1597. key <I167> { [ XF86Forward ] };
  1598. key <I169> { [ XF86Eject ] };
  1599. key <I170> { [ XF86Eject, XF86Eject ] };
  1600. key <I171> { [ XF86AudioNext ] };
  1601. key <I172> { [ XF86AudioPlay, XF86AudioPause ] };
  1602. key <I173> { [ XF86AudioPrev ] };
  1603. key <I174> { [ XF86AudioStop, XF86Eject ] };
  1604. key <I175> { [ XF86AudioRecord ] };
  1605. key <I176> { [ XF86AudioRewind ] };
  1606. key <I177> { [ XF86Phone ] };
  1607. key <I179> { [ XF86Tools ] };
  1608. key <I180> { [ XF86HomePage ] };
  1609. key <I181> { [ XF86Reload ] };
  1610. key <I182> { [ XF86Close ] };
  1611. key <I185> { [ XF86ScrollUp ] };
  1612. key <I186> { [ XF86ScrollDown ] };
  1613. key <I187> { [ parenleft ] };
  1614. key <I188> { [ parenright ] };
  1615. key <I189> { [ XF86New ] };
  1616. key <I190> { [ Redo ] };
  1617. key <FK13> { [ XF86Tools ] };
  1618. key <FK14> { [ XF86Launch5 ] };
  1619. key <FK15> { [ XF86Launch6 ] };
  1620. key <FK16> { [ XF86Launch7 ] };
  1621. key <FK17> { [ XF86Launch8 ] };
  1622. key <FK18> { [ XF86Launch9 ] };
  1623. key <FK20> { [ XF86AudioMicMute ] };
  1624. key <FK21> { [ XF86TouchpadToggle ] };
  1625. key <FK22> { [ XF86TouchpadOn ] };
  1626. key <FK23> { [ XF86TouchpadOff ] };
  1627. key <MDSW> { [ Mode_switch ] };
  1628. key <ALT> { [ NoSymbol, Alt_L ] };
  1629. key <META> { [ NoSymbol, Meta_L ] };
  1630. key <SUPR> { [ NoSymbol, Super_L ] };
  1631. key <HYPR> { [ NoSymbol, Hyper_L ] };
  1632. key <I208> { [ XF86AudioPlay ] };
  1633. key <I209> { [ XF86AudioPause ] };
  1634. key <I210> { [ XF86Launch3 ] };
  1635. key <I211> { [ XF86Launch4 ] };
  1636. key <I212> { [ XF86LaunchB ] };
  1637. key <I213> { [ XF86Suspend ] };
  1638. key <I214> { [ XF86Close ] };
  1639. key <I215> { [ XF86AudioPlay ] };
  1640. key <I216> { [ XF86AudioForward ] };
  1641. key <I218> { [ Print ] };
  1642. key <I220> { [ XF86WebCam ] };
  1643. key <I221> { [ XF86AudioPreset ] };
  1644. key <I223> { [ XF86Mail ] };
  1645. key <I224> { [ XF86Messenger ] };
  1646. key <I225> { [ XF86Search ] };
  1647. key <I226> { [ XF86Go ] };
  1648. key <I227> { [ XF86Finance ] };
  1649. key <I228> { [ XF86Game ] };
  1650. key <I229> { [ XF86Shop ] };
  1651. key <I231> { [ Cancel ] };
  1652. key <I232> { [ XF86MonBrightnessDown ] };
  1653. key <I233> { [ XF86MonBrightnessUp ] };
  1654. key <I234> { [ XF86AudioMedia ] };
  1655. key <I235> { [ XF86Display ] };
  1656. key <I236> { [ XF86KbdLightOnOff ] };
  1657. key <I237> { [ XF86KbdBrightnessDown ] };
  1658. key <I238> { [ XF86KbdBrightnessUp ] };
  1659. key <I239> { [ XF86Send ] };
  1660. key <I240> { [ XF86Reply ] };
  1661. key <I241> { [ XF86MailForward ] };
  1662. key <I242> { [ XF86Save ] };
  1663. key <I243> { [ XF86Documents ] };
  1664. key <I244> { [ XF86Battery ] };
  1665. key <I245> { [ XF86Bluetooth ] };
  1666. key <I246> { [ XF86WLAN ] };
  1667. key <I251> { [ XF86MonBrightnessCycle ] };
  1668. key <I254> { [ XF86WWAN ] };
  1669. key <I255> { [ XF86RFKill ] };
  1670. modifier_map Control { <LCTL> };
  1671. modifier_map Shift { <LFSH> };
  1672. modifier_map Shift { <RTSH> };
  1673. modifier_map Mod1 { <LALT> };
  1674. modifier_map Lock { <CAPS> };
  1675. modifier_map Mod2 { <NMLK> };
  1676. modifier_map Mod5 { <LVL3> };
  1677. modifier_map Control { <RCTL> };
  1678. modifier_map Mod4 { <LWIN> };
  1679. modifier_map Mod4 { <RWIN> };
  1680. modifier_map Mod5 { <MDSW> };
  1681. modifier_map Mod1 { <META> };
  1682. modifier_map Mod4 { <SUPR> };
  1683. modifier_map Mod4 { <HYPR> };
  1684. };
  1685. xkb_geometry "pc(pc105)" {
  1686. width= 470;
  1687. height= 180;
  1688. alias <AC00> = <CAPS>;
  1689. alias <AA00> = <LCTL>;
  1690. baseColor= "white";
  1691. labelColor= "black";
  1692. xfont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
  1693. description= "Generic 105-key PC";
  1694. shape "NORM" {
  1695. corner= 1,
  1696. { [ 18, 18 ] },
  1697. { [ 2, 1 ], [ 16, 16 ] }
  1698. };
  1699. shape "BKSP" {
  1700. corner= 1,
  1701. { [ 38, 18 ] },
  1702. { [ 2, 1 ], [ 36, 16 ] }
  1703. };
  1704. shape "TABK" {
  1705. corner= 1,
  1706. { [ 28, 18 ] },
  1707. { [ 2, 1 ], [ 26, 16 ] }
  1708. };
  1709. shape "BKSL" {
  1710. corner= 1,
  1711. { [ 28, 18 ] },
  1712. { [ 2, 1 ], [ 26, 16 ] }
  1713. };
  1714. shape "RTRN" {
  1715. corner= 1,
  1716. { [ 0, 0 ], [ 28, 0 ], [ 28, 37 ], [ 5, 37 ],
  1717. [ 5, 18 ], [ 0, 18 ] },
  1718. { [ 2, 1 ], [ 26, 1 ], [ 26, 35 ], [ 7, 35 ],
  1719. [ 7, 16 ], [ 2, 16 ] },
  1720. approx= { [ 5, 0 ], [ 28, 37 ] }
  1721. };
  1722. shape "CAPS" {
  1723. corner= 1,
  1724. { [ 33, 18 ] },
  1725. { [ 2, 1 ], [ 31, 16 ] }
  1726. };
  1727. shape "LFSH" {
  1728. corner= 1,
  1729. { [ 25, 18 ] },
  1730. { [ 2, 1 ], [ 23, 16 ] }
  1731. };
  1732. shape "RTSH" {
  1733. corner= 1,
  1734. { [ 50, 18 ] },
  1735. { [ 2, 1 ], [ 48, 16 ] }
  1736. };
  1737. shape "MODK" {
  1738. corner= 1,
  1739. { [ 27, 18 ] },
  1740. { [ 2, 1 ], [ 25, 16 ] }
  1741. };
  1742. shape "SMOD" {
  1743. corner= 1,
  1744. { [ 23, 18 ] },
  1745. { [ 2, 1 ], [ 21, 16 ] }
  1746. };
  1747. shape "SPCE" {
  1748. corner= 1,
  1749. { [ 113, 18 ] },
  1750. { [ 2, 1 ], [ 111, 16 ] }
  1751. };
  1752. shape "KP0" {
  1753. corner= 1,
  1754. { [ 37, 18 ] },
  1755. { [ 2, 1 ], [ 35, 16 ] }
  1756. };
  1757. shape "KPAD" {
  1758. corner= 1,
  1759. { [ 18, 37 ] },
  1760. { [ 2, 1 ], [ 16, 35 ] }
  1761. };
  1762. shape "LEDS" { { [ 75, 20 ] } };
  1763. shape "LED" { { [ 5, 1 ] } };
  1764. section "Function" {
  1765. key.color= "grey20";
  1766. priority= 7;
  1767. top= 22;
  1768. left= 19;
  1769. width= 351;
  1770. height= 19;
  1771. row {
  1772. top= 1;
  1773. left= 1;
  1774. keys {
  1775. { <ESC>, "NORM", 1 },
  1776. { <FK01>, "NORM", 20, color="white" },
  1777. { <FK02>, "NORM", 1, color="white" },
  1778. { <FK03>, "NORM", 1, color="white" },
  1779. { <FK04>, "NORM", 1, color="white" },
  1780. { <FK05>, "NORM", 11, color="white" },
  1781. { <FK06>, "NORM", 1, color="white" },
  1782. { <FK07>, "NORM", 1, color="white" },
  1783. { <FK08>, "NORM", 1, color="white" },
  1784. { <FK09>, "NORM", 11, color="white" },
  1785. { <FK10>, "NORM", 1, color="white" },
  1786. { <FK11>, "NORM", 1, color="white" },
  1787. { <FK12>, "NORM", 1, color="white" },
  1788. { <PRSC>, "NORM", 8, color="white" },
  1789. { <SCLK>, "NORM", 1, color="white" },
  1790. { <PAUS>, "NORM", 1, color="white" }
  1791. };
  1792. };
  1793. }; // End of "Function" section
  1794. section "Alpha" {
  1795. key.color= "white";
  1796. priority= 8;
  1797. top= 61;
  1798. left= 19;
  1799. width= 287;
  1800. height= 95;
  1801. row {
  1802. top= 1;
  1803. left= 1;
  1804. keys {
  1805. { <TLDE>, "NORM", 1 }, { <AE01>, "NORM", 1 },
  1806. { <AE02>, "NORM", 1 }, { <AE03>, "NORM", 1 },
  1807. { <AE04>, "NORM", 1 }, { <AE05>, "NORM", 1 },
  1808. { <AE06>, "NORM", 1 }, { <AE07>, "NORM", 1 },
  1809. { <AE08>, "NORM", 1 }, { <AE09>, "NORM", 1 },
  1810. { <AE10>, "NORM", 1 }, { <AE11>, "NORM", 1 },
  1811. { <AE12>, "NORM", 1 },
  1812. { <BKSP>, "BKSP", 1, color="grey20" }
  1813. };
  1814. };
  1815. row {
  1816. top= 20;
  1817. left= 1;
  1818. keys {
  1819. { <TAB>, "TABK", 1, color="grey20" },
  1820. { <AD01>, "NORM", 1 }, { <AD02>, "NORM", 1 },
  1821. { <AD03>, "NORM", 1 }, { <AD04>, "NORM", 1 },
  1822. { <AD05>, "NORM", 1 }, { <AD06>, "NORM", 1 },
  1823. { <AD07>, "NORM", 1 }, { <AD08>, "NORM", 1 },
  1824. { <AD09>, "NORM", 1 }, { <AD10>, "NORM", 1 },
  1825. { <AD11>, "NORM", 1 }, { <AD12>, "NORM", 1 },
  1826. { <RTRN>, "RTRN", 1, color="grey20" }
  1827. };
  1828. };
  1829. row {
  1830. top= 39;
  1831. left= 1;
  1832. keys {
  1833. { <CAPS>, "CAPS", 1, color="grey20" },
  1834. { <AC01>, "NORM", 1 }, { <AC02>, "NORM", 1 },
  1835. { <AC03>, "NORM", 1 }, { <AC04>, "NORM", 1 },
  1836. { <AC05>, "NORM", 1 }, { <AC06>, "NORM", 1 },
  1837. { <AC07>, "NORM", 1 }, { <AC08>, "NORM", 1 },
  1838. { <AC09>, "NORM", 1 }, { <AC10>, "NORM", 1 },
  1839. { <AC11>, "NORM", 1 }, { <BKSL>, "NORM", 1 }
  1840. };
  1841. };
  1842. row {
  1843. top= 58;
  1844. left= 1;
  1845. keys {
  1846. { <LFSH>, "LFSH", 1, color="grey20" },
  1847. { <LSGT>, "NORM", 1 }, { <AB01>, "NORM", 1 },
  1848. { <AB02>, "NORM", 1 }, { <AB03>, "NORM", 1 },
  1849. { <AB04>, "NORM", 1 }, { <AB05>, "NORM", 1 },
  1850. { <AB06>, "NORM", 1 }, { <AB07>, "NORM", 1 },
  1851. { <AB08>, "NORM", 1 }, { <AB09>, "NORM", 1 },
  1852. { <AB10>, "NORM", 1 },
  1853. { <RTSH>, "RTSH", 1, color="grey20" }
  1854. };
  1855. };
  1856. row {
  1857. top= 77;
  1858. left= 1;
  1859. keys {
  1860. { <LCTL>, "MODK", 1, color="grey20" },
  1861. { <LWIN>, "SMOD", 1, color="grey20" },
  1862. { <LALT>, "SMOD", 1, color="grey20" },
  1863. { <SPCE>, "SPCE", 1 },
  1864. { <RALT>, "SMOD", 1, color="grey20" },
  1865. { <RWIN>, "SMOD", 1, color="grey20" },
  1866. { <MENU>, "SMOD", 1, color="grey20" },
  1867. { <RCTL>, "SMOD", 1, color="grey20" }
  1868. };
  1869. };
  1870. }; // End of "Alpha" section
  1871. section "Editing" {
  1872. key.color= "grey20";
  1873. priority= 9;
  1874. top= 61;
  1875. left= 312;
  1876. width= 58;
  1877. height= 95;
  1878. row {
  1879. top= 1;
  1880. left= 1;
  1881. keys {
  1882. { <INS>, "NORM", 1 }, { <HOME>, "NORM", 1 },
  1883. { <PGUP>, "NORM", 1 }
  1884. };
  1885. };
  1886. row {
  1887. top= 20;
  1888. left= 1;
  1889. keys {
  1890. { <DELE>, "NORM", 1 }, { <END>, "NORM", 1 },
  1891. { <PGDN>, "NORM", 1 }
  1892. };
  1893. };
  1894. row {
  1895. top= 58;
  1896. left= 20;
  1897. keys {
  1898. { <UP>, "NORM", 1 }
  1899. };
  1900. };
  1901. row {
  1902. top= 77;
  1903. left= 1;
  1904. keys {
  1905. { <LEFT>, "NORM", 1 }, { <DOWN>, "NORM", 1 },
  1906. { <RGHT>, "NORM", 1 }
  1907. };
  1908. };
  1909. }; // End of "Editing" section
  1910. section "Keypad" {
  1911. key.color= "grey20";
  1912. priority= 10;
  1913. top= 61;
  1914. left= 376;
  1915. width= 77;
  1916. height= 95;
  1917. row {
  1918. top= 1;
  1919. left= 1;
  1920. keys {
  1921. { <NMLK>, "NORM", 1 }, { <KPDV>, "NORM", 1 },
  1922. { <KPMU>, "NORM", 1 }, { <KPSU>, "NORM", 1 }
  1923. };
  1924. };
  1925. row {
  1926. top= 20;
  1927. left= 1;
  1928. keys {
  1929. { <KP7>, "NORM", 1, color="white" },
  1930. { <KP8>, "NORM", 1, color="white" },
  1931. { <KP9>, "NORM", 1, color="white" },
  1932. { <KPAD>, "KPAD", 1 }
  1933. };
  1934. };
  1935. row {
  1936. top= 39;
  1937. left= 1;
  1938. keys {
  1939. { <KP4>, "NORM", 1, color="white" },
  1940. { <KP5>, "NORM", 1, color="white" },
  1941. { <KP6>, "NORM", 1, color="white" }
  1942. };
  1943. };
  1944. row {
  1945. top= 58;
  1946. left= 1;
  1947. keys {
  1948. { <KP1>, "NORM", 1, color="white" },
  1949. { <KP2>, "NORM", 1, color="white" },
  1950. { <KP3>, "NORM", 1, color="white" },
  1951. { <KPEN>, "KPAD", 1 }
  1952. };
  1953. };
  1954. row {
  1955. top= 77;
  1956. left= 1;
  1957. keys {
  1958. { <KP0>, "KP0", 1, color="white" },
  1959. { <KPDL>, "NORM", 1, color="white" }
  1960. };
  1961. };
  1962. }; // End of "Keypad" section
  1963. solid "LedPanel" {
  1964. top= 22;
  1965. left= 377;
  1966. priority= 0;
  1967. color= "grey10";
  1968. shape= "LEDS";
  1969. };
  1970. indicator "Num Lock" {
  1971. top= 37;
  1972. left= 382;
  1973. priority= 1;
  1974. onColor= "green";
  1975. offColor= "green30";
  1976. shape= "LED";
  1977. };
  1978. indicator "Caps Lock" {
  1979. top= 37;
  1980. left= 407;
  1981. priority= 2;
  1982. onColor= "green";
  1983. offColor= "green30";
  1984. shape= "LED";
  1985. };
  1986. indicator "Scroll Lock" {
  1987. top= 37;
  1988. left= 433;
  1989. priority= 3;
  1990. onColor= "green";
  1991. offColor= "green30";
  1992. shape= "LED";
  1993. };
  1994. text "NumLockLabel" {
  1995. top= 25;
  1996. left= 378;
  1997. priority= 4;
  1998. width= 19.8;
  1999. height= 10;
  2000. XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
  2001. text= "Num\nLock";
  2002. };
  2003. text "CapsLockLabel" {
  2004. top= 25;
  2005. left= 403;
  2006. priority= 5;
  2007. width= 26.4;
  2008. height= 10;
  2009. XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
  2010. text= "Caps\nLock";
  2011. };
  2012. text "ScrollLockLabel" {
  2013. top= 25;
  2014. left= 428;
  2015. priority= 6;
  2016. width= 39.6;
  2017. height= 10;
  2018. XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
  2019. text= "Scroll\nLock";
  2020. };
  2021. };
  2022. };