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

level3 (5841B)


  1. // These partial variants assign ISO_Level3_Shift to various XKB keycodes
  2. // so that the third shift level can be reached.
  3. // The default behaviour:
  4. // the right Alt key (AltGr) chooses the third symbol engraved on a key.
  5. default partial modifier_keys
  6. xkb_symbols "ralt_switch" {
  7. key <RALT> {
  8. type[Group1]="ONE_LEVEL",
  9. symbols[Group1] = [ ISO_Level3_Shift ]
  10. };
  11. include "level3(modifier_mapping)"
  12. };
  13. // Ensure a mapping to a real modifier for LevelThree.
  14. partial modifier_keys
  15. xkb_symbols "modifier_mapping" {
  16. replace key <LVL3> {
  17. type[Group1] = "ONE_LEVEL",
  18. symbols[Group1] = [ ISO_Level3_Shift ]
  19. };
  20. modifier_map Mod5 { <LVL3> };
  21. };
  22. // The right Alt key never chooses the third level.
  23. // This option attempts to undo the effect of a layout's inclusion of
  24. // 'ralt_switch'. You may want to also select another level3 option
  25. // to map the level3 shift to some other key.
  26. partial modifier_keys
  27. xkb_symbols "ralt_alt" {
  28. key <RALT> {
  29. type[Group1]="TWO_LEVEL",
  30. symbols[Group1] = [ Alt_R, Meta_R ]
  31. };
  32. modifier_map Mod1 { <RALT> };
  33. };
  34. // The right Alt key (while pressed) chooses the third shift level,
  35. // and Compose is mapped to its second level.
  36. partial modifier_keys
  37. xkb_symbols "ralt_switch_multikey" {
  38. key <RALT> {
  39. type[Group1]="TWO_LEVEL",
  40. symbols[Group1] = [ ISO_Level3_Shift, Multi_key ]
  41. };
  42. include "level3(modifier_mapping)"
  43. };
  44. // Either Alt key (while pressed) chooses the third shift level.
  45. // (To be used mostly to imitate Mac OS functionality.)
  46. partial modifier_keys
  47. xkb_symbols "alt_switch" {
  48. include "level3(lalt_switch)"
  49. include "level3(ralt_switch)"
  50. };
  51. // The left Alt key (while pressed) chooses the third shift level.
  52. partial modifier_keys
  53. xkb_symbols "lalt_switch" {
  54. key <LALT> {
  55. type[Group1]="ONE_LEVEL",
  56. symbols[Group1] = [ ISO_Level3_Shift ]
  57. };
  58. include "level3(modifier_mapping)"
  59. };
  60. // The right Ctrl key (while pressed) chooses the third shift level.
  61. partial modifier_keys
  62. xkb_symbols "switch" {
  63. key <RCTL> {
  64. type[Group1]="ONE_LEVEL",
  65. symbols[Group1] = [ ISO_Level3_Shift ]
  66. };
  67. include "level3(modifier_mapping)"
  68. };
  69. // The Menu key (while pressed) chooses the third shift level.
  70. partial modifier_keys
  71. xkb_symbols "menu_switch" {
  72. key <MENU> {
  73. type[Group1]="ONE_LEVEL",
  74. symbols[Group1] = [ ISO_Level3_Shift ]
  75. };
  76. include "level3(modifier_mapping)"
  77. };
  78. // Either Win key (while pressed) chooses the third shift level.
  79. partial modifier_keys
  80. xkb_symbols "win_switch" {
  81. include "level3(lwin_switch)"
  82. include "level3(rwin_switch)"
  83. };
  84. // The left Win key (while pressed) chooses the third shift level.
  85. partial modifier_keys
  86. xkb_symbols "lwin_switch" {
  87. key <LWIN> {
  88. type[Group1]="ONE_LEVEL",
  89. symbols[Group1] = [ ISO_Level3_Shift ]
  90. };
  91. include "level3(modifier_mapping)"
  92. };
  93. // The right Win key (while pressed) chooses the third shift level.
  94. // (When using this map, you should set your keyboard as pc101 or pc102
  95. // instead of pc104 or pc105.)
  96. partial modifier_keys
  97. xkb_symbols "rwin_switch" {
  98. key <RWIN> {
  99. type[Group1]="ONE_LEVEL",
  100. symbols[Group1] = [ ISO_Level3_Shift ]
  101. };
  102. include "level3(modifier_mapping)"
  103. };
  104. // The Enter key on the kepypad (while pressed) chooses the third shift level.
  105. // (This is especially useful for Mac laptops which miss the right Alt key.)
  106. partial modifier_keys
  107. xkb_symbols "enter_switch" {
  108. key <KPEN> {
  109. type[Group1]="ONE_LEVEL",
  110. symbols[Group1] = [ ISO_Level3_Shift ]
  111. };
  112. include "level3(modifier_mapping)"
  113. };
  114. // The CapsLock key (while pressed) chooses the third shift level.
  115. partial modifier_keys
  116. xkb_symbols "caps_switch" {
  117. key <CAPS> {
  118. type[Group1]="ONE_LEVEL",
  119. symbols[Group1] = [ ISO_Level3_Shift ]
  120. };
  121. include "level3(modifier_mapping)"
  122. };
  123. // The Backslash key (while pressed) chooses the third shift level.
  124. partial modifier_keys
  125. xkb_symbols "bksl_switch" {
  126. key <BKSL> {
  127. type[Group1]="ONE_LEVEL",
  128. symbols[Group1] = [ ISO_Level3_Shift ]
  129. };
  130. include "level3(modifier_mapping)"
  131. };
  132. // The Less/Greater key (while pressed) chooses the third shift level.
  133. partial modifier_keys
  134. xkb_symbols "lsgt_switch" {
  135. key <LSGT> {
  136. type[Group1]="ONE_LEVEL",
  137. symbols[Group1] = [ ISO_Level3_Shift ]
  138. };
  139. include "level3(modifier_mapping)"
  140. };
  141. // The CapsLock key (while pressed) chooses the third shift level,
  142. // and latches when pressed together with another third-level chooser.
  143. partial modifier_keys
  144. xkb_symbols "caps_switch_latch" {
  145. key <CAPS> {
  146. type[Group1]="THREE_LEVEL",
  147. symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
  148. };
  149. include "level3(modifier_mapping)"
  150. };
  151. // The Backslash key (while pressed) chooses the third shift level,
  152. // and latches when pressed together with another third-level chooser.
  153. partial modifier_keys
  154. xkb_symbols "bksl_switch_latch" {
  155. key <BKSL> {
  156. type[Group1]="THREE_LEVEL",
  157. symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
  158. };
  159. include "level3(modifier_mapping)"
  160. };
  161. // The Less/Greater key (while pressed) chooses the third shift level,
  162. // and latches when pressed together with another third-level chooser.
  163. partial modifier_keys
  164. xkb_symbols "lsgt_switch_latch" {
  165. key <LSGT> {
  166. type[Group1]="THREE_LEVEL",
  167. symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
  168. };
  169. include "level3(modifier_mapping)"
  170. };
  171. // Number key 4 chooses third shift level when pressed in isolation.
  172. partial modifier_keys
  173. xkb_symbols "4_switch_isolated" {
  174. override key <AE04> {
  175. symbols[Group1] = [ ISO_Level3_Shift ]
  176. };
  177. include "level3(modifier_mapping)"
  178. };
  179. // Number key 9 chooses third shift level when pressed in isolation.
  180. partial modifier_keys
  181. xkb_symbols "9_switch_isolated" {
  182. override key <AE09> {
  183. symbols[Group1] = [ ISO_Level3_Shift ]
  184. };
  185. include "level3(modifier_mapping)"
  186. };