1
0

unbound-vmod.xkb 49 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533
  1. xkb_keymap {
  2. xkb_keycodes "evdev+aliases(qwertz)" {
  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. indicator 1 = "Caps Lock";
  250. indicator 2 = "Num Lock";
  251. indicator 3 = "Scroll Lock";
  252. indicator 4 = "Compose";
  253. indicator 5 = "Kana";
  254. indicator 6 = "Sleep";
  255. indicator 7 = "Suspend";
  256. indicator 8 = "Mute";
  257. indicator 9 = "Misc";
  258. indicator 10 = "Mail";
  259. indicator 11 = "Charging";
  260. virtual indicator 12 = "Shift Lock";
  261. virtual indicator 13 = "Group 2";
  262. virtual indicator 14 = "Mouse Keys";
  263. alias <AC12> = <BKSL>;
  264. alias <MENU> = <COMP>;
  265. alias <HZTG> = <TLDE>;
  266. alias <LMTA> = <LWIN>;
  267. alias <RMTA> = <RWIN>;
  268. alias <ALGR> = <RALT>;
  269. alias <KPPT> = <I129>;
  270. alias <LatQ> = <AD01>;
  271. alias <LatW> = <AD02>;
  272. alias <LatE> = <AD03>;
  273. alias <LatR> = <AD04>;
  274. alias <LatT> = <AD05>;
  275. alias <LatZ> = <AD06>;
  276. alias <LatU> = <AD07>;
  277. alias <LatI> = <AD08>;
  278. alias <LatO> = <AD09>;
  279. alias <LatP> = <AD10>;
  280. alias <LatA> = <AC01>;
  281. alias <LatS> = <AC02>;
  282. alias <LatD> = <AC03>;
  283. alias <LatF> = <AC04>;
  284. alias <LatG> = <AC05>;
  285. alias <LatH> = <AC06>;
  286. alias <LatJ> = <AC07>;
  287. alias <LatK> = <AC08>;
  288. alias <LatL> = <AC09>;
  289. alias <LatY> = <AB01>;
  290. alias <LatX> = <AB02>;
  291. alias <LatC> = <AB03>;
  292. alias <LatV> = <AB04>;
  293. alias <LatB> = <AB05>;
  294. alias <LatN> = <AB06>;
  295. alias <LatM> = <AB07>;
  296. };
  297. xkb_types "complete" {
  298. virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
  299. type "ONE_LEVEL" {
  300. modifiers= none;
  301. level_name[Level1]= "Any";
  302. };
  303. type "TWO_LEVEL" {
  304. modifiers= Shift;
  305. map[Shift]= Level2;
  306. level_name[Level1]= "Base";
  307. level_name[Level2]= "Shift";
  308. };
  309. type "ALPHABETIC" {
  310. modifiers= Shift+Lock;
  311. map[Shift]= Level2;
  312. map[Lock]= Level2;
  313. level_name[Level1]= "Base";
  314. level_name[Level2]= "Caps";
  315. };
  316. type "KEYPAD" {
  317. modifiers= Shift+NumLock;
  318. map[Shift]= Level2;
  319. map[NumLock]= Level2;
  320. level_name[Level1]= "Base";
  321. level_name[Level2]= "Number";
  322. };
  323. type "SHIFT+ALT" {
  324. modifiers= Shift+Alt;
  325. map[Shift+Alt]= Level2;
  326. level_name[Level1]= "Base";
  327. level_name[Level2]= "Shift+Alt";
  328. };
  329. type "PC_CONTROL_LEVEL2" {
  330. modifiers= Control;
  331. map[Control]= Level2;
  332. level_name[Level1]= "Base";
  333. level_name[Level2]= "Control";
  334. };
  335. type "PC_LCONTROL_LEVEL2" {
  336. modifiers= LControl;
  337. map[LControl]= Level2;
  338. level_name[Level1]= "Base";
  339. level_name[Level2]= "LControl";
  340. };
  341. type "PC_RCONTROL_LEVEL2" {
  342. modifiers= RControl;
  343. map[RControl]= Level2;
  344. level_name[Level1]= "Base";
  345. level_name[Level2]= "RControl";
  346. };
  347. type "PC_ALT_LEVEL2" {
  348. modifiers= Alt;
  349. map[Alt]= Level2;
  350. level_name[Level1]= "Base";
  351. level_name[Level2]= "Alt";
  352. };
  353. type "PC_LALT_LEVEL2" {
  354. modifiers= LAlt;
  355. map[LAlt]= Level2;
  356. level_name[Level1]= "Base";
  357. level_name[Level2]= "LAlt";
  358. };
  359. type "PC_RALT_LEVEL2" {
  360. modifiers= RAlt;
  361. map[RAlt]= Level2;
  362. level_name[Level1]= "Base";
  363. level_name[Level2]= "RAlt";
  364. };
  365. type "CTRL+ALT" {
  366. modifiers= Shift+Control+Alt+LevelThree;
  367. map[Shift]= Level2;
  368. preserve[Shift]= Shift;
  369. map[LevelThree]= Level3;
  370. map[Shift+LevelThree]= Level4;
  371. preserve[Shift+LevelThree]= Shift;
  372. map[Control+Alt]= Level5;
  373. level_name[Level1]= "Base";
  374. level_name[Level2]= "Shift";
  375. level_name[Level3]= "Alt Base";
  376. level_name[Level4]= "Shift Alt";
  377. level_name[Level5]= "Ctrl+Alt";
  378. };
  379. type "LOCAL_EIGHT_LEVEL" {
  380. modifiers= Shift+Lock+Control+LevelThree;
  381. map[Shift+Lock]= Level1;
  382. map[Shift]= Level2;
  383. map[Lock]= Level2;
  384. map[LevelThree]= Level3;
  385. map[Shift+Lock+LevelThree]= Level3;
  386. map[Shift+LevelThree]= Level4;
  387. map[Lock+LevelThree]= Level4;
  388. map[Control]= Level5;
  389. map[Shift+Lock+Control]= Level5;
  390. map[Shift+Control]= Level6;
  391. map[Lock+Control]= Level6;
  392. map[Control+LevelThree]= Level7;
  393. map[Shift+Lock+Control+LevelThree]= Level7;
  394. map[Shift+Control+LevelThree]= Level8;
  395. map[Lock+Control+LevelThree]= Level8;
  396. level_name[Level1]= "Base";
  397. level_name[Level2]= "Shift";
  398. level_name[Level3]= "Level3";
  399. level_name[Level4]= "Shift Level3";
  400. level_name[Level5]= "Ctrl";
  401. level_name[Level6]= "Shift Ctrl";
  402. level_name[Level7]= "Level3 Ctrl";
  403. level_name[Level8]= "Shift Level3 Ctrl";
  404. };
  405. type "THREE_LEVEL" {
  406. modifiers= Shift+LevelThree;
  407. map[Shift]= Level2;
  408. map[LevelThree]= Level3;
  409. map[Shift+LevelThree]= Level3;
  410. level_name[Level1]= "Base";
  411. level_name[Level2]= "Shift";
  412. level_name[Level3]= "Level3";
  413. };
  414. type "EIGHT_LEVEL" {
  415. modifiers= Shift+LevelThree+LevelFive;
  416. map[Shift]= Level2;
  417. map[LevelThree]= Level3;
  418. map[Shift+LevelThree]= Level4;
  419. map[LevelFive]= Level5;
  420. map[Shift+LevelFive]= Level6;
  421. map[LevelThree+LevelFive]= Level7;
  422. map[Shift+LevelThree+LevelFive]= Level8;
  423. level_name[Level1]= "Base";
  424. level_name[Level2]= "Shift";
  425. level_name[Level3]= "Alt Base";
  426. level_name[Level4]= "Shift Alt";
  427. level_name[Level5]= "X";
  428. level_name[Level6]= "X Shift";
  429. level_name[Level7]= "X Alt Base";
  430. level_name[Level8]= "X Shift Alt";
  431. };
  432. type "EIGHT_LEVEL_ALPHABETIC" {
  433. modifiers= Shift+Lock+LevelThree+LevelFive;
  434. map[Shift]= Level2;
  435. map[Lock]= Level2;
  436. map[LevelThree]= Level3;
  437. map[Shift+LevelThree]= Level4;
  438. map[Lock+LevelThree]= Level4;
  439. map[Shift+Lock+LevelThree]= Level3;
  440. map[LevelFive]= Level5;
  441. map[Shift+LevelFive]= Level6;
  442. map[Lock+LevelFive]= Level6;
  443. map[LevelThree+LevelFive]= Level7;
  444. map[Shift+LevelThree+LevelFive]= Level8;
  445. map[Lock+LevelThree+LevelFive]= Level8;
  446. map[Shift+Lock+LevelThree+LevelFive]= Level7;
  447. level_name[Level1]= "Base";
  448. level_name[Level2]= "Shift";
  449. level_name[Level3]= "Alt Base";
  450. level_name[Level4]= "Shift Alt";
  451. level_name[Level5]= "X";
  452. level_name[Level6]= "X Shift";
  453. level_name[Level7]= "X Alt Base";
  454. level_name[Level8]= "X Shift Alt";
  455. };
  456. type "EIGHT_LEVEL_SEMIALPHABETIC" {
  457. modifiers= Shift+Lock+LevelThree+LevelFive;
  458. map[Shift]= Level2;
  459. map[Lock]= Level2;
  460. map[LevelThree]= Level3;
  461. map[Shift+LevelThree]= Level4;
  462. map[Lock+LevelThree]= Level3;
  463. preserve[Lock+LevelThree]= Lock;
  464. map[Shift+Lock+LevelThree]= Level4;
  465. preserve[Shift+Lock+LevelThree]= Lock;
  466. map[LevelFive]= Level5;
  467. map[Shift+LevelFive]= Level6;
  468. map[Lock+LevelFive]= Level6;
  469. preserve[Lock+LevelFive]= Lock;
  470. map[Shift+Lock+LevelFive]= Level6;
  471. preserve[Shift+Lock+LevelFive]= Lock;
  472. map[LevelThree+LevelFive]= Level7;
  473. map[Shift+LevelThree+LevelFive]= Level8;
  474. map[Lock+LevelThree+LevelFive]= Level7;
  475. preserve[Lock+LevelThree+LevelFive]= Lock;
  476. map[Shift+Lock+LevelThree+LevelFive]= Level8;
  477. preserve[Shift+Lock+LevelThree+LevelFive]= Lock;
  478. level_name[Level1]= "Base";
  479. level_name[Level2]= "Shift";
  480. level_name[Level3]= "Alt Base";
  481. level_name[Level4]= "Shift Alt";
  482. level_name[Level5]= "X";
  483. level_name[Level6]= "X Shift";
  484. level_name[Level7]= "X Alt Base";
  485. level_name[Level8]= "X Shift Alt";
  486. };
  487. type "FOUR_LEVEL" {
  488. modifiers= Shift+LevelThree;
  489. map[Shift]= Level2;
  490. map[LevelThree]= Level3;
  491. map[Shift+LevelThree]= Level4;
  492. level_name[Level1]= "Base";
  493. level_name[Level2]= "Shift";
  494. level_name[Level3]= "Alt Base";
  495. level_name[Level4]= "Shift Alt";
  496. };
  497. type "FOUR_LEVEL_ALPHABETIC" {
  498. modifiers= Shift+Lock+LevelThree;
  499. map[Shift]= Level2;
  500. map[Lock]= Level2;
  501. map[LevelThree]= Level3;
  502. map[Shift+LevelThree]= Level4;
  503. map[Lock+LevelThree]= Level4;
  504. map[Shift+Lock+LevelThree]= Level3;
  505. level_name[Level1]= "Base";
  506. level_name[Level2]= "Shift";
  507. level_name[Level3]= "Alt Base";
  508. level_name[Level4]= "Shift Alt";
  509. };
  510. type "FOUR_LEVEL_SEMIALPHABETIC" {
  511. modifiers= Shift+Lock+LevelThree;
  512. map[Shift]= Level2;
  513. map[Lock]= Level2;
  514. map[LevelThree]= Level3;
  515. map[Shift+LevelThree]= Level4;
  516. map[Lock+LevelThree]= Level3;
  517. preserve[Lock+LevelThree]= Lock;
  518. map[Shift+Lock+LevelThree]= Level4;
  519. preserve[Shift+Lock+LevelThree]= Lock;
  520. level_name[Level1]= "Base";
  521. level_name[Level2]= "Shift";
  522. level_name[Level3]= "Alt Base";
  523. level_name[Level4]= "Shift Alt";
  524. };
  525. type "FOUR_LEVEL_MIXED_KEYPAD" {
  526. modifiers= Shift+NumLock+LevelThree;
  527. map[Shift+NumLock]= Level1;
  528. map[NumLock]= Level2;
  529. map[Shift]= Level2;
  530. map[LevelThree]= Level3;
  531. map[NumLock+LevelThree]= Level3;
  532. map[Shift+LevelThree]= Level4;
  533. map[Shift+NumLock+LevelThree]= Level4;
  534. level_name[Level1]= "Base";
  535. level_name[Level2]= "Number";
  536. level_name[Level3]= "Alt Base";
  537. level_name[Level4]= "Shift Alt";
  538. };
  539. type "FOUR_LEVEL_X" {
  540. modifiers= Shift+Control+Alt+LevelThree;
  541. map[LevelThree]= Level2;
  542. map[Shift+LevelThree]= Level3;
  543. map[Control+Alt]= Level4;
  544. level_name[Level1]= "Base";
  545. level_name[Level2]= "Alt Base";
  546. level_name[Level3]= "Shift Alt";
  547. level_name[Level4]= "Ctrl+Alt";
  548. };
  549. type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" {
  550. modifiers= Shift+Lock+LevelThree;
  551. map[Shift]= Level2;
  552. map[Lock]= Level4;
  553. preserve[Lock]= Lock;
  554. map[LevelThree]= Level3;
  555. map[Shift+LevelThree]= Level4;
  556. map[Lock+LevelThree]= Level3;
  557. preserve[Lock+LevelThree]= Lock;
  558. map[Shift+Lock+LevelThree]= Level3;
  559. level_name[Level1]= "Base";
  560. level_name[Level2]= "Shift";
  561. level_name[Level3]= "AltGr Base";
  562. level_name[Level4]= "Shift AltGr";
  563. };
  564. type "FOUR_LEVEL_PLUS_LOCK" {
  565. modifiers= Shift+Lock+LevelThree;
  566. map[Shift]= Level2;
  567. map[LevelThree]= Level3;
  568. map[Shift+LevelThree]= Level4;
  569. map[Lock]= Level5;
  570. map[Shift+Lock]= Level2;
  571. map[Lock+LevelThree]= Level3;
  572. map[Shift+Lock+LevelThree]= Level4;
  573. level_name[Level1]= "Base";
  574. level_name[Level2]= "Shift";
  575. level_name[Level3]= "Alt Base";
  576. level_name[Level4]= "Shift Alt";
  577. level_name[Level5]= "Lock";
  578. };
  579. type "FOUR_LEVEL_KEYPAD" {
  580. modifiers= Shift+NumLock+LevelThree;
  581. map[Shift]= Level2;
  582. map[NumLock]= Level2;
  583. map[LevelThree]= Level3;
  584. map[Shift+LevelThree]= Level4;
  585. map[NumLock+LevelThree]= Level4;
  586. map[Shift+NumLock+LevelThree]= Level3;
  587. level_name[Level1]= "Base";
  588. level_name[Level2]= "Number";
  589. level_name[Level3]= "Alt Base";
  590. level_name[Level4]= "Alt Number";
  591. };
  592. };
  593. xkb_compatibility "complete" {
  594. virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
  595. interpret.useModMapMods= AnyLevel;
  596. interpret.repeat= False;
  597. interpret.locking= False;
  598. interpret ISO_Level2_Latch+Exactly(Shift) {
  599. useModMapMods=level1;
  600. action= LatchMods(modifiers=Shift,clearLocks,latchToLock);
  601. };
  602. interpret Shift_Lock+AnyOf(Shift+Lock) {
  603. action= LockMods(modifiers=Shift);
  604. };
  605. interpret Num_Lock+AnyOf(all) {
  606. virtualModifier= NumLock;
  607. action= LockMods(modifiers=NumLock);
  608. };
  609. interpret ISO_Level3_Shift+AnyOf(all) {
  610. virtualModifier= LevelThree;
  611. useModMapMods=level1;
  612. action= SetMods(modifiers=LevelThree,clearLocks);
  613. };
  614. interpret ISO_Level3_Latch+AnyOf(all) {
  615. virtualModifier= LevelThree;
  616. useModMapMods=level1;
  617. action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
  618. };
  619. interpret ISO_Level3_Lock+AnyOf(all) {
  620. virtualModifier= LevelThree;
  621. useModMapMods=level1;
  622. action= LockMods(modifiers=LevelThree);
  623. };
  624. interpret Alt_L+AnyOf(all) {
  625. virtualModifier= Alt;
  626. action= SetMods(modifiers=modMapMods,clearLocks);
  627. };
  628. interpret Alt_R+AnyOf(all) {
  629. virtualModifier= Alt;
  630. action= SetMods(modifiers=modMapMods,clearLocks);
  631. };
  632. interpret Meta_L+AnyOf(all) {
  633. virtualModifier= Meta;
  634. action= SetMods(modifiers=modMapMods,clearLocks);
  635. };
  636. interpret Meta_R+AnyOf(all) {
  637. virtualModifier= Meta;
  638. action= SetMods(modifiers=modMapMods,clearLocks);
  639. };
  640. interpret Super_L+AnyOf(all) {
  641. virtualModifier= Super;
  642. action= SetMods(modifiers=modMapMods,clearLocks);
  643. };
  644. interpret Super_R+AnyOf(all) {
  645. virtualModifier= Super;
  646. action= SetMods(modifiers=modMapMods,clearLocks);
  647. };
  648. interpret Hyper_L+AnyOf(all) {
  649. virtualModifier= Hyper;
  650. action= SetMods(modifiers=modMapMods,clearLocks);
  651. };
  652. interpret Hyper_R+AnyOf(all) {
  653. virtualModifier= Hyper;
  654. action= SetMods(modifiers=modMapMods,clearLocks);
  655. };
  656. interpret Scroll_Lock+AnyOf(all) {
  657. virtualModifier= ScrollLock;
  658. action= LockMods(modifiers=modMapMods);
  659. };
  660. interpret ISO_Level5_Shift+AnyOf(all) {
  661. virtualModifier= LevelFive;
  662. useModMapMods=level1;
  663. action= SetMods(modifiers=LevelFive,clearLocks);
  664. };
  665. interpret ISO_Level5_Latch+AnyOf(all) {
  666. virtualModifier= LevelFive;
  667. action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
  668. };
  669. interpret ISO_Level5_Lock+AnyOf(all) {
  670. virtualModifier= LevelFive;
  671. action= LockMods(modifiers=LevelFive);
  672. };
  673. interpret Mode_switch+AnyOfOrNone(all) {
  674. virtualModifier= AltGr;
  675. useModMapMods=level1;
  676. action= SetGroup(group=+1);
  677. };
  678. interpret ISO_Level3_Shift+AnyOfOrNone(all) {
  679. action= SetMods(modifiers=LevelThree,clearLocks);
  680. };
  681. interpret ISO_Level3_Latch+AnyOfOrNone(all) {
  682. action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
  683. };
  684. interpret ISO_Level3_Lock+AnyOfOrNone(all) {
  685. action= LockMods(modifiers=LevelThree);
  686. };
  687. interpret ISO_Group_Latch+AnyOfOrNone(all) {
  688. virtualModifier= AltGr;
  689. useModMapMods=level1;
  690. action= LatchGroup(group=2);
  691. };
  692. interpret ISO_Next_Group+AnyOfOrNone(all) {
  693. virtualModifier= AltGr;
  694. useModMapMods=level1;
  695. action= LockGroup(group=+1);
  696. };
  697. interpret ISO_Prev_Group+AnyOfOrNone(all) {
  698. virtualModifier= AltGr;
  699. useModMapMods=level1;
  700. action= LockGroup(group=-1);
  701. };
  702. interpret ISO_First_Group+AnyOfOrNone(all) {
  703. action= LockGroup(group=1);
  704. };
  705. interpret ISO_Last_Group+AnyOfOrNone(all) {
  706. action= LockGroup(group=2);
  707. };
  708. interpret KP_1+AnyOfOrNone(all) {
  709. repeat= True;
  710. action= MovePtr(x=-1,y=+1);
  711. };
  712. interpret KP_End+AnyOfOrNone(all) {
  713. repeat= True;
  714. action= MovePtr(x=-1,y=+1);
  715. };
  716. interpret KP_2+AnyOfOrNone(all) {
  717. repeat= True;
  718. action= MovePtr(x=+0,y=+1);
  719. };
  720. interpret KP_Down+AnyOfOrNone(all) {
  721. repeat= True;
  722. action= MovePtr(x=+0,y=+1);
  723. };
  724. interpret KP_3+AnyOfOrNone(all) {
  725. repeat= True;
  726. action= MovePtr(x=+1,y=+1);
  727. };
  728. interpret KP_Next+AnyOfOrNone(all) {
  729. repeat= True;
  730. action= MovePtr(x=+1,y=+1);
  731. };
  732. interpret KP_4+AnyOfOrNone(all) {
  733. repeat= True;
  734. action= MovePtr(x=-1,y=+0);
  735. };
  736. interpret KP_Left+AnyOfOrNone(all) {
  737. repeat= True;
  738. action= MovePtr(x=-1,y=+0);
  739. };
  740. interpret KP_6+AnyOfOrNone(all) {
  741. repeat= True;
  742. action= MovePtr(x=+1,y=+0);
  743. };
  744. interpret KP_Right+AnyOfOrNone(all) {
  745. repeat= True;
  746. action= MovePtr(x=+1,y=+0);
  747. };
  748. interpret KP_7+AnyOfOrNone(all) {
  749. repeat= True;
  750. action= MovePtr(x=-1,y=-1);
  751. };
  752. interpret KP_Home+AnyOfOrNone(all) {
  753. repeat= True;
  754. action= MovePtr(x=-1,y=-1);
  755. };
  756. interpret KP_8+AnyOfOrNone(all) {
  757. repeat= True;
  758. action= MovePtr(x=+0,y=-1);
  759. };
  760. interpret KP_Up+AnyOfOrNone(all) {
  761. repeat= True;
  762. action= MovePtr(x=+0,y=-1);
  763. };
  764. interpret KP_9+AnyOfOrNone(all) {
  765. repeat= True;
  766. action= MovePtr(x=+1,y=-1);
  767. };
  768. interpret KP_Prior+AnyOfOrNone(all) {
  769. repeat= True;
  770. action= MovePtr(x=+1,y=-1);
  771. };
  772. interpret KP_5+AnyOfOrNone(all) {
  773. repeat= True;
  774. action= PtrBtn(button=default);
  775. };
  776. interpret KP_Begin+AnyOfOrNone(all) {
  777. repeat= True;
  778. action= PtrBtn(button=default);
  779. };
  780. interpret KP_F2+AnyOfOrNone(all) {
  781. repeat= True;
  782. action= SetPtrDflt(affect=button,button=1);
  783. };
  784. interpret KP_Divide+AnyOfOrNone(all) {
  785. repeat= True;
  786. action= SetPtrDflt(affect=button,button=1);
  787. };
  788. interpret KP_F3+AnyOfOrNone(all) {
  789. repeat= True;
  790. action= SetPtrDflt(affect=button,button=2);
  791. };
  792. interpret KP_Multiply+AnyOfOrNone(all) {
  793. repeat= True;
  794. action= SetPtrDflt(affect=button,button=2);
  795. };
  796. interpret KP_F4+AnyOfOrNone(all) {
  797. repeat= True;
  798. action= SetPtrDflt(affect=button,button=3);
  799. };
  800. interpret KP_Subtract+AnyOfOrNone(all) {
  801. repeat= True;
  802. action= SetPtrDflt(affect=button,button=3);
  803. };
  804. interpret KP_Separator+AnyOfOrNone(all) {
  805. repeat= True;
  806. action= PtrBtn(button=default,count=2);
  807. };
  808. interpret KP_Add+AnyOfOrNone(all) {
  809. repeat= True;
  810. action= PtrBtn(button=default,count=2);
  811. };
  812. interpret KP_0+AnyOfOrNone(all) {
  813. repeat= True;
  814. action= LockPtrBtn(button=default,affect=lock);
  815. };
  816. interpret KP_Insert+AnyOfOrNone(all) {
  817. repeat= True;
  818. action= LockPtrBtn(button=default,affect=lock);
  819. };
  820. interpret KP_Decimal+AnyOfOrNone(all) {
  821. repeat= True;
  822. action= LockPtrBtn(button=default,affect=unlock);
  823. };
  824. interpret KP_Delete+AnyOfOrNone(all) {
  825. repeat= True;
  826. action= LockPtrBtn(button=default,affect=unlock);
  827. };
  828. interpret F25+AnyOfOrNone(all) {
  829. repeat= True;
  830. action= SetPtrDflt(affect=button,button=1);
  831. };
  832. interpret F26+AnyOfOrNone(all) {
  833. repeat= True;
  834. action= SetPtrDflt(affect=button,button=2);
  835. };
  836. interpret F27+AnyOfOrNone(all) {
  837. repeat= True;
  838. action= MovePtr(x=-1,y=-1);
  839. };
  840. interpret F29+AnyOfOrNone(all) {
  841. repeat= True;
  842. action= MovePtr(x=+1,y=-1);
  843. };
  844. interpret F31+AnyOfOrNone(all) {
  845. repeat= True;
  846. action= PtrBtn(button=default);
  847. };
  848. interpret F33+AnyOfOrNone(all) {
  849. repeat= True;
  850. action= MovePtr(x=-1,y=+1);
  851. };
  852. interpret F35+AnyOfOrNone(all) {
  853. repeat= True;
  854. action= MovePtr(x=+1,y=+1);
  855. };
  856. interpret Pointer_Button_Dflt+AnyOfOrNone(all) {
  857. action= PtrBtn(button=default);
  858. };
  859. interpret Pointer_Button1+AnyOfOrNone(all) {
  860. action= PtrBtn(button=1);
  861. };
  862. interpret Pointer_Button2+AnyOfOrNone(all) {
  863. action= PtrBtn(button=2);
  864. };
  865. interpret Pointer_Button3+AnyOfOrNone(all) {
  866. action= PtrBtn(button=3);
  867. };
  868. interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) {
  869. action= PtrBtn(button=default,count=2);
  870. };
  871. interpret Pointer_DblClick1+AnyOfOrNone(all) {
  872. action= PtrBtn(button=1,count=2);
  873. };
  874. interpret Pointer_DblClick2+AnyOfOrNone(all) {
  875. action= PtrBtn(button=2,count=2);
  876. };
  877. interpret Pointer_DblClick3+AnyOfOrNone(all) {
  878. action= PtrBtn(button=3,count=2);
  879. };
  880. interpret Pointer_Drag_Dflt+AnyOfOrNone(all) {
  881. action= LockPtrBtn(button=default,affect=both);
  882. };
  883. interpret Pointer_Drag1+AnyOfOrNone(all) {
  884. action= LockPtrBtn(button=1,affect=both);
  885. };
  886. interpret Pointer_Drag2+AnyOfOrNone(all) {
  887. action= LockPtrBtn(button=2,affect=both);
  888. };
  889. interpret Pointer_Drag3+AnyOfOrNone(all) {
  890. action= LockPtrBtn(button=3,affect=both);
  891. };
  892. interpret Pointer_EnableKeys+AnyOfOrNone(all) {
  893. action= LockControls(controls=MouseKeys);
  894. };
  895. interpret Pointer_Accelerate+AnyOfOrNone(all) {
  896. action= LockControls(controls=MouseKeysAccel);
  897. };
  898. interpret Pointer_DfltBtnNext+AnyOfOrNone(all) {
  899. action= SetPtrDflt(affect=button,button=+1);
  900. };
  901. interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) {
  902. action= SetPtrDflt(affect=button,button=-1);
  903. };
  904. interpret AccessX_Enable+AnyOfOrNone(all) {
  905. action= LockControls(controls=AccessXKeys);
  906. };
  907. interpret AccessX_Feedback_Enable+AnyOfOrNone(all) {
  908. action= LockControls(controls=AccessXFeedback);
  909. };
  910. interpret RepeatKeys_Enable+AnyOfOrNone(all) {
  911. action= LockControls(controls=RepeatKeys);
  912. };
  913. interpret SlowKeys_Enable+AnyOfOrNone(all) {
  914. action= LockControls(controls=SlowKeys);
  915. };
  916. interpret BounceKeys_Enable+AnyOfOrNone(all) {
  917. action= LockControls(controls=BounceKeys);
  918. };
  919. interpret StickyKeys_Enable+AnyOfOrNone(all) {
  920. action= LockControls(controls=StickyKeys);
  921. };
  922. interpret MouseKeys_Enable+AnyOfOrNone(all) {
  923. action= LockControls(controls=MouseKeys);
  924. };
  925. interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) {
  926. action= LockControls(controls=MouseKeysAccel);
  927. };
  928. interpret Overlay1_Enable+AnyOfOrNone(all) {
  929. action= LockControls(controls=Overlay1);
  930. };
  931. interpret Overlay2_Enable+AnyOfOrNone(all) {
  932. action= LockControls(controls=Overlay2);
  933. };
  934. interpret AudibleBell_Enable+AnyOfOrNone(all) {
  935. action= LockControls(controls=AudibleBell);
  936. };
  937. interpret Terminate_Server+AnyOfOrNone(all) {
  938. action= Terminate();
  939. };
  940. interpret Alt_L+AnyOfOrNone(all) {
  941. action= SetMods(modifiers=Alt,clearLocks);
  942. };
  943. interpret Alt_R+AnyOfOrNone(all) {
  944. action= SetMods(modifiers=Alt,clearLocks);
  945. };
  946. interpret Meta_L+AnyOfOrNone(all) {
  947. action= SetMods(modifiers=Meta,clearLocks);
  948. };
  949. interpret Meta_R+AnyOfOrNone(all) {
  950. action= SetMods(modifiers=Meta,clearLocks);
  951. };
  952. interpret Super_L+AnyOfOrNone(all) {
  953. action= SetMods(modifiers=Super,clearLocks);
  954. };
  955. interpret Super_R+AnyOfOrNone(all) {
  956. action= SetMods(modifiers=Super,clearLocks);
  957. };
  958. interpret Hyper_L+AnyOfOrNone(all) {
  959. action= SetMods(modifiers=Hyper,clearLocks);
  960. };
  961. interpret Hyper_R+AnyOfOrNone(all) {
  962. action= SetMods(modifiers=Hyper,clearLocks);
  963. };
  964. interpret Shift_L+AnyOfOrNone(all) {
  965. action= SetMods(modifiers=Shift,clearLocks);
  966. };
  967. interpret XF86Switch_VT_1+AnyOfOrNone(all) {
  968. repeat= True;
  969. action= SwitchScreen(screen=1,!same);
  970. };
  971. interpret XF86Switch_VT_2+AnyOfOrNone(all) {
  972. repeat= True;
  973. action= SwitchScreen(screen=2,!same);
  974. };
  975. interpret XF86Switch_VT_3+AnyOfOrNone(all) {
  976. repeat= True;
  977. action= SwitchScreen(screen=3,!same);
  978. };
  979. interpret XF86Switch_VT_4+AnyOfOrNone(all) {
  980. repeat= True;
  981. action= SwitchScreen(screen=4,!same);
  982. };
  983. interpret XF86Switch_VT_5+AnyOfOrNone(all) {
  984. repeat= True;
  985. action= SwitchScreen(screen=5,!same);
  986. };
  987. interpret XF86Switch_VT_6+AnyOfOrNone(all) {
  988. repeat= True;
  989. action= SwitchScreen(screen=6,!same);
  990. };
  991. interpret XF86Switch_VT_7+AnyOfOrNone(all) {
  992. repeat= True;
  993. action= SwitchScreen(screen=7,!same);
  994. };
  995. interpret XF86Switch_VT_8+AnyOfOrNone(all) {
  996. repeat= True;
  997. action= SwitchScreen(screen=8,!same);
  998. };
  999. interpret XF86Switch_VT_9+AnyOfOrNone(all) {
  1000. repeat= True;
  1001. action= SwitchScreen(screen=9,!same);
  1002. };
  1003. interpret XF86Switch_VT_10+AnyOfOrNone(all) {
  1004. repeat= True;
  1005. action= SwitchScreen(screen=10,!same);
  1006. };
  1007. interpret XF86Switch_VT_11+AnyOfOrNone(all) {
  1008. repeat= True;
  1009. action= SwitchScreen(screen=11,!same);
  1010. };
  1011. interpret XF86Switch_VT_12+AnyOfOrNone(all) {
  1012. repeat= True;
  1013. action= SwitchScreen(screen=12,!same);
  1014. };
  1015. interpret XF86LogGrabInfo+AnyOfOrNone(all) {
  1016. repeat= True;
  1017. 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);
  1018. };
  1019. interpret XF86LogWindowTree+AnyOfOrNone(all) {
  1020. repeat= True;
  1021. 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);
  1022. };
  1023. interpret XF86Next_VMode+AnyOfOrNone(all) {
  1024. repeat= True;
  1025. 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);
  1026. };
  1027. interpret XF86Prev_VMode+AnyOfOrNone(all) {
  1028. repeat= True;
  1029. 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);
  1030. };
  1031. interpret ISO_Level5_Shift+AnyOfOrNone(all) {
  1032. action= SetMods(modifiers=LevelFive,clearLocks);
  1033. };
  1034. interpret ISO_Level5_Latch+AnyOfOrNone(all) {
  1035. action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
  1036. };
  1037. interpret ISO_Level5_Lock+AnyOfOrNone(all) {
  1038. action= LockMods(modifiers=LevelFive);
  1039. };
  1040. interpret Caps_Lock+AnyOfOrNone(all) {
  1041. action= LockMods(modifiers=Lock);
  1042. };
  1043. interpret Any+Exactly(Lock) {
  1044. action= LockMods(modifiers=Lock);
  1045. };
  1046. interpret Any+AnyOf(all) {
  1047. action= SetMods(modifiers=modMapMods,clearLocks);
  1048. };
  1049. group 2 = AltGr;
  1050. group 3 = AltGr;
  1051. group 4 = AltGr;
  1052. indicator "Caps Lock" {
  1053. !allowExplicit;
  1054. whichModState= locked;
  1055. modifiers= Lock;
  1056. };
  1057. indicator "Num Lock" {
  1058. !allowExplicit;
  1059. whichModState= locked;
  1060. modifiers= NumLock;
  1061. };
  1062. indicator "Scroll Lock" {
  1063. whichModState= locked;
  1064. modifiers= ScrollLock;
  1065. };
  1066. indicator "Shift Lock" {
  1067. !allowExplicit;
  1068. whichModState= locked;
  1069. modifiers= Shift;
  1070. };
  1071. indicator "Group 2" {
  1072. !allowExplicit;
  1073. groups= 0xfe;
  1074. };
  1075. indicator "Mouse Keys" {
  1076. indicatorDrivesKeyboard;
  1077. controls= mouseKeys;
  1078. };
  1079. };
  1080. xkb_symbols "pc+de+inet(evdev)+group(menu_toggle)+ctrl(nocaps)" {
  1081. name[group1]="German";
  1082. key <ESC> { [ Escape ] };
  1083. key <AE01> {
  1084. type= "FOUR_LEVEL",
  1085. symbols[Group1]= [ 1, exclam, onesuperior, exclamdown ]
  1086. };
  1087. key <AE02> {
  1088. type= "FOUR_LEVEL",
  1089. symbols[Group1]= [ 2, quotedbl, twosuperior, oneeighth ]
  1090. };
  1091. key <AE03> {
  1092. type= "FOUR_LEVEL",
  1093. symbols[Group1]= [ 3, section, threesuperior, sterling ]
  1094. };
  1095. key <AE04> {
  1096. type= "FOUR_LEVEL",
  1097. symbols[Group1]= [ 4, dollar, onequarter, currency ]
  1098. };
  1099. key <AE05> {
  1100. type= "FOUR_LEVEL",
  1101. symbols[Group1]= [ 5, percent, onehalf, threeeighths ]
  1102. };
  1103. key <AE06> {
  1104. type= "FOUR_LEVEL",
  1105. symbols[Group1]= [ 6, ampersand, notsign, fiveeighths ]
  1106. };
  1107. key <AE07> {
  1108. type= "FOUR_LEVEL",
  1109. symbols[Group1]= [ 7, slash, braceleft, seveneighths ]
  1110. };
  1111. key <AE08> {
  1112. type= "FOUR_LEVEL",
  1113. symbols[Group1]= [ 8, parenleft, bracketleft, trademark ]
  1114. };
  1115. key <AE09> {
  1116. type= "FOUR_LEVEL",
  1117. symbols[Group1]= [ 9, parenright, bracketright, plusminus ]
  1118. };
  1119. key <AE10> {
  1120. type= "FOUR_LEVEL",
  1121. symbols[Group1]= [ 0, equal, braceright, degree ]
  1122. };
  1123. key <AE11> {
  1124. type= "FOUR_LEVEL_PLUS_LOCK",
  1125. symbols[Group1]= [ ssharp, question, backslash, questiondown, U1E9E ]
  1126. };
  1127. key <AE12> {
  1128. type= "FOUR_LEVEL",
  1129. symbols[Group1]= [ dead_acute, dead_grave, dead_cedilla, dead_ogonek ]
  1130. };
  1131. key <BKSP> { [ BackSpace, BackSpace ] };
  1132. key <TAB> { [ Tab, ISO_Left_Tab ] };
  1133. key <AD01> {
  1134. type= "FOUR_LEVEL_SEMIALPHABETIC",
  1135. symbols[Group1]= [ q, Q, at, Greek_OMEGA ]
  1136. };
  1137. key <AD02> {
  1138. type= "FOUR_LEVEL_ALPHABETIC",
  1139. symbols[Group1]= [ w, W, lstroke, Lstroke ]
  1140. };
  1141. key <AD03> {
  1142. type= "FOUR_LEVEL_SEMIALPHABETIC",
  1143. symbols[Group1]= [ e, E, EuroSign, EuroSign ]
  1144. };
  1145. key <AD04> {
  1146. type= "FOUR_LEVEL_SEMIALPHABETIC",
  1147. symbols[Group1]= [ r, R, paragraph, registered ]
  1148. };
  1149. key <AD05> {
  1150. type= "FOUR_LEVEL_ALPHABETIC",
  1151. symbols[Group1]= [ t, T, tslash, Tslash ]
  1152. };
  1153. key <AD06> {
  1154. type= "FOUR_LEVEL_SEMIALPHABETIC",
  1155. symbols[Group1]= [ z, Z, leftarrow, yen ]
  1156. };
  1157. key <AD07> {
  1158. type= "FOUR_LEVEL_SEMIALPHABETIC",
  1159. symbols[Group1]= [ u, U, downarrow, uparrow ]
  1160. };
  1161. key <AD08> {
  1162. type= "FOUR_LEVEL_SEMIALPHABETIC",
  1163. symbols[Group1]= [ i, I, rightarrow, idotless ]
  1164. };
  1165. key <AD09> {
  1166. type= "FOUR_LEVEL_ALPHABETIC",
  1167. symbols[Group1]= [ o, O, oslash, Oslash ]
  1168. };
  1169. key <AD10> {
  1170. type= "FOUR_LEVEL_ALPHABETIC",
  1171. symbols[Group1]= [ p, P, thorn, THORN ]
  1172. };
  1173. key <AD11> {
  1174. type= "FOUR_LEVEL_SEMIALPHABETIC",
  1175. symbols[Group1]= [ udiaeresis, Udiaeresis, dead_diaeresis, dead_abovering ]
  1176. };
  1177. key <AD12> {
  1178. type= "FOUR_LEVEL",
  1179. symbols[Group1]= [ plus, asterisk, asciitilde, macron ]
  1180. };
  1181. key <RTRN> { [ Return ] };
  1182. key <LCTL> { [ Control_L ] };
  1183. key <AC01> {
  1184. type= "FOUR_LEVEL_ALPHABETIC",
  1185. symbols[Group1]= [ a, A, ae, AE ]
  1186. };
  1187. key <AC02> {
  1188. type= "FOUR_LEVEL_SEMIALPHABETIC",
  1189. symbols[Group1]= [ s, S, U017F, U1E9E ]
  1190. };
  1191. key <AC03> {
  1192. type= "FOUR_LEVEL_ALPHABETIC",
  1193. symbols[Group1]= [ d, D, eth, ETH ]
  1194. };
  1195. key <AC04> {
  1196. type= "FOUR_LEVEL_SEMIALPHABETIC",
  1197. symbols[Group1]= [ f, F, dstroke, ordfeminine ]
  1198. };
  1199. key <AC05> {
  1200. type= "FOUR_LEVEL_ALPHABETIC",
  1201. symbols[Group1]= [ g, G, eng, ENG ]
  1202. };
  1203. key <AC06> {
  1204. type= "FOUR_LEVEL_ALPHABETIC",
  1205. symbols[Group1]= [ h, H, hstroke, Hstroke ]
  1206. };
  1207. key <AC07> {
  1208. type= "FOUR_LEVEL_SEMIALPHABETIC",
  1209. symbols[Group1]= [ j, J, dead_belowdot, dead_abovedot ]
  1210. };
  1211. key <AC08> {
  1212. type= "FOUR_LEVEL_SEMIALPHABETIC",
  1213. symbols[Group1]= [ k, K, kra, ampersand ]
  1214. };
  1215. key <AC09> {
  1216. type= "FOUR_LEVEL_ALPHABETIC",
  1217. symbols[Group1]= [ l, L, lstroke, Lstroke ]
  1218. };
  1219. key <AC10> {
  1220. type= "FOUR_LEVEL_SEMIALPHABETIC",
  1221. symbols[Group1]= [ odiaeresis, Odiaeresis, dead_doubleacute, dead_belowdot ]
  1222. };
  1223. key <AC11> {
  1224. type= "FOUR_LEVEL_SEMIALPHABETIC",
  1225. symbols[Group1]= [ adiaeresis, Adiaeresis, dead_circumflex, dead_caron ]
  1226. };
  1227. key <TLDE> {
  1228. type= "FOUR_LEVEL",
  1229. symbols[Group1]= [ dead_circumflex, degree, U2032, U2033 ]
  1230. };
  1231. key <LFSH> { [ Shift_L ] };
  1232. key <BKSL> {
  1233. type= "FOUR_LEVEL",
  1234. symbols[Group1]= [ numbersign, apostrophe, rightsinglequotemark, dead_breve ]
  1235. };
  1236. key <AB01> {
  1237. type= "FOUR_LEVEL_SEMIALPHABETIC",
  1238. symbols[Group1]= [ y, Y, guillemotright, U203A ]
  1239. };
  1240. key <AB02> {
  1241. type= "FOUR_LEVEL_SEMIALPHABETIC",
  1242. symbols[Group1]= [ x, X, guillemotleft, U2039 ]
  1243. };
  1244. key <AB03> {
  1245. type= "FOUR_LEVEL_SEMIALPHABETIC",
  1246. symbols[Group1]= [ c, C, cent, copyright ]
  1247. };
  1248. key <AB04> {
  1249. type= "FOUR_LEVEL_SEMIALPHABETIC",
  1250. symbols[Group1]= [ v, V, doublelowquotemark, singlelowquotemark ]
  1251. };
  1252. key <AB05> {
  1253. type= "FOUR_LEVEL_SEMIALPHABETIC",
  1254. symbols[Group1]= [ b, B, leftdoublequotemark, leftsinglequotemark ]
  1255. };
  1256. key <AB06> {
  1257. type= "FOUR_LEVEL_SEMIALPHABETIC",
  1258. symbols[Group1]= [ n, N, rightdoublequotemark, rightsinglequotemark ]
  1259. };
  1260. key <AB07> {
  1261. type= "FOUR_LEVEL_SEMIALPHABETIC",
  1262. symbols[Group1]= [ m, M, mu, masculine ]
  1263. };
  1264. key <AB08> {
  1265. type= "FOUR_LEVEL",
  1266. symbols[Group1]= [ comma, semicolon, periodcentered, multiply ]
  1267. };
  1268. key <AB09> {
  1269. type= "FOUR_LEVEL",
  1270. symbols[Group1]= [ period, colon, U2026, division ]
  1271. };
  1272. key <AB10> {
  1273. type= "FOUR_LEVEL",
  1274. symbols[Group1]= [ minus, underscore, endash, emdash ]
  1275. };
  1276. key <RTSH> { [ Shift_R ] };
  1277. key <KPMU> {
  1278. type= "CTRL+ALT",
  1279. symbols[Group1]= [ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply, XF86ClearGrab ]
  1280. };
  1281. key <LALT> { [ Alt_L, Meta_L ] };
  1282. key <SPCE> { [ space ] };
  1283. key <CAPS> { [ Control_L, Control_L ] };
  1284. key <FK01> {
  1285. type= "CTRL+ALT",
  1286. symbols[Group1]= [ F1, F1, F1, F1, XF86Switch_VT_1 ]
  1287. };
  1288. key <FK02> {
  1289. type= "CTRL+ALT",
  1290. symbols[Group1]= [ F2, F2, F2, F2, XF86Switch_VT_2 ]
  1291. };
  1292. key <FK03> {
  1293. type= "CTRL+ALT",
  1294. symbols[Group1]= [ F3, F3, F3, F3, XF86Switch_VT_3 ]
  1295. };
  1296. key <FK04> {
  1297. type= "CTRL+ALT",
  1298. symbols[Group1]= [ F4, F4, F4, F4, XF86Switch_VT_4 ]
  1299. };
  1300. key <FK05> {
  1301. type= "CTRL+ALT",
  1302. symbols[Group1]= [ F5, F5, F5, F5, XF86Switch_VT_5 ]
  1303. };
  1304. key <FK06> {
  1305. type= "CTRL+ALT",
  1306. symbols[Group1]= [ F6, F6, F6, F6, XF86Switch_VT_6 ]
  1307. };
  1308. key <FK07> {
  1309. type= "CTRL+ALT",
  1310. symbols[Group1]= [ F7, F7, F7, F7, XF86Switch_VT_7 ]
  1311. };
  1312. key <FK08> {
  1313. type= "CTRL+ALT",
  1314. symbols[Group1]= [ F8, F8, F8, F8, XF86Switch_VT_8 ]
  1315. };
  1316. key <FK09> {
  1317. type= "CTRL+ALT",
  1318. symbols[Group1]= [ F9, F9, F9, F9, XF86Switch_VT_9 ]
  1319. };
  1320. key <FK10> {
  1321. type= "CTRL+ALT",
  1322. symbols[Group1]= [ F10, F10, F10, F10, XF86Switch_VT_10 ]
  1323. };
  1324. key <NMLK> { [ Num_Lock ] };
  1325. key <SCLK> { [ Scroll_Lock ] };
  1326. key <KP7> { [ KP_Home, KP_7 ] };
  1327. key <KP8> { [ KP_Up, KP_8 ] };
  1328. key <KP9> { [ KP_Prior, KP_9 ] };
  1329. key <KPSU> {
  1330. type= "CTRL+ALT",
  1331. symbols[Group1]= [ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract, XF86Prev_VMode ]
  1332. };
  1333. key <KP4> { [ KP_Left, KP_4 ] };
  1334. key <KP5> { [ KP_Begin, KP_5 ] };
  1335. key <KP6> { [ KP_Right, KP_6 ] };
  1336. key <KPAD> {
  1337. type= "CTRL+ALT",
  1338. symbols[Group1]= [ KP_Add, KP_Add, KP_Add, KP_Add, XF86Next_VMode ]
  1339. };
  1340. key <KP1> { [ KP_End, KP_1 ] };
  1341. key <KP2> { [ KP_Down, KP_2 ] };
  1342. key <KP3> { [ KP_Next, KP_3 ] };
  1343. key <KP0> { [ KP_Insert, KP_0 ] };
  1344. key <KPDL> {
  1345. type= "KEYPAD",
  1346. symbols[Group1]= [ KP_Delete, KP_Separator ]
  1347. };
  1348. key <LVL3> {
  1349. type= "ONE_LEVEL",
  1350. symbols[Group1]= [ ISO_Level3_Shift ],
  1351. actions[Group1]= [ SetMods(modifiers=LevelThree) ]
  1352. };
  1353. key <LSGT> {
  1354. type= "FOUR_LEVEL",
  1355. symbols[Group1]= [ less, greater, bar, brokenbar ]
  1356. };
  1357. key <FK11> {
  1358. type= "CTRL+ALT",
  1359. symbols[Group1]= [ F11, F11, F11, F11, XF86Switch_VT_11 ]
  1360. };
  1361. key <FK12> {
  1362. type= "CTRL+ALT",
  1363. symbols[Group1]= [ F12, F12, F12, F12, XF86Switch_VT_12 ]
  1364. };
  1365. key <KATA> { [ Katakana ] };
  1366. key <HIRA> { [ Hiragana ] };
  1367. key <HENK> { [ Henkan_Mode ] };
  1368. key <HKTG> { [ Hiragana_Katakana ] };
  1369. key <MUHE> { [ Muhenkan ] };
  1370. key <KPEN> { [ KP_Enter ] };
  1371. key <RCTL> { [ Control_R ] };
  1372. key <KPDV> {
  1373. type= "CTRL+ALT",
  1374. symbols[Group1]= [ KP_Divide, KP_Divide, KP_Divide, KP_Divide, XF86Ungrab ]
  1375. };
  1376. key <PRSC> {
  1377. type= "PC_ALT_LEVEL2",
  1378. symbols[Group1]= [ Print, Sys_Req ]
  1379. };
  1380. key <RALT> {
  1381. type= "ONE_LEVEL",
  1382. symbols[Group1]= [ ISO_Level3_Shift ]
  1383. };
  1384. key <LNFD> { [ Linefeed ] };
  1385. key <HOME> { [ Home ] };
  1386. key <UP> { [ Up ] };
  1387. key <PGUP> { [ Prior ] };
  1388. key <LEFT> { [ Left ] };
  1389. key <RGHT> { [ Right ] };
  1390. key <END> { [ End ] };
  1391. key <DOWN> { [ Down ] };
  1392. key <PGDN> { [ Next ] };
  1393. key <INS> { [ Insert ] };
  1394. key <DELE> { [ Delete ] };
  1395. key <MUTE> { [ XF86AudioMute ] };
  1396. key <VOL-> { [ XF86AudioLowerVolume ] };
  1397. key <VOL+> { [ XF86AudioRaiseVolume ] };
  1398. key <POWR> { [ XF86PowerOff ] };
  1399. key <KPEQ> { [ KP_Equal ] };
  1400. key <I126> { [ plusminus ] };
  1401. key <PAUS> {
  1402. type= "PC_CONTROL_LEVEL2",
  1403. symbols[Group1]= [ Pause, Break ]
  1404. };
  1405. key <I128> { [ XF86LaunchA ] };
  1406. key <I129> { [ KP_Decimal, KP_Decimal ] };
  1407. key <HNGL> { [ Hangul ] };
  1408. key <HJCV> { [ Hangul_Hanja ] };
  1409. key <LWIN> { [ Super_L ] };
  1410. key <RWIN> { [ Super_R ] };
  1411. key <COMP> { [ ISO_Next_Group, Menu ] };
  1412. key <STOP> { [ Cancel ] };
  1413. key <AGAI> { [ Redo ] };
  1414. key <PROP> { [ SunProps ] };
  1415. key <UNDO> { [ Undo ] };
  1416. key <FRNT> { [ SunFront ] };
  1417. key <COPY> { [ XF86Copy ] };
  1418. key <OPEN> { [ XF86Open ] };
  1419. key <PAST> { [ XF86Paste ] };
  1420. key <FIND> { [ Find ] };
  1421. key <CUT> { [ XF86Cut ] };
  1422. key <HELP> { [ Help ] };
  1423. key <I147> { [ XF86MenuKB ] };
  1424. key <I148> { [ XF86Calculator ] };
  1425. key <I150> { [ XF86Sleep ] };
  1426. key <I151> { [ XF86WakeUp ] };
  1427. key <I152> { [ XF86Explorer ] };
  1428. key <I153> { [ XF86Send ] };
  1429. key <I155> { [ XF86Xfer ] };
  1430. key <I156> { [ XF86Launch1 ] };
  1431. key <I157> { [ XF86Launch2 ] };
  1432. key <I158> { [ XF86WWW ] };
  1433. key <I159> { [ XF86DOS ] };
  1434. key <I160> { [ XF86ScreenSaver ] };
  1435. key <I162> { [ XF86RotateWindows ] };
  1436. key <I163> { [ XF86Mail ] };
  1437. key <I164> { [ XF86Favorites ] };
  1438. key <I165> { [ XF86MyComputer ] };
  1439. key <I166> { [ XF86Back ] };
  1440. key <I167> { [ XF86Forward ] };
  1441. key <I169> { [ XF86Eject ] };
  1442. key <I170> { [ XF86Eject, XF86Eject ] };
  1443. key <I171> { [ XF86AudioNext ] };
  1444. key <I172> { [ XF86AudioPlay, XF86AudioPause ] };
  1445. key <I173> { [ XF86AudioPrev ] };
  1446. key <I174> { [ XF86AudioStop, XF86Eject ] };
  1447. key <I175> { [ XF86AudioRecord ] };
  1448. key <I176> { [ XF86AudioRewind ] };
  1449. key <I177> { [ XF86Phone ] };
  1450. key <I179> { [ XF86Tools ] };
  1451. key <I180> { [ XF86HomePage ] };
  1452. key <I181> { [ XF86Reload ] };
  1453. key <I182> { [ XF86Close ] };
  1454. key <I185> { [ XF86ScrollUp ] };
  1455. key <I186> { [ XF86ScrollDown ] };
  1456. key <I187> { [ parenleft ] };
  1457. key <I188> { [ parenright ] };
  1458. key <I189> { [ XF86New ] };
  1459. key <I190> { [ Redo ] };
  1460. key <FK13> { [ XF86Tools ] };
  1461. key <FK14> { [ XF86Launch5 ] };
  1462. key <FK15> { [ XF86Launch6 ] };
  1463. key <FK16> { [ XF86Launch7 ] };
  1464. key <FK17> { [ XF86Launch8 ] };
  1465. key <FK18> { [ XF86Launch9 ] };
  1466. key <FK21> { [ XF86TouchpadToggle ] };
  1467. key <FK22> { [ XF86TouchpadOn ] };
  1468. key <FK23> { [ XF86TouchpadOff ] };
  1469. key <MDSW> { [ Mode_switch ] };
  1470. key <ALT> { [ NoSymbol, Alt_L ] };
  1471. key <META> { [ NoSymbol, Meta_L ] };
  1472. key <SUPR> { [ NoSymbol, Super_L ] };
  1473. key <HYPR> { [ NoSymbol, Hyper_L ] };
  1474. key <I208> { [ XF86AudioPlay ] };
  1475. key <I209> { [ XF86AudioPause ] };
  1476. key <I210> { [ XF86Launch3 ] };
  1477. key <I211> { [ XF86Launch4 ] };
  1478. key <I212> { [ XF86LaunchB ] };
  1479. key <I213> { [ XF86Suspend ] };
  1480. key <I214> { [ XF86Close ] };
  1481. key <I215> { [ XF86AudioPlay ] };
  1482. key <I216> { [ XF86AudioForward ] };
  1483. key <I218> { [ Print ] };
  1484. key <I220> { [ XF86WebCam ] };
  1485. key <I223> { [ XF86Mail ] };
  1486. key <I224> { [ XF86Messenger ] };
  1487. key <I225> { [ XF86Search ] };
  1488. key <I226> { [ XF86Go ] };
  1489. key <I227> { [ XF86Finance ] };
  1490. key <I228> { [ XF86Game ] };
  1491. key <I229> { [ XF86Shop ] };
  1492. key <I231> { [ Cancel ] };
  1493. key <I232> { [ XF86MonBrightnessDown ] };
  1494. key <I233> { [ XF86MonBrightnessUp ] };
  1495. key <I234> { [ XF86AudioMedia ] };
  1496. key <I235> { [ XF86Display ] };
  1497. key <I236> { [ XF86KbdLightOnOff ] };
  1498. key <I237> { [ XF86KbdBrightnessDown ] };
  1499. key <I238> { [ XF86KbdBrightnessUp ] };
  1500. key <I239> { [ XF86Send ] };
  1501. key <I240> { [ XF86Reply ] };
  1502. key <I241> { [ XF86MailForward ] };
  1503. key <I242> { [ XF86Save ] };
  1504. key <I243> { [ XF86Documents ] };
  1505. key <I244> { [ XF86Battery ] };
  1506. key <I245> { [ XF86Bluetooth ] };
  1507. key <I246> { [ XF86WLAN ] };
  1508. modifier_map Control { <LCTL> };
  1509. modifier_map Shift { <LFSH> };
  1510. modifier_map Shift { <RTSH> };
  1511. modifier_map Mod1 { <LALT> };
  1512. modifier_map Control { <CAPS> };
  1513. modifier_map Mod2 { <NMLK> };
  1514. modifier_map Mod5 { <LVL3> };
  1515. modifier_map Control { <RCTL> };
  1516. modifier_map Mod4 { <LWIN> };
  1517. modifier_map Mod4 { <RWIN> };
  1518. modifier_map Mod5 { <MDSW> };
  1519. modifier_map Mod1 { <META> };
  1520. modifier_map Mod4 { <SUPR> };
  1521. modifier_map Mod4 { <HYPR> };
  1522. };
  1523. };