logo

oasis-root

Compiled tree of Oasis Linux based on own branch at <https://hacktivis.me/git/oasis/> git clone https://anongit.hacktivis.me/git/oasis-root.git

level5 (8219B)


  1. default partial xkb_types "default" {
  2. // Defines a type with an eight-level shift, similar to the three-level
  3. // type used for iso9995, but it lets the Shift key behave "normally".
  4. virtual_modifiers LevelThree,ScrollLock,LevelFive;
  5. type "EIGHT_LEVEL" {
  6. modifiers = Shift+LevelThree+LevelFive;
  7. map[None] = Level1;
  8. map[Shift] = Level2;
  9. map[LevelThree] = Level3;
  10. map[Shift+LevelThree] = Level4;
  11. map[LevelFive] = Level5;
  12. map[Shift+LevelFive] = Level6;
  13. map[LevelThree+LevelFive] = Level7;
  14. map[Shift+LevelThree+LevelFive] = Level8;
  15. level_name[Level1] = "Base";
  16. level_name[Level2] = "Shift";
  17. level_name[Level3] = "Alt Base";
  18. level_name[Level4] = "Shift Alt";
  19. level_name[Level5] = "X";
  20. level_name[Level6] = "X Shift";
  21. level_name[Level7] = "X Alt Base";
  22. level_name[Level8] = "X Shift Alt";
  23. };
  24. type "EIGHT_LEVEL_ALPHABETIC" {
  25. modifiers = Shift+Lock+LevelThree+LevelFive;
  26. map[None] = Level1;
  27. map[Shift] = Level2;
  28. map[Lock] = Level2;
  29. map[LevelThree] = Level3;
  30. map[Shift+LevelThree] = Level4;
  31. map[Lock+LevelThree] = Level4;
  32. map[Lock+Shift+LevelThree] = Level3;
  33. map[LevelFive] = Level5;
  34. map[Shift+LevelFive] = Level6;
  35. map[Lock+LevelFive] = Level6;
  36. map[LevelThree+LevelFive] = Level7;
  37. map[Shift+LevelThree+LevelFive] = Level8;
  38. map[Lock+LevelThree+LevelFive] = Level8;
  39. map[Lock+Shift+LevelThree+LevelFive] = Level7;
  40. level_name[Level1] = "Base";
  41. level_name[Level2] = "Shift";
  42. level_name[Level3] = "Alt Base";
  43. level_name[Level4] = "Shift Alt";
  44. level_name[Level5] = "X";
  45. level_name[Level6] = "X Shift";
  46. level_name[Level7] = "X Alt Base";
  47. level_name[Level8] = "X Shift Alt";
  48. };
  49. type "EIGHT_LEVEL_LEVEL_FIVE_LOCK" {
  50. // Level5-Lock is implemented by using NumLock, because a real modifier
  51. // is required.
  52. modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;
  53. map[None] = Level1;
  54. map[Shift] = Level2;
  55. map[LevelThree] = Level3;
  56. map[LevelThree+Shift] = Level4;
  57. map[LevelFive] = Level5;
  58. map[LevelFive+Shift] = Level6;
  59. map[LevelFive+LevelThree] = Level7;
  60. map[LevelFive+LevelThree+Shift] = Level8;
  61. map[NumLock] = Level5;
  62. map[NumLock+Shift] = Level6;
  63. map[NumLock+LevelThree] = Level7;
  64. map[NumLock+LevelThree+Shift] = Level8;
  65. map[NumLock+LevelFive] = Level1;
  66. map[NumLock+LevelFive+Shift] = Level2;
  67. map[NumLock+LevelFive+LevelThree] = Level3;
  68. map[NumLock+LevelFive+LevelThree+Shift] = Level4;
  69. // Lock has no effect
  70. map[Lock] = Level1;
  71. map[Lock+Shift] = Level2;
  72. map[Lock+LevelThree] = Level3;
  73. map[Lock+LevelThree+Shift] = Level4;
  74. map[Lock+LevelFive] = Level5;
  75. map[Lock+LevelFive+Shift] = Level6;
  76. map[Lock+LevelFive+LevelThree] = Level7;
  77. map[Lock+LevelFive+LevelThree+Shift] = Level8;
  78. map[Lock+NumLock] = Level5;
  79. map[Lock+NumLock+Shift] = Level6;
  80. map[Lock+NumLock+LevelThree] = Level7;
  81. map[Lock+NumLock+LevelThree+Shift] = Level8;
  82. map[Lock+NumLock+LevelFive] = Level1;
  83. map[Lock+NumLock+LevelFive+Shift] = Level2;
  84. map[Lock+NumLock+LevelFive+LevelThree] = Level3;
  85. map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;
  86. preserve[LevelFive+Shift] = Shift;
  87. preserve[NumLock+Shift] = Shift;
  88. preserve[Lock+LevelFive+Shift] = Shift;
  89. preserve[Lock+NumLock+Shift] = Shift;
  90. level_name[Level1] = "Base";
  91. level_name[Level2] = "Shift";
  92. level_name[Level3] = "Alt Base";
  93. level_name[Level4] = "Shift Alt";
  94. level_name[Level5] = "X";
  95. level_name[Level6] = "X Shift";
  96. level_name[Level7] = "X Alt Base";
  97. level_name[Level8] = "X Shift Alt";
  98. };
  99. type "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK" {
  100. // Level5-Lock is implemented by using NumLock, because a real modifier
  101. // is required.
  102. modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;
  103. map[None] = Level1;
  104. map[Shift] = Level2;
  105. map[LevelThree] = Level3;
  106. map[LevelThree+Shift] = Level4;
  107. map[LevelFive] = Level5;
  108. map[LevelFive+Shift] = Level6;
  109. map[LevelFive+LevelThree] = Level7;
  110. map[LevelFive+LevelThree+Shift] = Level8;
  111. map[NumLock] = Level5;
  112. map[NumLock+Shift] = Level6;
  113. map[NumLock+LevelThree] = Level7;
  114. map[NumLock+LevelThree+Shift] = Level8;
  115. map[NumLock+LevelFive] = Level1;
  116. map[NumLock+LevelFive+Shift] = Level2;
  117. map[NumLock+LevelFive+LevelThree] = Level3;
  118. map[NumLock+LevelFive+LevelThree+Shift] = Level4;
  119. // Lock interchanges Level1 and Level2
  120. map[Lock] = Level2;
  121. map[Lock+Shift] = Level1;
  122. map[Lock+LevelThree] = Level3;
  123. map[Lock+LevelThree+Shift] = Level4;
  124. map[Lock+LevelFive] = Level5;
  125. map[Lock+LevelFive+Shift] = Level6;
  126. map[Lock+LevelFive+LevelThree] = Level7;
  127. map[Lock+LevelFive+LevelThree+Shift] = Level8;
  128. map[Lock+NumLock] = Level5;
  129. map[Lock+NumLock+Shift] = Level6;
  130. map[Lock+NumLock+LevelThree] = Level7;
  131. map[Lock+NumLock+LevelThree+Shift] = Level8;
  132. map[Lock+NumLock+LevelFive] = Level2;
  133. map[Lock+NumLock+LevelFive+Shift] = Level1;
  134. map[Lock+NumLock+LevelFive+LevelThree] = Level4;
  135. map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;
  136. preserve[LevelFive+Shift] = Shift;
  137. preserve[NumLock+Shift] = Shift;
  138. level_name[Level1] = "Base";
  139. level_name[Level2] = "Shift";
  140. level_name[Level3] = "Alt Base";
  141. level_name[Level4] = "Shift Alt";
  142. level_name[Level5] = "X";
  143. level_name[Level6] = "X Shift";
  144. level_name[Level7] = "X Alt Base";
  145. level_name[Level8] = "X Shift Alt";
  146. };
  147. type "EIGHT_LEVEL_SEMIALPHABETIC" {
  148. modifiers = Shift+Lock+LevelThree+LevelFive;
  149. map[None] = Level1;
  150. map[Shift] = Level2;
  151. map[Lock] = Level2;
  152. map[LevelThree] = Level3;
  153. map[Shift+LevelThree] = Level4;
  154. map[Lock+LevelThree] = Level3;
  155. map[Lock+Shift+LevelThree] = Level4;
  156. map[LevelFive] = Level5;
  157. map[Shift+LevelFive] = Level6;
  158. map[Lock+LevelFive] = Level6;
  159. map[Lock+Shift+LevelFive] = Level6;
  160. map[LevelThree+LevelFive] = Level7;
  161. map[Shift+LevelThree+LevelFive] = Level8;
  162. map[Lock+LevelThree+LevelFive] = Level7;
  163. map[Lock+Shift+LevelThree+LevelFive] = Level8;
  164. preserve[Lock+LevelThree] = Lock;
  165. preserve[Lock+Shift+LevelThree] = Lock;
  166. preserve[Lock+LevelFive] = Lock;
  167. preserve[Lock+Shift+LevelFive] = Lock;
  168. preserve[Lock+LevelThree+LevelFive] = Lock;
  169. preserve[Lock+Shift+LevelThree+LevelFive] = Lock;
  170. level_name[Level1] = "Base";
  171. level_name[Level2] = "Shift";
  172. level_name[Level3] = "Alt Base";
  173. level_name[Level4] = "Shift Alt";
  174. level_name[Level5] = "X";
  175. level_name[Level6] = "X Shift";
  176. level_name[Level7] = "X Alt Base";
  177. level_name[Level8] = "X Shift Alt";
  178. };
  179. };