#!/bin/sh # # Skrypt instaluje polskie litery na klawiaturze. Usiluje dostosowac sie do # aktualnej klawiatury. Sprawdza istnienie klawisza Mode-switch i jezeli # takiego nie ma usiluje go utworzyc. Sprawdza po kolei istnienie pary # klawiszy *_L i *_R. Sa to kolejno Alt, Mod, Super i Hyper. Po znalezieniu # pary odlacza klawisz _R od modyfikatora, przyporzadkowuje mu KeySym rowny # Mode_switch i przylncza do pierwszego wolnego modyfikatora mod1, mod2, mod3 # lub mod4. Dzialanie klawisza _L pozostaje nie zmienione. Po udanej instalacji # lub stwierdzeniu istnienia Mode-switch, instaluje KeySym-y polskich liter. # PLKBOK=`xmodmap -pm | awk '/Mode_switch/ { print $1; exit }'` if [ -z "$PLKBOK" ] ; then for MODALT in Alt Meta Super Hyper Shift ; do SYMALTR=`xmodmap -pk | awk "/${MODALT}_R/ { print \$1; exit }"` if [ -n "$SYMALTR" ] ; then SYMALTL=`xmodmap -pk | awk "/${MODALT}_L/ { print \$1; exit }"` if [ -n "$SYMALTL" ] ; then MODALTR=`xmodmap -pm | awk "/${MODALT}_R/ { print \$1; exit }"` xmodmap -e "remove $MODALTR = ${MODALT}_R" xmodmap -e "keycode $SYMALTR = Mode_switch" MODSWT=`xmodmap -pm | awk '/^mod/ { if ( $2=="" ) { print $1; exit } }'` xmodmap -e "add $MODSWT = Mode_switch" break fi fi done fi PLKBOK=`xmodmap -pm | awk '/Mode_switch/ { print $1; exit }'` if [ -n "$PLKBOK" ] ; then xmodmap -e "keysym A = a A plusminus exclamdown" xmodmap -e "keysym L = l L threesuperior sterling" xmodmap -e "keysym S = s S paragraph brokenbar" xmodmap -e "keysym C = c C ae AE" xmodmap -e "keysym O = o O oacute Oacute" xmodmap -e "keysym N = n N ntilde Ntilde" xmodmap -e "keysym E = e E ecircumflex Ecircumflex" xmodmap -e "keysym Z = z Z questiondown macron" xmodmap -e "keysym X = x X onequarter notsign" fi