modmap-none.xkb 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. xkb_keymap {
  2. xkb_keycodes "test" {
  3. minimum = 8;
  4. maximum = 255;
  5. <LVL3> = 92;
  6. <LFSH> = 50;
  7. <RTSH> = 62;
  8. <LALT> = 64;
  9. <RALT> = 108;
  10. <LWIN> = 133;
  11. <RWIN> = 134;
  12. <LCTL> = 37;
  13. <RCTL> = 105;
  14. <CAPS> = 66;
  15. <AD01> = 24;
  16. <AD02> = 25;
  17. <AD03> = 26;
  18. <AD04> = 27;
  19. <AD05> = 28;
  20. <AD06> = 29;
  21. <AD07> = 30;
  22. <AD08> = 31;
  23. <AD09> = 32;
  24. <AD10> = 33;
  25. <AD11> = 34;
  26. };
  27. xkb_types "complete" {
  28. type "ONE_LEVEL" {
  29. modifiers= none;
  30. level_name[Level1]= "Any";
  31. };
  32. type "TWO_LEVEL" {
  33. modifiers= Shift;
  34. map[Shift]= 2;
  35. level_name[1]= "Base";
  36. level_name[2]= "Shift";
  37. };
  38. };
  39. xkb_compatibility "complete" {
  40. interpret.useModMapMods= AnyLevel;
  41. interpret.repeat= False;
  42. interpret.locking= False;
  43. interpret Any+AnyOf(all) {
  44. action= SetMods(modifiers=modMapMods,clearLocks);
  45. };
  46. };
  47. xkb_symbols {
  48. name[group1]="Test";
  49. // Reset modmap with a key with empty modmap
  50. key <LVL3> { [VoidSymbol] };
  51. modmap None { <LVL3> };
  52. // Reset modmap with one key
  53. key <LFSH> { [Shift_L] };
  54. modmap Shift { <LFSH> };
  55. modmap none { <LFSH> };
  56. // Reset modmap with one symbol
  57. key <RTSH> { [Shift_R] };
  58. modmap Shift { Shift_R };
  59. modmap NONE { Shift_R };
  60. // Cycle
  61. key <LWIN> { [Super_L] };
  62. modmap Mod4 { <LWIN> };
  63. modmap None { <LWIN> };
  64. modmap Mod4 { <LWIN> };
  65. // Cycle
  66. key <RWIN> { [Super_R] };
  67. modmap Mod4 { <RWIN> };
  68. modmap None { <RWIN> };
  69. modmap Mod4 { Super_R };
  70. // Mix keycode and keysym
  71. key <LCTL> { [Control_L] };
  72. modmap Control { Control_L };
  73. modmap None { <LCTL> };
  74. // Mix keycode and keysym
  75. key <RCTL> { [Control_R] };
  76. modmap Control { <RCTL> };
  77. modmap None { Control_R };
  78. // Re-set with different modifier
  79. key <LALT> { [Alt_L] };
  80. modmap Mod2 { <LALT> };
  81. modmap None { <LALT> };
  82. modmap Mod1 { <LALT> };
  83. // Re-set with different modifier with both key and keysym
  84. key <RALT> { [ISO_Level3_Shift] };
  85. modmap Mod1 { <RALT> }; // Mod1
  86. modmap None { <RALT> }; // None
  87. modmap Mod2 { <RALT> }; // Mod2
  88. modmap Mod3 { ISO_Level3_Shift }; // Mod2 | Mod3
  89. modmap None { ISO_Level3_Shift }; // Mod2
  90. modmap Mod5 { ISO_Level3_Shift }; // Mod2 | Mod5
  91. // Re-set with different modifier with both key and keysym
  92. key <CAPS> { [Caps_Lock] };
  93. modmap Mod1 { Caps_Lock }; // Mod1
  94. modmap None { <CAPS> }; // Mod1
  95. modmap None { Caps_Lock }; // None
  96. modmap Lock { <CAPS> }; // Lock
  97. // Merge modes
  98. key <AD01> { [q] };
  99. modMap Mod1 { <AD01> };
  100. augment modMap None { <AD01> };
  101. key <AD02> { [w] };
  102. modMap Mod2 { <AD02> };
  103. override modMap None { <AD02> };
  104. key <AD03> { [e] };
  105. modMap Mod3 { <AD03> };
  106. replace modMap None { <AD03> };
  107. key <AD04> { [r] };
  108. modMap Mod1 { <AD04> };
  109. augment modMap None { r };
  110. key <AD05> { [t] };
  111. modMap Mod2 { <AD05> };
  112. replace modMap None { t };
  113. key <AD06> { [y] };
  114. modMap Mod3 { <AD06> };
  115. override modMap None { y };
  116. key <AD07> { [u] };
  117. modMap Mod1 { <AD07> };
  118. replace key <AD07> { [U] }; // Won’t affect the modMap
  119. key <AD08> { [i] };
  120. modMap Mod2 { i, I };
  121. replace key <AD08> { [I] };
  122. modMap None { i }; // Does not resolve
  123. key <AD09> { [1] };
  124. modMap Mod3 { 1, 2 };
  125. override key <AD09> { [NoSymbol, 2] };
  126. modMap None { 1 };
  127. key <AD10> { [3, 4] };
  128. modMap Mod1+Mod2 { <AD10> };
  129. modMap Mod3 { 3 };
  130. modMap Shift+Lock { 4 };
  131. modMap Mod4 { 4 };
  132. modMap None { <AD10> };
  133. key <AD11> { [5, 6] };
  134. modMap Mod1+Mod2 { 5 };
  135. modMap Mod3 { <AD11> };
  136. modMap Shift { 6 };
  137. modMap Mod4+Mod5 { 6 };
  138. modMap None { 5 };
  139. };
  140. };