xkb/geometry/trulyergonomic
author Fabien Ninoles <fabien@tzone.org>
Sun, 26 Oct 2014 15:42:51 -0400
changeset 5 0b45eff23094
parent 4 a31ea9d76d14
child 6 8daa0d8b9a0e
permissions -rw-r--r--
new local geometry.

// -*- 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>,
              { <FK01>, gap = 8 }, <FK02>, <FK03>, <FK04>,
              { <FK05>, gap = 8 }, <FK06>, <FK07>, <FK08>,
              { <FK09>, gap = 8 }, <FK10>, <FK11>, <FK12>,
              { <DELE>, gap = 8 }
           };
        };
        row {
            top = 17.5;
            left = 111;
            keys { <CAPS>, 
                   <DELE>, // modified from <FN>
                   <NMLK> };
        };
    };
    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 "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> };
        };
    };
   section "CentralColumn" {
      top = 45;
      left = 126.5;
      key.shape = "DBLA";
      key.color = "grey20";
      // Central section
      row {
          vertical = true;
          keys { 
            <LWIN>, 
            <RALT>, // modified from <DELE>
            <TAB>,            
            <BKSP>
          };
      };
      row {
          top  = 70;
          left = -35;
          keys { <SPCE>, <RTRN>, <SPCE> };
        };
   };
    section "RightColumn" {
        left = 250;
        top  = 80;
        key.gap = 0.5;
        key.color = "grey20";
        key.shape = "DBLA";
        row { 
          vertical = true;
          keys { <RTSH>, <RCTL> }; 
        };
        row {
          top = 35;
          key.shape = "NORM";
          keys { <RALT>, <FN> };
       };
   };
   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>
            };
        };
        row {
            left = 17.5;
            vertical = true;
            keys { 
              <AC06>, // modified from <PGUP>
              <AD11>  // modified from <PGDN>
            }; 
        };
   };
   section "RightCross" {
        left = 196.5;
        top  = 115;
        key.gap = 0.5;
        key.color = "grey20";
        key.shape = "NORM";
        // Cross section
        row {
            top  = 8;
            keys { <LEFT>, { <RGHT>, gap = 17.5 } };
        };
        row {
            left = 17.5;
            vertical = true;
            keys { <UP>, <DOWN> };
        };
   };
}; // geometry teckD209