pure-virtual-mods-implicit.xkb 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  1. xkb_keymap {
  2. xkb_keycodes "test" {
  3. minimum = 8;
  4. maximum = 255;
  5. <TLDE> = 49;
  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. <BKSL> = 51;
  33. <RTRN> = 36;
  34. <CAPS> = 66;
  35. <AC01> = 38;
  36. <AC02> = 39;
  37. <AC03> = 40;
  38. <AC04> = 41;
  39. <AC05> = 42;
  40. <AC06> = 43;
  41. <AC07> = 44;
  42. <AC08> = 45;
  43. <AC09> = 46;
  44. <AC10> = 47;
  45. <AC11> = 48;
  46. alias <AC12> = <BKSL>;
  47. <LFSH> = 50;
  48. <LSGT> = 94;
  49. <AB01> = 52;
  50. <AB02> = 53;
  51. <AB03> = 54;
  52. <AB04> = 55;
  53. <AB05> = 56;
  54. <AB06> = 57;
  55. <AB07> = 58;
  56. <AB08> = 59;
  57. <AB09> = 60;
  58. <AB10> = 61;
  59. <RTSH> = 62;
  60. <LVL3> = 92;
  61. <RALT> = 108;
  62. };
  63. xkb_types "complete" {
  64. // Define >20 virtual modifiers. This lead to overcome the X11 limit of
  65. // 16 virtual modifiers.
  66. virtual_modifiers
  67. LevelThree,
  68. ModA,
  69. ModB,
  70. ModC,
  71. ModD,
  72. ModE,
  73. ModF,
  74. ModG,
  75. ModH,
  76. ModI,
  77. ModJ,
  78. ModK,
  79. ModL,
  80. ModM,
  81. ModN,
  82. ModO,
  83. ModP,
  84. ModQ,
  85. ModR,
  86. ModS,
  87. ModT,
  88. ModU,
  89. ModV;
  90. type "ONE_LEVEL" {
  91. modifiers= none;
  92. level_name[Level1]= "Any";
  93. };
  94. type "TWO_LEVEL" {
  95. modifiers= Shift;
  96. map[Shift]= 2;
  97. level_name[1]= "Base";
  98. level_name[2]= "Shift";
  99. };
  100. type "TEST" {
  101. modifiers=
  102. Shift + LevelThree +
  103. ModA + ModB + ModC + ModD + ModE + ModF + ModG +
  104. ModH + ModI + ModJ + ModK + ModL + ModM + ModN +
  105. ModO + ModP + ModQ + ModR + ModS + ModT + ModU + ModV;
  106. map[ModA]= 2;
  107. map[ModB]= 3;
  108. map[ModC]= 4;
  109. map[ModD]= 5;
  110. map[ModE]= 6;
  111. map[ModF]= 7;
  112. map[ModG]= 8;
  113. map[ModH]= 9;
  114. map[ModI]= 10;
  115. map[ModJ]= 11;
  116. map[ModK]= 12;
  117. map[ModL]= 13;
  118. map[ModM]= 14;
  119. map[ModN]= 15;
  120. map[ModO]= 16;
  121. map[ModP]= 17;
  122. map[ModQ]= 18;
  123. map[ModR]= 19;
  124. map[ModS]= 20;
  125. map[ModT]= 21;
  126. map[ModU]= 22;
  127. map[ModV]= 23;
  128. map[ModV+Shift]= 24;
  129. map[ModA+ModS]= 25;
  130. map[ModA+ModQ]= 26;
  131. map[LevelThree+ModA]= 27;
  132. map[LevelThree+ModA+ModS]= 28;
  133. map[ModA+ModB+ModC]= 29;
  134. level_name[1]= "1";
  135. level_name[2]= "2";
  136. level_name[3]= "3";
  137. level_name[4]= "4";
  138. level_name[5]= "5";
  139. level_name[6]= "6";
  140. level_name[7]= "7";
  141. level_name[8]= "8";
  142. level_name[9]= "9";
  143. level_name[10]= "10";
  144. level_name[11]= "11";
  145. level_name[12]= "12";
  146. level_name[13]= "13";
  147. level_name[14]= "14";
  148. level_name[15]= "15";
  149. level_name[16]= "16";
  150. level_name[17]= "17";
  151. level_name[18]= "18";
  152. level_name[19]= "19";
  153. level_name[20]= "20";
  154. level_name[21]= "21";
  155. level_name[22]= "22";
  156. level_name[23]= "23";
  157. level_name[24]= "24";
  158. level_name[25]= "25";
  159. level_name[26]= "26";
  160. level_name[27]= "27";
  161. level_name[28]= "28";
  162. level_name[29]= "29";
  163. };
  164. };
  165. xkb_compatibility "complete" {
  166. virtual_modifiers LevelThree, ModA, ModB, ModC, ModD;
  167. interpret.useModMapMods= AnyLevel;
  168. interpret.repeat= False;
  169. interpret.locking= False;
  170. interpret Any+AnyOf(all) {
  171. action= SetMods(modifiers=modMapMods,clearLocks);
  172. };
  173. interpret ISO_Level3_Shift+AnyOf(all) {
  174. virtualModifier= LevelThree;
  175. useModMapMods=level1;
  176. action= SetMods(modifiers=LevelThree,clearLocks);
  177. };
  178. interpret a {
  179. action= SetMods(modifiers=ModA,clearLocks);
  180. };
  181. interpret b {
  182. action= SetMods(modifiers=ModB,clearLocks);
  183. };
  184. interpret c {
  185. action= SetMods(modifiers=ModC,clearLocks);
  186. };
  187. interpret d {
  188. action= SetMods(modifiers=ModD,clearLocks);
  189. };
  190. interpret e {
  191. action= SetMods(modifiers=ModE,clearLocks);
  192. };
  193. interpret f {
  194. action= SetMods(modifiers=ModF,clearLocks);
  195. };
  196. interpret g {
  197. action= SetMods(modifiers=ModG,clearLocks);
  198. };
  199. interpret h {
  200. action= SetMods(modifiers=ModH,clearLocks);
  201. };
  202. interpret i {
  203. action= SetMods(modifiers=ModI,clearLocks);
  204. };
  205. interpret j {
  206. action= SetMods(modifiers=ModJ,clearLocks);
  207. };
  208. interpret k {
  209. action= SetMods(modifiers=ModK,clearLocks);
  210. };
  211. interpret l {
  212. action= SetMods(modifiers=ModL,clearLocks);
  213. };
  214. interpret m {
  215. action= SetMods(modifiers=ModM,clearLocks);
  216. };
  217. interpret n {
  218. action= SetMods(modifiers=ModN,clearLocks);
  219. };
  220. interpret o {
  221. action= SetMods(modifiers=ModO,clearLocks);
  222. };
  223. interpret p {
  224. action= SetMods(modifiers=ModP,clearLocks);
  225. };
  226. interpret q {
  227. action= SetMods(modifiers=ModQ,clearLocks);
  228. };
  229. interpret r {
  230. action= SetMods(modifiers=ModR,clearLocks);
  231. };
  232. interpret s {
  233. action= SetMods(modifiers=ModS,clearLocks);
  234. };
  235. interpret t {
  236. action= SetMods(modifiers=ModT,clearLocks);
  237. };
  238. interpret u {
  239. action= SetMods(modifiers=ModU,clearLocks);
  240. };
  241. interpret v {
  242. action= SetMods(modifiers=ModV,clearLocks);
  243. };
  244. };
  245. xkb_symbols {
  246. name[group1]="Test";
  247. key <LFSH> { [Shift_L] };
  248. key <RALT> { [ISO_Level3_Shift] };
  249. key <LVL3> { [ISO_Level3_Shift] };
  250. modmap Shift { <LFSH> };
  251. modmap Mod5 { <LVL3>, <RALT> };
  252. key <AD01> {[ q, Q ]};
  253. key <AD02> {[ w, W ]};
  254. key <AD03> {[ e, E ]};
  255. key <AD04> {[ r, R ]};
  256. key <AD05> {[ t, T ]};
  257. key <AD06> {[ y, Y ]};
  258. key <AD07> {[ u, U ]};
  259. key <AD08> {[ i, I ]};
  260. key <AD09> {[ o, O ]};
  261. key <AD10> {[ p, P ]};
  262. key <AC01> {[ a, A ]};
  263. key <AC02> {[ s, S ]};
  264. key <AC03> {[ d, D ]};
  265. key <AC04> {[ f, F ]};
  266. key <AC05> {[ g, G ]};
  267. key <AC06> {[ h, H ]};
  268. key <AC07> {[ j, J ]};
  269. key <AC08> {[ k, K ]};
  270. key <AC09> {[ l, L ]};
  271. key <AB01> {[ z, Z ]};
  272. key <AB02> {[ x, X ]};
  273. key <AB03> {[ c, C ]};
  274. key <AB04> {[ v, V ]};
  275. key <AB05> {[ b, B ]};
  276. key <AB06> {[ n, N ]};
  277. key <AB07> {[ m, M ]};
  278. key.type[1] = "TEST";
  279. key <AD02> {
  280. [ w, a, b, c, d, e, f, g, h, i, j, k, l, m, n
  281. , o, p, q, r, s, t, u, v, V, 1, 2, 3, 4, 5 ]
  282. };
  283. };
  284. };