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

steelseries (8282B)


  1. //
  2. //Copyright 1996, 1998 The Open Group
  3. //
  4. //Permission to use, copy, modify, distribute, and sell this software and its
  5. //documentation for any purpose is hereby granted without fee, provided that
  6. //the above copyright notice appear in all copies and that both that
  7. //copyright notice and this permission notice appear in supporting
  8. //documentation.
  9. //
  10. //The above copyright notice and this permission notice shall be
  11. //included in all copies or substantial portions of the Software.
  12. //
  13. //THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  14. //EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  15. //MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  16. //IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
  17. //OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
  18. //ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  19. //OTHER DEALINGS IN THE SOFTWARE.
  20. //
  21. //Except as contained in this notice, the name of The Open Group shall
  22. //not be used in advertising or otherwise to promote the sale, use or
  23. //other dealings in this Software without prior written authorization
  24. //from The Open Group.
  25. //
  26. // modified from /usr/share/X11/xkb/geometry/pc(pc104)
  27. //
  28. // The Apex 300 (Apex RAW) has 21 additional keys and
  29. // <RWIN> is replaced by a hardware <FN> key. These
  30. // additions to the basic PC104 layout are shown in red.
  31. //
  32. // Currently the kernel doesn't initialize these keys; a userspace
  33. // tool is needed (apexctl: https://github.com/tuxmark5/ApexCtl).
  34. // With this tool or a proper driver, the extra keys (except FN)
  35. // can be assigned keycodes via udev-hwdb.
  36. //
  37. // FIXME: Keycodes shown here should be changed to match
  38. // kernel defaults when a driver is developed.
  39. //
  40. // The additional keys are in 4 groups:
  41. // 1) L1-L2 left of Escape (column) <I156>,<I157>
  42. // 2) M1-M12 above F1-F12 (row) <FK13>-<FK24>
  43. // 3) MX1-MX5 left of alpha keys (column) <I171>-<I175>
  44. // 4) LeftUp, RightUp with regular arrows <I160>,<I159>
  45. //
  46. // Known <FN> key functions:
  47. // <FN>+<F5> = kbd backlight step dimmer (NoSymbol)
  48. // <FN>+<F6> = kbd backlight step brighter (NoSymbol)
  49. // <FN>+<F7> = <I173> (AudioPrev)
  50. // <FN>+<F8> = <I172> (AudioPlay, AudioPause)
  51. // <FN>+<F9> = <I171> (AudioNext)
  52. // <FN>+<F10> = <MUTE> (AudioMute)
  53. // <FN>+<F10> = <VOL+> (VolumeUp)
  54. // <FN>+<F11> = <VOL-> (VolumeDown)
  55. //
  56. // And yes, the spacebar really is that ridiculous.
  57. //
  58. // 2017.April
  59. //
  60. default xkb_geometry "apex300" {
  61. description= "SteelSeries Apex 300 (Apex RAW)";
  62. width= 450;
  63. height= 150;
  64. shape.cornerRadius= 1;
  65. shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } };
  66. shape "BKSP" { { [ 38,18] }, { [2,1], [ 36,16] } };
  67. shape "TABK" { { [ 28,18] }, { [2,1], [ 26,16] } };
  68. shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,16] } };
  69. shape "RTRN" { { [ 42,18] }, { [2,1], [ 40,16] } };
  70. shape "CAPS" { { [ 33,18] }, { [2,1], [ 31,16] } };
  71. shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,16] } };
  72. shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,16] } };
  73. shape "MODK" { { [ 27,18] }, { [2,1], [ 25,16] } };
  74. shape "SMOD" { { [ 23,18] }, { [2,1], [ 21,16] } };
  75. shape "SPCE" { { [113,37] }, { [2,1], [111,35] } };
  76. shape "KP0" { { [ 37,18] }, { [2,1], [ 35,16] } };
  77. shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,35] } };
  78. shape "MKEY" { { [ 18,8] }, { [2,1], [ 16,7] } };
  79. shape "ESCA" { { [ 18,28] }, { [2,1], [ 16,27] } };
  80. shape "LKEY" { { [ 18,14] }, { [2,1], [ 16,13] } };
  81. shape "LEDS" { cornerRadius= 0, { [ 54, 6 ] } };
  82. shape "LED" { cornerRadius= 0, { [ 4, 1 ] } };
  83. solid "LedPanel" {
  84. shape= "LEDS";
  85. top= 2;
  86. left= 315;
  87. color= "grey10";
  88. };
  89. indicator.onColor= "red";
  90. indicator.offColor= "red";
  91. indicator.top= 7;
  92. indicator.shape= "LED";
  93. indicator "Num Lock" { left= 321; };
  94. indicator "Caps Lock" { left= 340; };
  95. indicator "Scroll Lock" { left= 359; };
  96. text.top= 2;
  97. text.color= "black";
  98. text "NumLockLabel" { left= 322; text="N"; };
  99. text "CapsLockLabel" { left= 341; text="C"; };
  100. text "ScrollLockLabel" { left= 360; text="S"; };
  101. text "SteelSeriesLogo" { top= 10; left= 400; text="SteelSeries"; };
  102. text "FNLogoKeyLabel" { top= 130; left= 248; text="FN"; };
  103. key.shape= "NORM";
  104. key.gap= 1;
  105. key.color= "grey10";
  106. section "Lkeys" {
  107. key.shape= "LKEY";
  108. key.color= "red";
  109. row { top= 1; keys { <I156> }; };
  110. row { top= 15; keys { <I157> }; };
  111. }; // end of "Lkeys" section
  112. section "MXkeys" {
  113. key.shape= "NORM";
  114. key.color= "red";
  115. row { top= 35; keys { <I171> }; }; // 40 59 78 97 116
  116. row { top= 54; keys { <I172> }; }; // 35 54 73 92 111
  117. row { top= 73; keys { <I173> }; };
  118. row { top= 92; keys { <I174> }; };
  119. row { top=111; keys { <I175> }; };
  120. }; // end of "MXkeys" section
  121. section "Escape" {
  122. left= 23;
  123. key.shape= "ESCA";
  124. key.color= "grey30";
  125. row { top= 1; keys { <ESC> }; };
  126. }; // end of "Escape" section
  127. section "Mkeys" {
  128. left= 61;
  129. key.color= "red";
  130. key.shape= "MKEY";
  131. row { top= 1;
  132. keys { <FK13>, <FK14>, <FK15>, <FK16>,
  133. { <FK17>, 11 }, <FK18>, <FK19>, <FK20>,
  134. { <FK21>, 11 }, <FK22>, <FK23>, <FK24> }; };
  135. }; // end of "Mkeys" section
  136. section "Function" {
  137. left= 61;
  138. key.color= "grey30";
  139. row { top= 10;
  140. keys { <FK01>, <FK02>, <FK03>, <FK04>,
  141. { <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
  142. { <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
  143. { <PRSC>, 5 }, <SCLK>, <PAUS> }; };
  144. }; // end of "Function" section
  145. section "Alpha" {
  146. top= 35;
  147. left= 23;
  148. key.color= "grey10";
  149. row { keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
  150. <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
  151. <AE10>, <AE11>, <AE12>,
  152. { <BKSP>, "BKSP", color="grey30" } }; };
  153. row { top= 19;
  154. keys { { <TAB>, "TABK", color="grey30" },
  155. <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
  156. <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
  157. <AD11>, <AD12>, { <BKSL>, "BKSL" } }; };
  158. row { top= 38;
  159. keys { { <CAPS>, "CAPS", color="grey30" },
  160. <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
  161. <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
  162. <AC11>, { <RTRN>, "RTRN", color="grey30" } }; };
  163. row { top= 57;
  164. keys { { <LFSH>, "LFSH", color="grey30" },
  165. <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
  166. <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
  167. { <RTSH>, "RTSH", color="grey30" } }; };
  168. row { top= 76;
  169. key.shape= "SMOD";
  170. key.color= "grey30";
  171. keys { { <LCTL>, "MODK" }, <LWIN>, <LALT>, { <SPCE>, "SPCE" },
  172. <RALT>, { <I248>, color="red" }, <MENU>, <RCTL> }; };
  173. }; // end of "Alpha" section
  174. section "Editing" {
  175. top= 35;
  176. left= 313;
  177. key.color= "grey30";
  178. row { keys { <INS>, <HOME>, <PGUP> }; };
  179. row { top= 19; keys { <DELE>, <END>, <PGDN> }; };
  180. row { top= 57; keys { { <I160>, color="red" }, <UP>, { <I159>, color="red" } }; };
  181. row { top= 76; keys { <LEFT>, <DOWN>, <RGHT> }; };
  182. }; // end of "Editing" section
  183. section "Keypad" {
  184. top= 35;
  185. left= 373;
  186. key.color= "grey10";
  187. row { keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> }; };
  188. row { top= 19; keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD" } }; };
  189. row { top= 38; keys { <KP4>, <KP5>, <KP6> }; };
  190. row { top= 57; keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD" } }; };
  191. row { top= 76; keys { { <KP0>, "KP0" }, <KPDL> }; };
  192. }; // end of "Keypad" section
  193. alias <AC00> = <CAPS>;
  194. alias <AA00> = <LCTL>;
  195. }; // end of "apex300" geometry