summaryrefslogtreecommitdiff
path: root/linux/bin/asdf
diff options
context:
space:
mode:
Diffstat (limited to 'linux/bin/asdf')
-rwxr-xr-xlinux/bin/asdf46
1 files changed, 40 insertions, 6 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