diff options
-rwxr-xr-x | linux/bin/asdf | 46 | ||||
-rwxr-xr-x | linux/bin/uiae | 28 |
2 files changed, 63 insertions, 11 deletions
diff --git a/linux/bin/asdf b/linux/bin/asdf index ef14b9a..2c06fd6 100755 --- a/linux/bin/asdf +++ b/linux/bin/asdf @@ -1,14 +1,48 @@ #!/bin/sh +NEO_X_VARIANTE="xkbmap" # xkbmap, xmoadmap, xprog, alternative, evdev + +CONSOLE_KEYMAP="/usr/share/kbd/keymaps/i386/neo/neo.map" +XMODMAP="$HOME/neo/neo_de.xmodmap" +XMODMAP_XPROG="$HOME/neo/neo_de_x-prog.xmodmap" +XMODMAP_ALTERNATIVE="$HOME/neo/neo_de_alternative.xmodmap" +XMODMAP_EVDEV="$HOME/neo/neo_de_evdev.xmodmap" if [ -n "$SSH_CONNECTION" ]; then echo "Dude, du bist in einer SSH-Session. Wie soll ich das Tastaturlayout hier ändern?" exit 1 fi if [ -z "$DISPLAY" ]; then - echo "Dude, du bist auf der Textkonsole. Ich kann das Layout nur auf dem X-Server ändern!" - exit 1 + echo "Um das Tastaturlayout auf der Textkonsole zu ändern, muss man root-Rechte besitzen!" + sudo loadkeys $CONSOLE_KEYMAP + setleds +num +else + numlockx off + xset -r 51; xset -r 94 # Modifier + xset -r 21; xset -r 35; xset -r 49 # tote Tasten (dead keys) + + case $NEO_X_VARIANTE in + xkbmap) + setxkbmap de neo + ;; + xmodmap) + setxkbmap ie + xmodmap $XMODMAP + ;; + xprog) + setxkbmap ie + xmodmap $XMODMAP_XPROG + ;; + alternative) + setxkbmap ie + xmodmap $XMODMAP_ALTERNATIVE + ;; + evdev) + setxkbmap ie + xmodmap $XMODMAP_EVDEV + ;; + *) + echo "Die Variante "$NEO_X_VARIANTE "ist keine bekannte X-Variante des NEO-Layouts" + exit 1 + ;; + esac fi - -xset -r 51 -xset -r 94 -setxkbmap de neo diff --git a/linux/bin/uiae b/linux/bin/uiae index c8716b6..aa04092 100755 --- a/linux/bin/uiae +++ b/linux/bin/uiae @@ -1,14 +1,32 @@ #!/bin/sh +CONSOLE_KEYMAP="/usr/share/kbd/keymaps/i386/qwertz/de.map.gz" # leer für Standard-keymap (i.d.R. qwerty) + +NUM_LOCK_STATUS="ON" # gewünschter Status für qwert if [ -n "$SSH_CONNECTION" ]; then echo "Dude, du bist in einer SSH-Session. Wie soll ich das Tastaturlayout hier ändern?" exit 1 fi if [ -z "$DISPLAY" ]; then - echo "Dude, du bist auf der Textkonsole. Ich kann das Layout nur auf dem X-Server ändern!" - exit 1 + echo "Um das Tastaturlayout auf der Textkonsole zu ändern, muss man root-Rechte besitzen!" + if [ $CONSOLE_KEYMAP ] ; then + sudo loadkeys $CONSOLE_KEYMAP + else + sudo loadkeys -d + fi + if [ NUM_LOCK_STATUS="ON" ] ; then + setleds +num + else + setleds -num + fi +else + xset r 51; xset r 94 # Modifier + xset r 21; xset r 35; xset r 49 # tote Tasten (dead keys) + setxkbmap de + if [ NUM_LOCK_STATUS="ON" ] ; then + numlockx on + else + numlockx off + fi fi -xset r 51 -xset r 94 -setxkbmap de |