summaryrefslogtreecommitdiff
path: root/scripts/casper-bottom/19keyboard
blob: ef901152cd8d30bd2f27ab7542b95193abbf6984 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/bin/sh

PREREQ=""
DESCRIPTION="Setting up console keyboard..."

. /scripts/casper-functions

prereqs()
{
       echo "$PREREQ"
}

case $1 in
# get pre-requisites
prereqs)
       prereqs
       exit 0
       ;;
esac

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=}
                        ;;
                console-setup/layoutcode=*)
                        cslayout=${x#console-setup/layoutcode=}
                        ;;
                console-setup/variantcode=*)
                        csvariant=${x#console-setup/variantcode=}
                        ;;
                console-setup/modelcode=*)
                        csmodel=${x#console-setup/modelcode=}
                        ;;
        esac
done

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