Adding casper 1.77+debian-4.
[live-boot-grml.git] / scripts / casper-bottom / 19keyboard
index 895a698..fc2baf9 100755 (executable)
@@ -3,7 +3,7 @@
 PREREQ=""
 DESCRIPTION="Setting up keyboard..."
 
-. /scripts/functions
+. /scripts/casper-functions
 
 prereqs()
 {
@@ -20,16 +20,53 @@ 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=}
-                                ;;
-                esac
-done
+# commandline
+if [ -n "${KBD}" ]; then
+    kbd="${KBD}"
+else
+    kbd=us
+fi
 
-chroot /root /usr/sbin/install-keymap $kbd
-casper-preseed /root debian-installer/keymap "$kbd"
+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
+        casper-preseed /root debian-installer/keymap "$kbd"
+fi
 log_end_msg