Adding casper 1.77+debian-4.
[live-boot-grml.git] / scripts / casper-bottom / 19keyboard
index d738faf..fc2baf9 100755 (executable)
@@ -3,7 +3,7 @@
 PREREQ=""
 DESCRIPTION="Setting up keyboard..."
 
-. /scripts/functions
+. /scripts/casper-functions
 
 prereqs()
 {
@@ -20,31 +20,50 @@ esac
 
 log_begin_msg "$DESCRIPTION"
 
-kbd=us
+kbd=
 cslayout=
 csvariant=
+csmodel=
 
-for x in $(cat /proc/cmdline); do
-        case $x in
-                kbd-chooser/method=*)
-                        kbd=${x#kbd-chooser/method=}
-                        ;;
-                console-setup/layoutcode=*)
-                        cslayout=${x#console-setup/layoutcode=}
-                        ;;
-                console-setup/variantcode=*)
-                        csvariant=${x#console-setup/variantcode=}
-                        ;;
-        esac
-done
-
-if [ "$cslayout" ] && [ -x /root/bin/setupcon ] && \
-   [ -f /etc/default/console-setup ]; then
-        chroot /root sed -i "s/^XKBLAYOUT=.*/XKBLAYOUT=\"$cslayout\"/" \
-                /etc/default/console-setup
-        if [ "$csvariant" ]; then
-                chroot /root sed -i "s/^XKBVARIANT=.*/XKBVARIANT=\"$csvariant\"/" \
+# commandline
+if [ -n "${KBD}" ]; then
+    kbd="${KBD}"
+else
+    kbd=us
+fi
+
+really_export kbd
+
+if [ -n "${CSLAYOUT}" ]; then
+    cslayout="${CSLAYOUT}"
+fi
+if [ -n "${CSVARIANT}" ]; then
+    csvariant="${CSVARIANT}"
+fi
+if [ -n "${CSMODEL}" ]; then
+    csmodel="${CSMODEL}"
+fi
+
+if [ -x /root/bin/setupcon ] && [ -f /root/etc/default/console-setup ]; then
+        if [ "$cslayout" ]; then
+                chroot /root sed -i "s/^XKBLAYOUT=.*/XKBLAYOUT=\"$cslayout\"/" \
                         /etc/default/console-setup
+                if [ "$csvariant" ]; then
+                        chroot /root sed -i "s/^XKBVARIANT=.*/XKBVARIANT=\"$csvariant\"/" \
+                                /etc/default/console-setup
+                else
+                        casper-preseed /root console-setup/variantcode '' false
+                fi
+                if [ "$csmodel" ]; then
+                        chroot /root sed -i "s/^XKBMODEL=.*/XKBMODEL=\"$csmodel\"/" \
+                                /etc/default/console-setup
+                else
+                        casper-preseed /root console-setup/modelcode '' false
+                fi
+        else
+                casper-preseed /root console-setup/layoutcode '' false
+                casper-preseed /root console-setup/variantcode '' false
+                casper-preseed /root console-setup/modelcode '' false
         fi
 else
         chroot /root /usr/sbin/install-keymap $kbd