summaryrefslogtreecommitdiffstats
path: root/linux/bin
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
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 'linux/bin')
-rwxr-xr-xlinux/bin/asdf46
-rwxr-xr-xlinux/bin/uiae28
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