summaryrefslogtreecommitdiffstats
path: root/linux/bin/asdf
diff options
context:
space:
mode:
authorpascal <pascal@b9310e46-f624-0410-8ea1-cfbb3a30dc96>2008-09-09 09:45:54 +0000
committerpascal <pascal@b9310e46-f624-0410-8ea1-cfbb3a30dc96>2008-09-09 09:45:54 +0000
commit7fa9927893fafc707c79d1dfa5ae653f9b637d9c (patch)
tree84e7fa59625160f18afc6ccf0bd6bd4bee71fce4 /linux/bin/asdf
parentea907f9c06c3d7d9603b9459e6454c3ec77152c2 (diff)
uiae und asdf funktionieren nun mit allen Varianten (Textkonsole und X); außerdem werden eventuelle Probleme mit Num_Lock bedacht
git-svn-id: https://svn.neo-layout.org@852 b9310e46-f624-0410-8ea1-cfbb3a30dc96
Diffstat (limited to '')
-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