xkb/geometry/trulyergonomic
author Fabien Ninoles <fabien@tzone.org>
Sun, 13 Sep 2015 14:47:26 -0400
changeset 14 6348b9f842b2
parent 6 8daa0d8b9a0e
permissions -rw-r--r--
Move back to non-shifty awesomeness.

// -*- 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.

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 = 155;
    // 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] }};
    
    key.shape = "NORM";
    key.gap = 0.5;

};

partial hidden xkb_geometry "function" {
    section "Function" {
        left = 5;
        top  = 5;
        key.gap = 0.5;
        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>, 
                   <FN>,
                   <NMLK> };
        };
    };
};

partial hidden xkb_geometry "leftalpha" {
    section "LeftAlpha" {
        left = 39;
        top  = 45;
        key.gap = 0.5;
        row {
            top  = 0;
            left = -35;
            keys { 
              <TAB>, <TLDE>,
              <AE01>, <AE02>, <AE03>, <AE04>, <AE05>
            };
        };
        row {
            left = -35;
            top  = 17.5;
            keys { 
                   <BKSL>, <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> };
        };
   };
};

partial hidden xkb_geometry "rightalpha" {
    section "RightAlpha" {
        left = 161.5;
        top  = 45;
        key.gap = 0.5;
        row {
            top  = 0;
            keys { 
              <AE06>, <AE07>, <AE08>, <AE09>, <AE10>,
              <AE11>, <AE12>
            };
        };
        row {
            top  = 17.5;
            keys { 
                   <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
                   <AD11>, <AD12>
                 };
        };
        row {
            top  = 35;
            keys { <AC06>, <AC07>, <AC08>, <AC09>, <AC10> };
        };
        row {
            top  = 52.5;
            keys { <AB06>, <AB07>, <AB08>, <AB09>, <AB10> };
        };
   };
};

partial hidden xkb_geometry "centralcolumn" {
   section "CentralColumn" {
      top = 45;
      left = 126.5;
      key.gap = 0.5;
      key.shape = "DBLA";
      // Central section
      row {
          vertical = true;
          keys { 
            <LWIN>, 
            <DELE>,
            <TAB>,            
            <BKSP>
          };
      };
      row {
          top  = 70;
          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;
        row { 
          key.shape = "DBLA";
          vertical = true;
          keys { <RTSH>, <RCTL> }; 
        };
        row {
          top = 35;
          keys { <RALT>, <FN> };
       };
   };
};

partial hidden xkb_geometry "leftcross" {
   section "LeftCross" {
        left = 39;
        top  = 115;
        key.gap = 0.5;
        row {
            top  = 8;
            keys { 
              <HOME>, { <END>, gap = 17.5 }
            };
        };
        row {
            left = 17.5;
            vertical = true;
            keys { 
              <PGUP>, <PGDN>
            };
        };
   };
};

partial hidden xkb_geometry "rightcross" {
   section "RightCross" {
        left = 197;
        top  = 115;
        key.gap = 0.5;
        row {
            top  = 8;
            keys { <LEFT>, { <RGHT>, gap = 17.5 } };
        };
        row {
            left = 17.5;
            vertical = true;
            keys { <UP>, <DOWN> };
        };
   };
};