symbols-multi-keysyms.xkb 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. xkb_keymap {
  2. xkb_keycodes {
  3. minimum = 1;
  4. maximum = 255;
  5. <01> = 1;
  6. <02> = 2;
  7. <03> = 3;
  8. <04> = 4;
  9. <05> = 5;
  10. <06> = 6;
  11. <07> = 7;
  12. <08> = 8;
  13. <09> = 9;
  14. <10> = 10;
  15. <11> = 11;
  16. <12> = 12;
  17. <13> = 13;
  18. <14> = 14;
  19. <15> = 15;
  20. indicator 1 = "Caps Lock";
  21. indicator 2 = "Num Lock";
  22. indicator 3 = "Shift Lock";
  23. };
  24. xkb_types "basic_extra" {
  25. virtual_modifiers NumLock=0x100,Alt=0x200,LevelThree=0x400,AltGr=0x800;
  26. type "ONE_LEVEL" {
  27. modifiers= none;
  28. level_name[1]= "Any";
  29. };
  30. type "TWO_LEVEL" {
  31. modifiers= Shift;
  32. map[Shift]= 2;
  33. level_name[1]= "Base";
  34. level_name[2]= "Shift";
  35. };
  36. type "ALPHABETIC" {
  37. modifiers= Shift+Lock;
  38. map[Shift]= 2;
  39. map[Lock]= 2;
  40. level_name[1]= "Base";
  41. level_name[2]= "Caps";
  42. };
  43. type "FOUR_LEVEL" {
  44. modifiers= Shift+LevelThree;
  45. map[Shift]= 2;
  46. map[LevelThree]= 3;
  47. map[Shift+LevelThree]= 4;
  48. level_name[1]= "Base";
  49. level_name[2]= "Shift";
  50. level_name[3]= "Alt Base";
  51. level_name[4]= "Shift Alt";
  52. };
  53. type "FOUR_LEVEL_ALPHABETIC" {
  54. modifiers= Shift+Lock+LevelThree;
  55. map[Shift]= 2;
  56. map[Lock]= 2;
  57. map[LevelThree]= 3;
  58. map[Shift+LevelThree]= 4;
  59. map[Lock+LevelThree]= 4;
  60. map[Shift+Lock+LevelThree]= 3;
  61. level_name[1]= "Base";
  62. level_name[2]= "Shift";
  63. level_name[3]= "Alt Base";
  64. level_name[4]= "Shift Alt";
  65. };
  66. type "FOUR_LEVEL_SEMIALPHABETIC" {
  67. modifiers= Shift+Lock+LevelThree;
  68. map[Shift]= 2;
  69. map[Lock]= 2;
  70. map[LevelThree]= 3;
  71. map[Shift+LevelThree]= 4;
  72. map[Lock+LevelThree]= 3;
  73. preserve[Lock+LevelThree]= Lock;
  74. map[Shift+Lock+LevelThree]= 4;
  75. preserve[Shift+Lock+LevelThree]= Lock;
  76. level_name[1]= "Base";
  77. level_name[2]= "Shift";
  78. level_name[3]= "Alt Base";
  79. level_name[4]= "Shift Alt";
  80. };
  81. type "FOUR_LEVEL_MIXED_KEYPAD" {
  82. modifiers= Shift+NumLock+LevelThree;
  83. map[NumLock]= 2;
  84. map[Shift]= 2;
  85. map[LevelThree]= 3;
  86. map[NumLock+LevelThree]= 3;
  87. map[Shift+LevelThree]= 4;
  88. map[Shift+NumLock+LevelThree]= 4;
  89. level_name[1]= "Base";
  90. level_name[2]= "Number";
  91. level_name[3]= "Alt Base";
  92. level_name[4]= "Shift Alt";
  93. };
  94. type "FOUR_LEVEL_X" {
  95. modifiers= Shift+Control+Alt+LevelThree;
  96. map[LevelThree]= 2;
  97. map[Shift+LevelThree]= 3;
  98. map[Control+Alt]= 4;
  99. level_name[1]= "Base";
  100. level_name[2]= "Alt Base";
  101. level_name[3]= "Shift Alt";
  102. level_name[4]= "Ctrl+Alt";
  103. };
  104. type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" {
  105. modifiers= Shift+Lock+LevelThree;
  106. map[Shift]= 2;
  107. map[Lock]= 4;
  108. preserve[Lock]= Lock;
  109. map[LevelThree]= 3;
  110. map[Shift+LevelThree]= 4;
  111. map[Lock+LevelThree]= 3;
  112. preserve[Lock+LevelThree]= Lock;
  113. map[Shift+Lock+LevelThree]= 3;
  114. level_name[1]= "Base";
  115. level_name[2]= "Shift";
  116. level_name[3]= "AltGr Base";
  117. level_name[4]= "Shift AltGr";
  118. };
  119. type "FOUR_LEVEL_PLUS_LOCK" {
  120. modifiers= Shift+Lock+LevelThree;
  121. map[Shift]= 2;
  122. map[LevelThree]= 3;
  123. map[Shift+LevelThree]= 4;
  124. map[Lock]= 5;
  125. map[Shift+Lock]= 2;
  126. map[Lock+LevelThree]= 3;
  127. map[Shift+Lock+LevelThree]= 4;
  128. level_name[1]= "Base";
  129. level_name[2]= "Shift";
  130. level_name[3]= "Alt Base";
  131. level_name[4]= "Shift Alt";
  132. level_name[5]= "Lock";
  133. };
  134. };
  135. xkb_compatibility "basic" {
  136. virtual_modifiers NumLock=0x100,Alt=0x200,LevelThree=0x400,AltGr=0x800;
  137. interpret.useModMapMods= AnyLevel;
  138. interpret.repeat= False;
  139. interpret Shift_Lock+AnyOf(Shift+Lock) {
  140. action= LockMods(modifiers=Shift);
  141. };
  142. interpret Num_Lock+AnyOf(all) {
  143. virtualModifier= NumLock;
  144. action= LockMods(modifiers=NumLock);
  145. };
  146. interpret ISO_Group_Shift+AnyOfOrNone(all) {
  147. virtualModifier= AltGr;
  148. useModMapMods=level1;
  149. action= SetGroup(group=+1);
  150. };
  151. interpret Any+Exactly(Lock) {
  152. action= LockMods(modifiers=Lock);
  153. };
  154. interpret Any+AnyOf(all) {
  155. action= SetMods(modifiers=modMapMods,clearLocks);
  156. };
  157. indicator "Caps Lock" {
  158. whichModState= locked;
  159. modifiers= Lock;
  160. };
  161. indicator "Num Lock" {
  162. whichModState= locked;
  163. modifiers= NumLock;
  164. };
  165. indicator "Shift Lock" {
  166. whichModState= locked;
  167. modifiers= Shift;
  168. };
  169. };
  170. xkb_symbols {
  171. key <01> { [ a ] };
  172. key <02> { [ a, b ] };
  173. key <04> { [ NoSymbol, b ] };
  174. key <05> { [ a ] };
  175. key <07> { [ a ] };
  176. key <08> { [ a, b ] };
  177. key <09> { [ { a, b } ] };
  178. key <10> { [ { a, b, c } ] };
  179. key <11> { [ a, { b, c } ] };
  180. key <12> { [ { a, b }, c ] };
  181. key <13> { [ { a, b }, { c, d } ] };
  182. key <14> { [ { a, b }, c, { d, a }, NoSymbol ] };
  183. key <15> { [ { a, b }, { c, d }, a, NoSymbol ] };
  184. };
  185. };