New local geometry.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xkb/Makefile Sun Oct 26 15:43:07 2014 -0400
@@ -0,0 +1,16 @@
+all: bepo.xkb bepo.ps
+
+%.xkm: %.xkb
+ xkbcomp $< $@
+
+%.ps: %.xkm
+ xkbprint -color $< -o $@
+
+pc105.xkb: symbols/prog
+ setxkbmap -model pc105 -layout prog -variant bepo -print | xkbcomp -xkb -a -I. - $@
+
+local.xkb: symbols/prog geometry/trulyergonomic geometry/local
+ setxkbmap -geometry "local(ted209)" -layout prog -variant bepo -print | xkbcomp -xkb -a -I. - $@
+
+trulyergonomic.xkb: symbols/prog geometry/trulyergonomic geometry/local
+ setxkbmap -geometry "trulyergonomic" -layout prog -variant bepo -print | xkbcomp -xkb -a -I. - $@
--- 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
--- a/xkb/symbols/fr_alt Sun Oct 26 15:42:51 2014 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-partial alphanumeric_keys
-xkb_symbols "bepo_prog"
-{
- // J'aime bépo !
-
- include "fr(bepo)"
-
- // Actuellement, la plupart des programmes supporte KP_Decimal
- // correctement (',' dans Gnumeric, Calc, GNUCash, '.' ailleurs,
- // comme sous emacs.
-
- include "kpdl(kposs)"
-
- name[Group1] = "France - Bepo, ergonomic, Dvorak way, Programmer enhanced";
-
- // échange w, ¤, et ^... Ça permet d'avoir le ê proche, et comme
- // j'utilise rarement le €, c'est pas trop cher payé (désolé pour
- // les amis européens). Dites-vous qu'il est maintenant aussi
- // loin que le $ l'est pour moi :). Le point d'exclamation
- // pourrait être mieux placé toutefois.
-
- key <AD06> { [w, W, exclam, exclamdown ] }; // w W ! ¡
- key <AC04> { [e, E, dead_circumflex, dead_breve ] }; // e E ^ ̆
- key <AD12> { [ EuroSign, dead_currency ] }; // € ¤
-
- // Windows n'aime pas les non-espaces blancs sur la barre
- // d'espacement, sauf avec le shift. C'est faisable de le forcer,
- // mais PortableApps à fixer Win-Space comme clé d'activation.
- // J'ai donc pris sur moi de le changer par shift-space pour le
- // souligné, et ça me plaît beaucoup comme changement.
-
- key <SPCE> { [ space, underscore, nobreakspace, U202F ] }; // ␣ _ (espace insécable) (espace insécable fin)
-
- // Tous les claviers que j'utilise ont un clavier numérique,
- // généralement intégré avec une touche d'accès. Je l'utilise
- // donc exclusivement, ce qui me libère mes clés pour d'autres
- // caractères.
-
- key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, leftsinglequotemark, emdash, doublelowquotemark ] }; // " ` — „
- key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ less, bracketleft, lessthanequal, leftdoublequotemark ] }; // < [ ≤ “
- key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ greater, bracketright, greaterthanequal, rightdoublequotemark ] }; // > ] ≥ ”
- key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, braceleft ] }; // ( {
- key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, braceright ] }; // ) }
- key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ at, guillemotleft, asciicircum ] }; // @ « ^
- key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ plus, guillemotright, plusminus, notsign ] }; // + » ± ¬
- key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, underscore, U2212, onequarter ] }; // - − ¼
- key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash, backslash, division, onehalf ] }; // / \ ÷ ½
- key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ asterisk, rightsinglequotemark, multiply, threequarters ] }; // * ' × ¾
-
-};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xkb/symbols/prog Sun Oct 26 15:43:07 2014 -0400
@@ -0,0 +1,44 @@
+default alphanumeric_keys
+xkb_symbols "bepo"
+{
+ // J'aime bépo !
+
+ include "fr(bepo)"
+
+ name[Group1] = "France - Bepo, ergonomic, Dvorak way, Programmer enhanced";
+
+ // échange w, ¤, et ^... Ça permet d'avoir le ê proche, et comme
+ // j'utilise rarement le €, c'est pas trop cher payé (désolé pour
+ // les amis européens). Dites-vous qu'il est maintenant aussi
+ // loin que le $ l'est pour moi :). Le point d'exclamation
+ // pourrait être mieux placé toutefois.
+
+ key <AD06> { [w, W, exclam, exclamdown ] }; // w W ! ¡
+ key <AC04> { [e, E, dead_circumflex, dead_breve ] }; // e E ^ ̆
+ key <AD12> { [ EuroSign, dead_currency ] }; // € ¤
+
+ // Windows n'aime pas les non-espaces blancs sur la barre
+ // d'espacement, sauf avec le shift. C'est faisable de le forcer,
+ // mais PortableApps à fixer Win-Space comme clé d'activation.
+ // J'ai donc pris sur moi de le changer par shift-space pour le
+ // souligné, et ça me plaît beaucoup comme changement.
+
+ key <SPCE> { [ space, underscore, nobreakspace, U202F ] }; // ␣ _ (espace insécable) (espace insécable fin)
+
+ // Tous les claviers que j'utilise ont un clavier numérique,
+ // généralement intégré avec une touche d'accès. Je l'utilise
+ // donc exclusivement, ce qui me libère mes clés pour d'autres
+ // caractères.
+
+ key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, leftsinglequotemark, emdash, doublelowquotemark ] }; // " ` — „
+ key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ less, bracketleft, lessthanequal, leftdoublequotemark ] }; // < [ ≤ “
+ key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ greater, bracketright, greaterthanequal, rightdoublequotemark ] }; // > ] ≥ ”
+ key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, braceleft ] }; // ( {
+ key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, braceright ] }; // ) }
+ key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ at, guillemotleft, asciicircum ] }; // @ « ^
+ key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ plus, guillemotright, plusminus, notsign ] }; // + » ± ¬
+ key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, underscore, U2212, onequarter ] }; // - − ¼
+ key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash, backslash, division, onehalf ] }; // / \ ÷ ½
+ key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ asterisk, rightsinglequotemark, multiply, threequarters ] }; // * ' × ¾
+
+};