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