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

caps (4522B)


  1. // CapsLock uses internal capitalization rules,
  2. // Shift "pauses" CapsLock.
  3. partial xkb_types "internal" {
  4. type "ALPHABETIC" {
  5. modifiers = Shift+Lock;
  6. map[Shift] = Level2;
  7. preserve[Lock] = Lock;
  8. level_name[Level1] = "Base";
  9. level_name[Level2] = "Caps";
  10. };
  11. type "FOUR_LEVEL_ALPHABETIC" {
  12. modifiers = Shift+Lock+LevelThree;
  13. map[None] = Level1;
  14. map[Shift] = Level2;
  15. preserve[Lock] = Lock;
  16. map[LevelThree] = Level3;
  17. map[Shift+LevelThree] = Level4;
  18. map[Lock+LevelThree] = Level3;
  19. map[Lock+Shift+LevelThree] = Level3;
  20. preserve[Lock+LevelThree] = Lock;
  21. level_name[Level1] = "Base";
  22. level_name[Level2] = "Shift";
  23. level_name[Level3] = "Alt Base";
  24. level_name[Level4] = "Shift Alt";
  25. };
  26. type "FOUR_LEVEL_SEMIALPHABETIC" {
  27. modifiers = Shift+Lock+LevelThree;
  28. map[None] = Level1;
  29. map[Shift] = Level2;
  30. preserve[Lock] = Lock;
  31. map[LevelThree] = Level3;
  32. map[Shift+LevelThree] = Level4;
  33. map[Lock+LevelThree] = Level3;
  34. map[Lock+Shift+LevelThree] = Level4;
  35. preserve[Lock+LevelThree] = Lock;
  36. preserve[Lock+Shift+LevelThree] = Lock;
  37. level_name[Level1] = "Base";
  38. level_name[Level2] = "Shift";
  39. level_name[Level3] = "Alt Base";
  40. level_name[Level4] = "Shift Alt";
  41. };
  42. };
  43. // CapsLock uses internal capitalization rules,
  44. // Shift does not cancel CapsLock.
  45. partial xkb_types "internal_nocancel" {
  46. type "ALPHABETIC" {
  47. modifiers = Shift;
  48. map[Shift] = Level2;
  49. level_name[Level1] = "Base";
  50. level_name[Level2] = "Caps";
  51. };
  52. type "FOUR_LEVEL_ALPHABETIC" {
  53. modifiers = Shift+LevelThree;
  54. map[None] = Level1;
  55. map[Shift] = Level2;
  56. map[LevelThree] = Level3;
  57. map[Shift+LevelThree] = Level4;
  58. level_name[Level1] = "Base";
  59. level_name[Level2] = "Shift";
  60. level_name[Level3] = "Alt Base";
  61. level_name[Level4] = "Shift Alt";
  62. };
  63. type "FOUR_LEVEL_SEMIALPHABETIC" {
  64. // the same as FOUR_LEVEL_ALPHABETIC
  65. modifiers = Shift+LevelThree;
  66. map[None] = Level1;
  67. map[Shift] = Level2;
  68. map[LevelThree] = Level3;
  69. map[Shift+LevelThree] = Level4;
  70. level_name[Level1] = "Base";
  71. level_name[Level2] = "Shift";
  72. level_name[Level3] = "Alt Base";
  73. level_name[Level4] = "Shift Alt";
  74. };
  75. };
  76. // CapsLock acts as Shift with locking,
  77. // Shift "pauses" CapsLock.
  78. partial xkb_types "shift" {
  79. type "ALPHABETIC" {
  80. modifiers = Shift+Lock;
  81. map[Shift] = Level2;
  82. map[Lock] = Level2;
  83. level_name[Level1] = "Base";
  84. level_name[Level2] = "Caps";
  85. };
  86. type "FOUR_LEVEL_ALPHABETIC" {
  87. modifiers = Shift+Lock+LevelThree;
  88. map[None] = Level1;
  89. map[Shift] = Level2;
  90. map[Lock] = Level2;
  91. map[LevelThree] = Level3;
  92. map[Shift+LevelThree] = Level4;
  93. map[Lock+LevelThree] = Level4;
  94. map[Shift+Lock+LevelThree] = Level3;
  95. level_name[Level1] = "Base";
  96. level_name[Level2] = "Shift";
  97. level_name[Level3] = "Alt Base";
  98. level_name[Level4] = "Shift Alt";
  99. };
  100. type "FOUR_LEVEL_SEMIALPHABETIC" {
  101. modifiers = Shift+Lock+LevelThree;
  102. map[None] = Level1;
  103. map[Shift] = Level2;
  104. map[Lock] = Level2;
  105. map[LevelThree] = Level3;
  106. map[Shift+LevelThree] = Level4;
  107. map[Lock+LevelThree] = Level3;
  108. map[Lock+Shift+LevelThree] = Level4;
  109. preserve[Lock+LevelThree] = Lock;
  110. preserve[Lock+Shift+LevelThree] = Lock;
  111. level_name[Level1] = "Base";
  112. level_name[Level2] = "Shift";
  113. level_name[Level3] = "Alt Base";
  114. level_name[Level4] = "Shift Alt";
  115. };
  116. };
  117. // CapsLock acts as Shift with locking,
  118. // Shift does not cancel CapsLock.
  119. partial xkb_types "shift_nocancel" {
  120. type "ALPHABETIC" {
  121. modifiers = Shift+Lock;
  122. map[Shift] = Level2;
  123. map[Lock] = Level2;
  124. map[Shift+Lock] = Level2;
  125. level_name[Level1] = "Base";
  126. level_name[Level2] = "Caps";
  127. };
  128. type "FOUR_LEVEL_ALPHABETIC" {
  129. modifiers = Shift+Lock+LevelThree;
  130. map[None] = Level1;
  131. map[Shift] = Level2;
  132. map[Lock] = Level2;
  133. map[Shift+Lock] = Level2;
  134. map[LevelThree] = Level3;
  135. map[Shift+LevelThree] = Level4;
  136. map[Lock+LevelThree] = Level4;
  137. map[Shift+Lock+LevelThree] = Level4;
  138. level_name[Level1] = "Base";
  139. level_name[Level2] = "Shift";
  140. level_name[Level3] = "Alt Base";
  141. level_name[Level4] = "Shift Alt";
  142. };
  143. type "FOUR_LEVEL_SEMIALPHABETIC" {
  144. modifiers = Shift+Lock+LevelThree;
  145. map[None] = Level1;
  146. map[Shift] = Level2;
  147. map[Lock] = Level2;
  148. map[Shift+Lock] = Level2;
  149. map[LevelThree] = Level3;
  150. map[Shift+LevelThree] = Level4;
  151. map[Lock+LevelThree] = Level3;
  152. map[Lock+Shift+LevelThree] = Level4;
  153. preserve[Lock+LevelThree] = Lock;
  154. preserve[Lock+Shift+LevelThree] = Lock;
  155. level_name[Level1] = "Base";
  156. level_name[Level2] = "Shift";
  157. level_name[Level3] = "Alt Base";
  158. level_name[Level4] = "Shift Alt";
  159. };
  160. };