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

extra (4799B)


  1. default partial xkb_types "default" {
  2. // Defines a type with a four-level shift, similar to the three-level
  3. // type used for iso9995, but it lets the Shift key behave "normally".
  4. virtual_modifiers LevelThree;
  5. type "FOUR_LEVEL" {
  6. modifiers = Shift+LevelThree;
  7. map[None] = Level1;
  8. map[Shift] = Level2;
  9. map[LevelThree] = Level3;
  10. map[Shift+LevelThree] = Level4;
  11. level_name[Level1] = "Base";
  12. level_name[Level2] = "Shift";
  13. level_name[Level3] = "Alt Base";
  14. level_name[Level4] = "Shift Alt";
  15. };
  16. type "FOUR_LEVEL_ALPHABETIC" {
  17. modifiers = Shift+Lock+LevelThree;
  18. map[None] = Level1;
  19. map[Shift] = Level2;
  20. map[Lock] = Level2;
  21. map[LevelThree] = Level3;
  22. map[Shift+LevelThree] = Level4;
  23. map[Lock+LevelThree] = Level4;
  24. map[Lock+Shift+LevelThree] = Level3;
  25. level_name[Level1] = "Base";
  26. level_name[Level2] = "Shift";
  27. level_name[Level3] = "Alt Base";
  28. level_name[Level4] = "Shift Alt";
  29. };
  30. type "FOUR_LEVEL_SEMIALPHABETIC" {
  31. modifiers = Shift+Lock+LevelThree;
  32. map[None] = Level1;
  33. map[Shift] = Level2;
  34. map[Lock] = Level2;
  35. map[LevelThree] = Level3;
  36. map[Shift+LevelThree] = Level4;
  37. map[Lock+LevelThree] = Level3;
  38. map[Lock+Shift+LevelThree] = Level4;
  39. preserve[Lock+LevelThree] = Lock;
  40. preserve[Lock+Shift+LevelThree] = Lock;
  41. level_name[Level1] = "Base";
  42. level_name[Level2] = "Shift";
  43. level_name[Level3] = "Alt Base";
  44. level_name[Level4] = "Shift Alt";
  45. };
  46. // A four-level keypad variant. The first two levels are controlled by
  47. // NumLock (with active shifting like in KEYPAD). LevelThree overrides
  48. // this mode, with two additional shifted levels.
  49. type "FOUR_LEVEL_MIXED_KEYPAD" {
  50. modifiers = Shift+NumLock+LevelThree;
  51. map[None] = Level1;
  52. map[Shift+NumLock] = Level1;
  53. map[NumLock] = Level2;
  54. map[Shift] = Level2;
  55. map[LevelThree] = Level3;
  56. map[NumLock+LevelThree] = Level3;
  57. map[Shift+LevelThree] = Level4;
  58. map[Shift+NumLock+LevelThree] = Level4;
  59. level_name[Level1] = "Base";
  60. level_name[Level2] = "Number";
  61. level_name[Level3] = "Alt Base";
  62. level_name[Level4] = "Shift Alt";
  63. };
  64. // Base level, two shifted LevelThree levels, one Ctrl+Alt command level.
  65. type "FOUR_LEVEL_X" {
  66. modifiers = Shift+LevelThree+Control+Alt;
  67. map[None] = Level1;
  68. map[LevelThree] = Level2;
  69. map[Shift+LevelThree] = Level3;
  70. map[Control+Alt] = Level4;
  71. level_name[Level1] = "Base";
  72. level_name[Level2] = "Alt Base";
  73. level_name[Level3] = "Shift Alt";
  74. level_name[Level4] = "Ctrl+Alt";
  75. };
  76. // A special type for keys used in the Serbian Latin Unicode keymap.
  77. // It makes it possible to use all three forms of latin letters
  78. // present in Unicode that are made up of two separate letters
  79. // (forms like LJ, Lj, and lj; NJ, Nj, and nj; etcetera).
  80. type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" {
  81. modifiers = Shift+Lock+LevelThree;
  82. map[None] = Level1;
  83. map[Shift] = Level2;
  84. map[Lock] = Level4;
  85. map[LevelThree] = Level3;
  86. map[Shift+LevelThree] = Level4;
  87. map[Lock+LevelThree] = Level3;
  88. map[Lock+Shift+LevelThree] = Level3;
  89. preserve[Lock]= Lock;
  90. preserve[Lock+LevelThree]= Lock;
  91. level_name[Level1] = "Base";
  92. level_name[Level2] = "Shift";
  93. level_name[Level3] = "AltGr Base";
  94. level_name[Level4] = "Shift AltGr";
  95. };
  96. // Five levels: the normal four levels with Shift and LevelThree,
  97. // plus a fifth level when CapsLock (and only CapsLock) is active
  98. // -- CapsLock is ignored when Shift and/or LevelThree is held.
  99. type "FOUR_LEVEL_PLUS_LOCK" {
  100. modifiers = Shift+Lock+LevelThree;
  101. map[None] = Level1;
  102. map[Shift] = Level2;
  103. map[LevelThree] = Level3;
  104. map[Shift+LevelThree] = Level4;
  105. map[Lock] = Level5;
  106. map[Lock+Shift] = Level2;
  107. map[Lock+LevelThree] = Level3;
  108. map[Lock+Shift+LevelThree] = Level4;
  109. level_name[Level1] = "Base";
  110. level_name[Level2] = "Shift";
  111. level_name[Level3] = "Alt Base";
  112. level_name[Level4] = "Shift Alt";
  113. level_name[Level5] = "Lock";
  114. };
  115. };
  116. // This enables the four-level shifting also for the keypad.
  117. partial xkb_types "keypad" {
  118. virtual_modifiers LevelThree;
  119. type "FOUR_LEVEL_KEYPAD" {
  120. modifiers = Shift+NumLock+LevelThree;
  121. map[None] = Level1;
  122. map[Shift] = Level2;
  123. map[NumLock] = Level2;
  124. map[Shift+NumLock] = Level1;
  125. map[LevelThree] = Level3;
  126. map[Shift+LevelThree] = Level4;
  127. map[NumLock+LevelThree] = Level4;
  128. map[Shift+NumLock+LevelThree] = Level3;
  129. level_name[Level1] = "Base";
  130. level_name[Level2] = "Number";
  131. level_name[Level3] = "Alt Base";
  132. level_name[Level4] = "Alt Number";
  133. };
  134. };