Add Truly Ergonomic geometry.
authorFabien Ninoles <fabien@tzone.org>
Sat, 25 Oct 2014 21:38:33 -0400
changeset 3 3503b6eb6a1b
parent 2 c6af35843530
child 4 a31ea9d76d14
Add Truly Ergonomic geometry.
xkb/geometry/trulyergonomic
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xkb/geometry/trulyergonomic	Sat Oct 25 21:38:33 2014 -0400
@@ -0,0 +1,249 @@
+// -*- indent-tabs-mode: nil -*-
+
+// Created by Fabien Ninoles <fabien (at) tzone (dot) org>
+
+// 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" {
+    description = "Truly Ergonomic D209";
+
+    // Keyboard total size :
+    width  = 308;
+    height = 150;
+    // Background / foreground colours
+    baseColor  = "white";
+    labelColor = "black";
+
+    // 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] }};
+
+    section "Function" {
+        left = 5;
+        top  = 5;
+        key.gap = 0.5;
+        key.color = "grey10";
+        key.shape = "NORM";
+        row {
+            keys { <ESC> };
+        };
+        row {
+            left = 25;
+            keys { <FK01>, <FK02>, <FK03>, <FK04> };
+        };
+        row {
+            left = 105;
+            keys { <FK05>, <FK06>, <FK07>, <FK08> };
+        };
+        row {
+            left = 185;
+            keys { <FK09>, <FK10>, <FK11>, <FK12> };
+        };
+        row {
+            left = 265;
+            keys { <DELE> };
+        };
+        row {
+            top = 17.5;
+            left = 115;
+            keys { <CAPS>, 
+                   <DELE>, // modified from <I120>
+                   <NMLK> };
+        };
+    };
+
+    section "LeftColumn" {
+        left = 4;
+        top  = 80;
+        key.gap = 0.5;
+        key.color = "grey20";
+        key.shape = "DBLA";
+        row { keys { <LFSH> }; };
+        row {
+          top = 17.5;
+          keys { <LCTL> };
+        };
+        row {
+          top = 35;
+          keys {
+            { <I120>, "NORM" },
+            { <LALT>, "NORM" }
+          };
+        };
+    };
+
+    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>,
+              <AE01>, <AE02>, <AE03>, <AE04>, <AE05>
+            };
+        };
+        row {
+            left = -35;
+            top  = 17.5;
+            keys { 
+                   <ESC>, // modified from <BKSL>
+                   <BKSL>, // modified from <AB10>
+                   <AD01>, <AD02>, <AD03>, <AD04>, <AD05>
+                 };
+        };
+        row {
+            top  = 35;
+            keys { <AC01>, <AC02>, <AC03>, <AC04>, <AC05> };
+        };
+        row {
+            top  = 52.5;
+            keys { <AB01>, <AB02>, <AB03>, <AC04>, <AC05> };
+        };
+   };
+    section "RightAlpha" {
+        left = 161.5;
+        top  = 45;
+        key.gap = 0.5;
+        key.color = "grey10";
+        key.shape = "NORM";
+        row {
+            top  = 0;
+            keys { 
+              <AE06>, <AE07>, <AE08>, <AE09>, <AE10>,
+              <AE11>, <AE12>
+            };
+        };
+        row {
+            top  = 17.5;
+            keys { 
+                   <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+                   <AC11>, // modified from <AD11>
+                   <AD11>  // modified from <AD12>
+                 };
+        };
+        row {
+            top  = 35;
+            keys { <AC06>, <AC07>, <AC08>, <AC09>, <AC10> };
+        };
+        row {
+            top  = 52.5;
+            keys { <AB06>, <AB07>, <AB08>, <AB09>, <AB10> };
+        };
+   };
+   section "CentralColumn" {
+      top = 45;
+      left = 126.5;
+      key.shape = "DBLA";
+      key.color = "grey20";
+      // Central section
+      row {
+          keys { <LWIN> };
+      };
+      row {
+          top = 17.5;
+          keys { <RALT> }; // modified from <DELE>
+      };
+      row {
+          top = 35;
+          keys { <TAB> };
+      };
+      row {
+          top = 52.5;
+          keys { <BKSP> };
+      };
+      row {
+          top  = 70;
+          left = -35;
+          keys { <SPCE>, <RTRN>, <SPCE> };
+        };
+   };
+   section "LeftCross" {
+        left = 39;
+        top  = 115;
+        key.gap = 0.5;
+        key.color = "grey20";
+        key.shape = "NORM";
+        // Cross section
+        row {
+            top  = 8;
+            left = 0;
+            keys { <AB03> }; // modified from <HOME> 
+        };
+        row {
+            top = 0;
+            left = 17.5;
+            keys { <AC06> }; // modified from <PGUP>
+        };
+        row {
+            top = 17.5;
+            left = 17.5;
+            keys { <AD11> }; // modified from <PGDN>
+        };
+        row {
+            top = 8;
+            left = 35;
+            keys { <AD07> }; // modified from <END>
+        };
+   };
+   section "RightCross" {
+        left = 196.5;
+        top  = 115;
+        key.gap = 0.5;
+        key.color = "grey20";
+        key.shape = "NORM";
+        // Cross section
+        row {
+            top  = 8;
+            left = 0;
+            keys { <LEFT> }; // modified from <HOME> 
+        };
+        row {
+            top = 0;
+            left = 17.5;
+            keys { <UP> }; // modified from <PGUP>
+        };
+        row {
+            top = 17.5;
+            left = 17.5;
+            keys { <DOWN> }; // modified from <PGDN>
+        };
+        row {
+            top = 8;
+            left = 35;
+            keys { <RGHT> }; // modified from <END>
+        };
+   };
+    section "RightColumn" {
+        left = 250;
+        top  = 80;
+        key.gap = 0.5;
+        key.color = "grey20";
+        key.shape = "DBLA";
+        row { keys { <RTSH> }; };
+        row {
+          top = 17.5;
+          keys { <RCTL> };
+        };
+        row {
+          top = 35;
+          keys {
+            { <RALT>, "NORM" },
+            { <I120>, "NORM" }
+          };
+        };
+    };
+
+}; // geometry teckD209