# HG changeset patch # User Fabien Ninoles # Date 1414352587 14400 # Node ID 8daa0d8b9a0e63f407ff84443103dc4fffe8f72d # Parent 0b45eff230945d391fb9497a93269ac379b87b9c New local geometry. diff -r 0b45eff23094 -r 8daa0d8b9a0e xkb/Makefile --- /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. - $@ diff -r 0b45eff23094 -r 8daa0d8b9a0e xkb/geometry/trulyergonomic --- 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 +// 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 -// , found in definition file /usr/share/X11/xkb/keycodes/evdev. -// Fn = ; -// Calc = ; -// WWW = ; -// CycleWindows = ; -// Mail = ; -// PlayPause = ; -// Desktop = ; - -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 { , @@ -45,22 +55,22 @@ top = 17.5; left = 111; keys { , - , // modified from + , }; }; }; +}; + +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 { - , // modified from ? - , + , , , , , , }; }; @@ -68,8 +78,7 @@ left = -35; top = 17.5; keys { - , // modified from - , // modified from + , , , , , , }; }; @@ -82,12 +91,13 @@ keys { , , , , }; }; }; +}; + +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 { , , , , , - , // modified from - // modified from + , }; }; row { @@ -112,89 +121,92 @@ keys { , , , , }; }; }; - section "LeftColumn" { - left = 4; - top = 80; - key.gap = 0.5; - key.color = "grey20"; - key.shape = "DBLA"; - row { - vertical = true; - keys { , }; - }; - row { - top = 35; - key.shape = "NORM"; - keys { , }; - }; - }; +}; + +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 { , - , // modified from + , , }; }; row { top = 70; - left = -35; + left = -36; keys { , , }; }; }; +}; + +partial hidden xkb_geometry "leftcolumn" { + section "LeftColumn" { + left = 4; + top = 80; + key.gap = 0.5; + row { + key.shape = "DBLA"; + vertical = true; + keys { , }; + }; + row { + top = 35; + keys { , }; + }; + }; +}; + +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 { , }; }; row { top = 35; - key.shape = "NORM"; keys { , }; }; }; +}; + +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 { - , // modified from - { , gap = 17.5 } // modified from + , { , gap = 17.5 } }; }; row { left = 17.5; vertical = true; keys { - , // modified from - // modified from - }; + , + }; }; }; +}; + +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 { , { , gap = 17.5 } }; @@ -205,4 +217,4 @@ keys { , }; }; }; -}; // geometry teckD209 +}; \ No newline at end of file diff -r 0b45eff23094 -r 8daa0d8b9a0e xkb/symbols/fr_alt --- 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 { [w, W, exclam, exclamdown ] }; // w W ! ¡ - key { [e, E, dead_circumflex, dead_breve ] }; // e E ^ ̆ - key { [ 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 { [ 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 { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, leftsinglequotemark, emdash, doublelowquotemark ] }; // " ` — „ - key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ less, bracketleft, lessthanequal, leftdoublequotemark ] }; // < [ ≤ “ - key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ greater, bracketright, greaterthanequal, rightdoublequotemark ] }; // > ] ≥ ” - key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, braceleft ] }; // ( { - key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, braceright ] }; // ) } - key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ at, guillemotleft, asciicircum ] }; // @ « ^ - key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ plus, guillemotright, plusminus, notsign ] }; // + » ± ¬ - key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, underscore, U2212, onequarter ] }; // -   − ¼ - key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash, backslash, division, onehalf ] }; // / \ ÷ ½ - key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ asterisk, rightsinglequotemark, multiply, threequarters ] }; // * ' × ¾ - -}; diff -r 0b45eff23094 -r 8daa0d8b9a0e xkb/symbols/prog --- /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 { [w, W, exclam, exclamdown ] }; // w W ! ¡ + key { [e, E, dead_circumflex, dead_breve ] }; // e E ^ ̆ + key { [ 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 { [ 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 { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, leftsinglequotemark, emdash, doublelowquotemark ] }; // " ` — „ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ less, bracketleft, lessthanequal, leftdoublequotemark ] }; // < [ ≤ “ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ greater, bracketright, greaterthanequal, rightdoublequotemark ] }; // > ] ≥ ” + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, braceleft ] }; // ( { + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, braceright ] }; // ) } + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ at, guillemotleft, asciicircum ] }; // @ « ^ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ plus, guillemotright, plusminus, notsign ] }; // + » ± ¬ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, underscore, U2212, onequarter ] }; // -   − ¼ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash, backslash, division, onehalf ] }; // / \ ÷ ½ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ asterisk, rightsinglequotemark, multiply, threequarters ] }; // * ' × ¾ + +};