Add Truly Ergonomic 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> };
};
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