xkb/geometry/trulyergonomic
changeset 6 8daa0d8b9a0e
parent 4 a31ea9d76d14
equal deleted inserted replaced
5:0b45eff23094 6:8daa0d8b9a0e
     1 // -*- indent-tabs-mode: nil -*-
     1 // -*- indent-tabs-mode: nil -*-
     2 
     2 
     3 // Created by Fabien Ninoles <fabien (at) tzone (dot) org>
     3 // Created by Fabien Ninoles <fabien (at) tzone (dot) org>
     4 
     4 // Notes: I have both a different layout and custom firmware
     5 // Note : the special/multimedia keys (Calc, WWW, Desktop…) have a keycode
     5 // for my keyboard.  Some keycodes are probably not the same
     6 // <I[XX]>, found in definition file /usr/share/X11/xkb/keycodes/evdev.
     6 // as the actual firmware.
     7 // Fn           = <I120>;
     7 
     8 // Calc         = <I148>;
     8 default xkb_geometry "teckD209" {
     9 // WWW          = <I158>;
       
    10 // CycleWindows = <I162>;
       
    11 // Mail         = <I163>;
       
    12 // PlayPause    = <I172>;
       
    13 // Desktop      = <I243>;
       
    14 
       
    15 xkb_geometry "teckD209" {
       
    16     description = "Truly Ergonomic D209";
     9     description = "Truly Ergonomic D209";
    17 
    10 
       
    11     include "trulyergonomic(base)"
       
    12     include "trulyergonomic(leftalpha)"
       
    13     include "trulyergonomic(rightalpha)"
       
    14     key.color = "grey10";
       
    15     include "trulyergonomic(centralcolumn)"
       
    16     include "trulyergonomic(rightcross)"
       
    17     include "trulyergonomic(leftcross)"
       
    18     include "trulyergonomic(leftcolumn)"
       
    19     include "trulyergonomic(rightcolumn)"
       
    20     include "trulyergonomic(function)"
       
    21 }; // geometry teckD209
       
    22 
       
    23 partial hidden xkb_geometry "base" {
    18     // Keyboard total size :
    24     // Keyboard total size :
    19     width  = 308;
    25     width  = 308;
    20     height = 150;
    26     height = 155;
    21     // Background / foreground colours
    27     // Background / foreground colours
    22     baseColor  = "white";
    28     baseColor  = "white";
    23     labelColor = "black";
    29     labelColor = "black";
    24 
    30 
    25     // Key shapes: base key = 16 mm each side
    31     // Key shapes: base key = 16 mm each side
    26     shape "NORM" { cornerRadius=1, { [17,    17]   }, { [2,   2], [15,   15] }};
    32     shape "NORM" { cornerRadius=1, { [17,    17]   }, { [2,   2], [15,   15] }};
    27     shape "DBLA" { cornerRadius=1, { [35,    17]   }, { [2,   2], [33,   15] }};
    33     shape "DBLA" { cornerRadius=1, { [35,    17]   }, { [2,   2], [33,   15] }};
    28 
    34     
       
    35     key.shape = "NORM";
       
    36     key.gap = 0.5;
       
    37 
       
    38 };
       
    39 
       
    40 partial hidden xkb_geometry "function" {
    29     section "Function" {
    41     section "Function" {
    30         left = 5;
    42         left = 5;
    31         top  = 5;
    43         top  = 5;
    32         key.gap = 0.5;
    44         key.gap = 0.5;
    33         key.color = "grey10";
       
    34         key.shape = "NORM";
       
    35         row {
    45         row {
    36             keys { 
    46             keys { 
    37               <ESC>,
    47               <ESC>,
    38               { <FK01>, gap = 8 }, <FK02>, <FK03>, <FK04>,
    48               { <FK01>, gap = 8 }, <FK02>, <FK03>, <FK04>,
    39               { <FK05>, gap = 8 }, <FK06>, <FK07>, <FK08>,
    49               { <FK05>, gap = 8 }, <FK06>, <FK07>, <FK08>,
    43         };
    53         };
    44         row {
    54         row {
    45             top = 17.5;
    55             top = 17.5;
    46             left = 111;
    56             left = 111;
    47             keys { <CAPS>, 
    57             keys { <CAPS>, 
    48                    <DELE>, // modified from <FN>
    58                    <FN>,
    49                    <NMLK> };
    59                    <NMLK> };
    50         };
    60         };
    51     };
    61     };
       
    62 };
       
    63 
       
    64 partial hidden xkb_geometry "leftalpha" {
    52     section "LeftAlpha" {
    65     section "LeftAlpha" {
    53         left = 39;
    66         left = 39;
    54         top  = 45;
    67         top  = 45;
    55         key.gap = 0.5;
    68         key.gap = 0.5;
    56         key.color = "grey10";
       
    57         key.shape = "NORM";
       
    58         row {
    69         row {
    59             top  = 0;
    70             top  = 0;
    60             left = -35;
    71             left = -35;
    61             keys { 
    72             keys { 
    62               <AD12>, // modified from ?
    73               <TAB>, <TLDE>,
    63               <TLDE>,
       
    64               <AE01>, <AE02>, <AE03>, <AE04>, <AE05>
    74               <AE01>, <AE02>, <AE03>, <AE04>, <AE05>
    65             };
    75             };
    66         };
    76         };
    67         row {
    77         row {
    68             left = -35;
    78             left = -35;
    69             top  = 17.5;
    79             top  = 17.5;
    70             keys { 
    80             keys { 
    71                    <ESC>, // modified from <BKSL>
    81                    <BKSL>, <AB10>,
    72                    <BKSL>, // modified from <AB10>
       
    73                    <AD01>, <AD02>, <AD03>, <AD04>, <AD05>
    82                    <AD01>, <AD02>, <AD03>, <AD04>, <AD05>
    74                  };
    83                  };
    75         };
    84         };
    76         row {
    85         row {
    77             top  = 35;
    86             top  = 35;
    80         row {
    89         row {
    81             top  = 52.5;
    90             top  = 52.5;
    82             keys { <AB01>, <AB02>, <AB03>, <AC04>, <AC05> };
    91             keys { <AB01>, <AB02>, <AB03>, <AC04>, <AC05> };
    83         };
    92         };
    84    };
    93    };
       
    94 };
       
    95 
       
    96 partial hidden xkb_geometry "rightalpha" {
    85     section "RightAlpha" {
    97     section "RightAlpha" {
    86         left = 161.5;
    98         left = 161.5;
    87         top  = 45;
    99         top  = 45;
    88         key.gap = 0.5;
   100         key.gap = 0.5;
    89         key.color = "grey10";
       
    90         key.shape = "NORM";
       
    91         row {
   101         row {
    92             top  = 0;
   102             top  = 0;
    93             keys { 
   103             keys { 
    94               <AE06>, <AE07>, <AE08>, <AE09>, <AE10>,
   104               <AE06>, <AE07>, <AE08>, <AE09>, <AE10>,
    95               <AE11>, <AE12>
   105               <AE11>, <AE12>
    97         };
   107         };
    98         row {
   108         row {
    99             top  = 17.5;
   109             top  = 17.5;
   100             keys { 
   110             keys { 
   101                    <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
   111                    <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
   102                    <AC11>, // modified from <AD11>
   112                    <AD11>, <AD12>
   103                    <AD11>  // modified from <AD12>
       
   104                  };
   113                  };
   105         };
   114         };
   106         row {
   115         row {
   107             top  = 35;
   116             top  = 35;
   108             keys { <AC06>, <AC07>, <AC08>, <AC09>, <AC10> };
   117             keys { <AC06>, <AC07>, <AC08>, <AC09>, <AC10> };
   110         row {
   119         row {
   111             top  = 52.5;
   120             top  = 52.5;
   112             keys { <AB06>, <AB07>, <AB08>, <AB09>, <AB10> };
   121             keys { <AB06>, <AB07>, <AB08>, <AB09>, <AB10> };
   113         };
   122         };
   114    };
   123    };
   115     section "LeftColumn" {
   124 };
   116         left = 4;
   125 
   117         top  = 80;
   126 partial hidden xkb_geometry "centralcolumn" {
   118         key.gap = 0.5;
       
   119         key.color = "grey20";
       
   120         key.shape = "DBLA";
       
   121         row { 
       
   122           vertical = true;
       
   123           keys { <LFSH>, <LCTL> };
       
   124         };
       
   125         row {
       
   126           top = 35;
       
   127           key.shape = "NORM";
       
   128           keys { <FN>, <LALT> };
       
   129         };
       
   130     };
       
   131    section "CentralColumn" {
   127    section "CentralColumn" {
   132       top = 45;
   128       top = 45;
   133       left = 126.5;
   129       left = 126.5;
       
   130       key.gap = 0.5;
   134       key.shape = "DBLA";
   131       key.shape = "DBLA";
   135       key.color = "grey20";
       
   136       // Central section
   132       // Central section
   137       row {
   133       row {
   138           vertical = true;
   134           vertical = true;
   139           keys { 
   135           keys { 
   140             <LWIN>, 
   136             <LWIN>, 
   141             <RALT>, // modified from <DELE>
   137             <DELE>,
   142             <TAB>,            
   138             <TAB>,            
   143             <BKSP>
   139             <BKSP>
   144           };
   140           };
   145       };
   141       };
   146       row {
   142       row {
   147           top  = 70;
   143           top  = 70;
   148           left = -35;
   144           left = -36;
   149           keys { <SPCE>, <RTRN>, <SPCE> };
   145           keys { <SPCE>, <RTRN>, <SPCE> };
   150         };
   146         };
   151    };
   147    };
       
   148 };
       
   149 
       
   150 partial hidden xkb_geometry "leftcolumn" {
       
   151     section "LeftColumn" {
       
   152         left = 4;
       
   153         top  = 80;
       
   154         key.gap = 0.5;
       
   155         row { 
       
   156           key.shape = "DBLA";
       
   157           vertical = true;
       
   158           keys { <LFSH>, <LCTL> };
       
   159         };
       
   160         row {
       
   161           top = 35;
       
   162           keys { <FN>, <LALT> };
       
   163         };
       
   164     };
       
   165 };
       
   166 
       
   167 partial hidden xkb_geometry "rightcolumn" {
   152     section "RightColumn" {
   168     section "RightColumn" {
   153         left = 250;
   169         left = 250;
   154         top  = 80;
   170         top  = 80;
   155         key.gap = 0.5;
   171         key.gap = 0.5;
   156         key.color = "grey20";
       
   157         key.shape = "DBLA";
       
   158         row { 
   172         row { 
       
   173           key.shape = "DBLA";
   159           vertical = true;
   174           vertical = true;
   160           keys { <RTSH>, <RCTL> }; 
   175           keys { <RTSH>, <RCTL> }; 
   161         };
   176         };
   162         row {
   177         row {
   163           top = 35;
   178           top = 35;
   164           key.shape = "NORM";
       
   165           keys { <RALT>, <FN> };
   179           keys { <RALT>, <FN> };
   166        };
   180        };
   167    };
   181    };
       
   182 };
       
   183 
       
   184 partial hidden xkb_geometry "leftcross" {
   168    section "LeftCross" {
   185    section "LeftCross" {
   169         left = 39;
   186         left = 39;
   170         top  = 115;
   187         top  = 115;
   171         key.gap = 0.5;
   188         key.gap = 0.5;
   172         key.color = "grey20";
       
   173         key.shape = "NORM";
       
   174         // Cross section
       
   175         row {
   189         row {
   176             top  = 8;
   190             top  = 8;
   177             keys { 
   191             keys { 
   178               <AB03>,  // modified from <HOME>
   192               <HOME>, { <END>, gap = 17.5 }
   179               { <AD07>, gap = 17.5 } // modified from <END>
       
   180             };
   193             };
   181         };
   194         };
   182         row {
   195         row {
   183             left = 17.5;
   196             left = 17.5;
   184             vertical = true;
   197             vertical = true;
   185             keys { 
   198             keys { 
   186               <AC06>, // modified from <PGUP>
   199               <PGUP>, <PGDN>
   187               <AD11>  // modified from <PGDN>
   200             };
   188             }; 
   201         };
   189         };
   202    };
   190    };
   203 };
       
   204 
       
   205 partial hidden xkb_geometry "rightcross" {
   191    section "RightCross" {
   206    section "RightCross" {
   192         left = 196.5;
   207         left = 197;
   193         top  = 115;
   208         top  = 115;
   194         key.gap = 0.5;
   209         key.gap = 0.5;
   195         key.color = "grey20";
       
   196         key.shape = "NORM";
       
   197         // Cross section
       
   198         row {
   210         row {
   199             top  = 8;
   211             top  = 8;
   200             keys { <LEFT>, { <RGHT>, gap = 17.5 } };
   212             keys { <LEFT>, { <RGHT>, gap = 17.5 } };
   201         };
   213         };
   202         row {
   214         row {
   203             left = 17.5;
   215             left = 17.5;
   204             vertical = true;
   216             vertical = true;
   205             keys { <UP>, <DOWN> };
   217             keys { <UP>, <DOWN> };
   206         };
   218         };
   207    };
   219    };
   208 }; // geometry teckD209
   220 };