diff --git a/.scripts/homeinit b/.scripts/homeinit index 8705f932..36ad04a8 100755 --- a/.scripts/homeinit +++ b/.scripts/homeinit @@ -1,7 +1,7 @@ #!/bin/sh ################################################################################ ## Home session initialization. -## 2013-03-01 +## 2013-06-13 ################################################################################ SOURCEDIR="$HOME/personal/dataperso" [ -z "$XDG_CONFIG_HOME" ] && XDG_CONFIG_HOME="$HOME/.config" @@ -30,19 +30,25 @@ bHNlCiAgICBJU19HUkFQSElDQUw9JChlbWFjcyAtYmF0Y2ggLVEgLS1ldmFsPScoaWYgKGZib3Vu ZHAgJyInIid0b29sLWJhci1tb2RlKSAobWVzc2FnZSAiMSIpIChtZXNzYWdlICIwIikpJyAyPiYx KQpmaQoKaWYgWyAkSVNfR1JBUEhJQ0FMIC1lcSAxIF07IHRoZW4KICAgIGVtYWNzY2xpZW50IC1h ICIiIC1uYyAiJEAiCmVsc2UKICAgIGVtYWNzY2xpZW50IC1hICIiIC10ICIkQCIKZmkK -' | base64 -d > "'"'"$EMFILE"'"'" && chmod 755 "'"'"$EMFILE"'"'"" +' | base64 -d > $EMFILE && chmod 755 $EMFILE" sudo sh -c "umask 022 && echo 'IyEvYmluL3NoCmVtYWNzY2xpZW50IC1hICIiIC10ICIkQCIK -' | base64 -d > "'"'"$EMCFILE"'"'" && chmod 755 "'"'"$EMCFILE"'"'"" +' | base64 -d > $EMCFILE && chmod 755 $EMCFILE" fi fi -if [ -f "$HOME/.xkb/symbols/frex" ] && [ ! -f "/usr/share/X11/xkb/symbols/frex" ]; then - echo "==> frex font (press Ctrl-D to skip)" - sudo sh -c 'umask 022 && mkdir -p /usr/share/X11/xkb/symbols && cp "$HOME/.xkb/symbols/frex" /usr/share/X11/xkb/symbols/ && chmod 644 /usr/share/X11/xkb/symbols/frex' - echo -fi + +installkeymap () +{ + if [ -f "$HOME/.xkb/symbols/$1" ] && [ ! -f "/usr/share/X11/xkb/symbols/$1" ]; then + echo "==> '$1' font (press Ctrl-D to skip)" + sudo sh -c "install -m644 $HOME/.xkb/symbols/$1 /usr/share/X11/xkb/symbols/" + echo + fi +} +installkeymap frex +installkeymap usex if [ -d "$SOURCEDIR/contacts" ]; then diff --git a/.xkb/symbols/usex b/.xkb/symbols/usex new file mode 100644 index 00000000..8e79a99f --- /dev/null +++ b/.xkb/symbols/usex @@ -0,0 +1,91 @@ +//------------------------------------------------------------------------------ +// XKB Custom us keyboard +// 2013-06-12 +//------------------------------------------------------------------------------ + +// Installation: copy this file to '/usr/{local/,}share/X11/xkb/symbols'. You +// can use it by selecting the "usex" layout from Xorg configuration file, or by +// using the following command: +// $ setxkbmap usex +// This keyboard is based on Xorg's "us intl" with some improvements. + +// TODO: direct à, dead acute, swap control and Caps Lock. + +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ ~ ~ │ ! ¡ │ @ ˝ │ # ¯ │ $ £ │ % ¸ │ ^ ^ │ & ̛ │ * ˛ │ ( ˘ │ ) ° │ _ ̣ │ + ÷ ┃ ⌫ Back ┃ +// │ ` ` │ 1 ¹ │ 2 ² │ 3 ³ │ 4 ¤ │ 5 € │ 6 ¼ │ 7 ½ │ 8 ¾ │ 9 ‘ │ 0 ’ │ - ¥ │ = × ┃ space ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃ ┃ A Æ │ Z  │ E ¢ │ R Ê │ T Þ │ Y Ÿ │ U Û │ I Î │ O Œ │ P Ô │ ¨ ˚ │ £ Ø ┃ Enter ┃ +// ┃Tab ↹ ┃ a æ │ z â │ e € │ r ê │ t þ │ y ÿ │ u û │ i î │ o œ │ p ô │ ^ ~ │ $ ø ┃ ⏎ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃ ┃ Q Ä │ S „ │ D Ë │ F ‚ │ G ¥ │ H Ð │ J Ü │ K Ï │ L Ŀ │ M Ö │ % Ù │ µ ̄ ┃ ┃ +// ┃Maj ⇬ ┃ q ä │ s ß │ d ë │ f ‘ │ g ’ │ h ð │ j ü │ k ï │ l ŀ │ m ö │ ù ' │ * ` ┃ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ +// ┃ ┃ > ≥ │ W “ │ X ” │ C ® │ V ← │ B ↑ │ N → │ ? … │ . . │ / ∕ │ § − ┃ ┃ +// ┃Shift ⇧┃ < ≤ │ w « │ x » │ c © │ v ⍽ │ b ↓ │ n ¬ │ , ¿ │ ; × │ : ÷ │ ! ¡ ┃Shift ⇧ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ +// ┃ ┃ ┃ ┃ ␣ Espace fine insécable ⍽ ┃ ┃ ┃ ┃ +// ┃Ctrl ┃Meta ┃Alt ┃ ␣ Espace Espace insécable ⍽ ┃AltGr ⇮┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ + + +partial alphanumeric_keys +xkb_symbols "basic" { + + name[Group1]= "English international with dead keys extended"; + + // Alphanumeric section + key { [ grave, asciitilde, dead_grave, dead_tilde ] }; + key { [ 1, exclam, onesuperior, exclamdown ] }; + key { [ 2, at, twosuperior, dead_doubleacute ] }; + key { [ 3, numbersign, threesuperior, dead_macron ] }; + key { [ 4, dollar, currency, sterling ] }; + key { [ 5, percent, EuroSign, dead_cedilla ] }; + key { [ 6, dead_circumflex, onequarter, asciicircum ] }; + key { [ 7, ampersand, onehalf, dead_horn ] }; + key { [ 8, asterisk, threequarters, dead_ogonek ] }; + key { [ 9, parenleft, leftsinglequotemark, dead_breve ] }; + key { [ 0, parenright, rightsinglequotemark, dead_abovering ] }; + key { [ minus, underscore, yen, dead_belowdot ] }; + key { [ equal, plus, multiply, division ] }; + + key { [ q, Q, adiaeresis, Adiaeresis ] }; + key { [ w, W, aring, Aring ] }; + key { [ e, E, eacute, Eacute ] }; + key { [ r, R, registered, registered ] }; + key { [ t, T, thorn, THORN ] }; + key { [ y, Y, udiaeresis, Udiaeresis ] }; + key { [ u, U, uacute, Uacute ] }; + key { [ i, I, iacute, Iacute ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ p, P, odiaeresis, Odiaeresis ] }; + key { [ bracketleft, braceleft, guillemotleft, leftdoublequotemark ] }; + key { [bracketright, braceright, guillemotright, rightdoublequotemark ] }; + + key { [ a, A, aacute, Aacute ] }; + key { [ s, S, ssharp, section ] }; + key { [ d, D, eth, ETH ] }; + key { [ f, F, f, F ] }; + key { [ g, G, g, G ] }; + key { [ h, H, h, H ] }; + key { [ j, J, j, J ] }; + key { [ k, K, oe, OE ] }; + + key { [ l, L, oslash, Ooblique ] }; + key { [ semicolon, colon, paragraph, degree ] }; + key { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] }; + + key { [ z, Z, ae, AE ] }; + key { [ x, X, x, X ] }; + key { [ c, C, copyright, cent ] }; + key { [ v, V, v, V ] }; + key { [ b, B, b, B ] }; + key { [ n, N, ntilde, Ntilde ] }; + key { [ m, M, mu, mu ] }; + key { [ comma, less, ccedilla, Ccedilla ] }; + key { [ period, greater, dead_abovedot, dead_caron ] }; + key { [ slash, question, questiondown, dead_hook ] }; + key { [ backslash, bar, notsign, brokenbar ] }; + + include "level3(ralt_switch)" +};