xkb/geometry/trulyergonomic
changeset 6 8daa0d8b9a0e
parent 4 a31ea9d76d14
--- a/xkb/geometry/trulyergonomic	Sun Oct 26 15:42:51 2014 -0400
+++ b/xkb/geometry/trulyergonomic	Sun Oct 26 15:43:07 2014 -0400
@@ -1,23 +1,29 @@
 // -*- indent-tabs-mode: nil -*-
 
 // Created by Fabien Ninoles <fabien (at) tzone (dot) org>
+// Notes: I have both a different layout and custom firmware
+// for my keyboard.  Some keycodes are probably not the same
+// as the actual firmware.
 
-// Note : the special/multimedia keys (Calc, WWW, Desktop…) have a keycode
-// <I[XX]>, found in definition file /usr/share/X11/xkb/keycodes/evdev.
-// Fn           = <I120>;
-// Calc         = <I148>;
-// WWW          = <I158>;
-// CycleWindows = <I162>;
-// Mail         = <I163>;
-// PlayPause    = <I172>;
-// Desktop      = <I243>;
-
-xkb_geometry "teckD209" {
+default xkb_geometry "teckD209" {
     description = "Truly Ergonomic D209";
 
+    include "trulyergonomic(base)"
+    include "trulyergonomic(leftalpha)"
+    include "trulyergonomic(rightalpha)"
+    key.color = "grey10";
+    include "trulyergonomic(centralcolumn)"
+    include "trulyergonomic(rightcross)"
+    include "trulyergonomic(leftcross)"
+    include "trulyergonomic(leftcolumn)"
+    include "trulyergonomic(rightcolumn)"
+    include "trulyergonomic(function)"
+}; // geometry teckD209
+
+partial hidden xkb_geometry "base" {
     // Keyboard total size :
     width  = 308;
-    height = 150;
+    height = 155;
     // Background / foreground colours
     baseColor  = "white";
     labelColor = "black";
@@ -25,13 +31,17 @@
     // Key shapes: base key = 16 mm each side
     shape "NORM" { cornerRadius=1, { [17,    17]   }, { [2,   2], [15,   15] }};
     shape "DBLA" { cornerRadius=1, { [35,    17]   }, { [2,   2], [33,   15] }};
+    
+    key.shape = "NORM";
+    key.gap = 0.5;
 
+};
+
+partial hidden xkb_geometry "function" {
     section "Function" {
         left = 5;
         top  = 5;
         key.gap = 0.5;
-        key.color = "grey10";
-        key.shape = "NORM";
         row {
             keys { 
               <ESC>,
@@ -45,22 +55,22 @@
             top = 17.5;
             left = 111;
             keys { <CAPS>, 
-                   <DELE>, // modified from <FN>
+                   <FN>,
                    <NMLK> };
         };
     };
+};
+
+partial hidden xkb_geometry "leftalpha" {
     section "LeftAlpha" {
         left = 39;
         top  = 45;
         key.gap = 0.5;
-        key.color = "grey10";
-        key.shape = "NORM";
         row {
             top  = 0;
             left = -35;
             keys { 
-              <AD12>, // modified from ?
-              <TLDE>,
+              <TAB>, <TLDE>,
               <AE01>, <AE02>, <AE03>, <AE04>, <AE05>
             };
         };
@@ -68,8 +78,7 @@
             left = -35;
             top  = 17.5;
             keys { 
-                   <ESC>, // modified from <BKSL>
-                   <BKSL>, // modified from <AB10>
+                   <BKSL>, <AB10>,
                    <AD01>, <AD02>, <AD03>, <AD04>, <AD05>
                  };
         };
@@ -82,12 +91,13 @@
             keys { <AB01>, <AB02>, <AB03>, <AC04>, <AC05> };
         };
    };
+};
+
+partial hidden xkb_geometry "rightalpha" {
     section "RightAlpha" {
         left = 161.5;
         top  = 45;
         key.gap = 0.5;
-        key.color = "grey10";
-        key.shape = "NORM";
         row {
             top  = 0;
             keys { 
@@ -99,8 +109,7 @@
             top  = 17.5;
             keys { 
                    <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
-                   <AC11>, // modified from <AD11>
-                   <AD11>  // modified from <AD12>
+                   <AD11>, <AD12>
                  };
         };
         row {
@@ -112,89 +121,92 @@
             keys { <AB06>, <AB07>, <AB08>, <AB09>, <AB10> };
         };
    };
-    section "LeftColumn" {
-        left = 4;
-        top  = 80;
-        key.gap = 0.5;
-        key.color = "grey20";
-        key.shape = "DBLA";
-        row { 
-          vertical = true;
-          keys { <LFSH>, <LCTL> };
-        };
-        row {
-          top = 35;
-          key.shape = "NORM";
-          keys { <FN>, <LALT> };
-        };
-    };
+};
+
+partial hidden xkb_geometry "centralcolumn" {
    section "CentralColumn" {
       top = 45;
       left = 126.5;
+      key.gap = 0.5;
       key.shape = "DBLA";
-      key.color = "grey20";
       // Central section
       row {
           vertical = true;
           keys { 
             <LWIN>, 
-            <RALT>, // modified from <DELE>
+            <DELE>,
             <TAB>,            
             <BKSP>
           };
       };
       row {
           top  = 70;
-          left = -35;
+          left = -36;
           keys { <SPCE>, <RTRN>, <SPCE> };
         };
    };
+};
+
+partial hidden xkb_geometry "leftcolumn" {
+    section "LeftColumn" {
+        left = 4;
+        top  = 80;
+        key.gap = 0.5;
+        row { 
+          key.shape = "DBLA";
+          vertical = true;
+          keys { <LFSH>, <LCTL> };
+        };
+        row {
+          top = 35;
+          keys { <FN>, <LALT> };
+        };
+    };
+};
+
+partial hidden xkb_geometry "rightcolumn" {
     section "RightColumn" {
         left = 250;
         top  = 80;
         key.gap = 0.5;
-        key.color = "grey20";
-        key.shape = "DBLA";
         row { 
+          key.shape = "DBLA";
           vertical = true;
           keys { <RTSH>, <RCTL> }; 
         };
         row {
           top = 35;
-          key.shape = "NORM";
           keys { <RALT>, <FN> };
        };
    };
+};
+
+partial hidden xkb_geometry "leftcross" {
    section "LeftCross" {
         left = 39;
         top  = 115;
         key.gap = 0.5;
-        key.color = "grey20";
-        key.shape = "NORM";
-        // Cross section
         row {
             top  = 8;
             keys { 
-              <AB03>,  // modified from <HOME>
-              { <AD07>, gap = 17.5 } // modified from <END>
+              <HOME>, { <END>, gap = 17.5 }
             };
         };
         row {
             left = 17.5;
             vertical = true;
             keys { 
-              <AC06>, // modified from <PGUP>
-              <AD11>  // modified from <PGDN>
-            }; 
+              <PGUP>, <PGDN>
+            };
         };
    };
+};
+
+partial hidden xkb_geometry "rightcross" {
    section "RightCross" {
-        left = 196.5;
+        left = 197;
         top  = 115;
         key.gap = 0.5;
-        key.color = "grey20";
-        key.shape = "NORM";
-        // Cross section
         row {
             top  = 8;
             keys { <LEFT>, { <RGHT>, gap = 17.5 } };
@@ -205,4 +217,4 @@
             keys { <UP>, <DOWN> };
         };
    };
-}; // geometry teckD209
+};
\ No newline at end of file