PREREQ=""
DESCRIPTION="Setting up keyboard..."
-. /scripts/functions
+. /scripts/casper-functions
prereqs()
{
log_begin_msg "$DESCRIPTION"
kbd=us
+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 [ ! -z "${KBD}" ]; then
+ kbd="${KBD}"
+fi
+if [ ! -z "${CSLAYOUT}" ]; then
+ cslayout="${CSLAYOUT}"
+fi
+if [ ! -z "${CSVARIANT}" ]; then
+ csvariant="${CSVARIANT}"
+fi
+if [ ! -z "${CSMODEL}" ]; then
+ csmodel="${CSMODEL}"
+fi
-chroot /root /usr/sbin/install-keymap $kbd
-casper-preseed /root debian-installer/keymap "$kbd"
+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