]> git.ipfire.org Git - thirdparty/dracut-ng.git/commitdiff
Ensure UNICODE keyboard layout is functional in emergency shell
authorLuca Berra <bluca@vodka.it>
Sat, 9 Jan 2010 08:39:22 +0000 (09:39 +0100)
committerHarald Hoyer <harald@redhat.com>
Wed, 13 Jan 2010 15:06:11 +0000 (16:06 +0100)
/lib/udev/cosole_init will load either non-unicode or unicode versions
of keyboard layout for the same value of KEYMAP depending on language
setting. The simplest solution is to install both versions in initrd;
it does not take much space.

While on it, copy some additional maps to ensure emergency shell
has the same keyboard layout as full system.

Signed-off-by: Andrey Borzenkov <arvidjaar@mail.ru>
Signed-off-by: Luca Berra <bluca@vodka.it>
modules.d/10redhat-i18n/install

index 92939a686aefe14c4a4fe686ba564ada05b35374..e7323a47f963b511265103cecd33ef7a9bd718d1 100755 (executable)
@@ -27,12 +27,20 @@ install_local()
             KEYMAP=/etc/sysconfig/console/default.kmap
        else
             . /etc/sysconfig/keyboard
-            [[ $KEYTABLE && -d ${kbddir}/keymaps ]] && KEYMAP="$KEYTABLE.map"
+           if [[ $KEYTABLE && -d ${kbddir}/keymaps ]]; then
+               [[ $KEYTABLE =~ *.uni ]] && UNIKEYMAP="$KEYTABLE.map" \
+                   || UNIKEYMAP="$KEYTABLE.uni.map"
+               KEYMAP="$KEYTABLE.map"
+           fi
        fi
        if [[ $KEYMAP ]]; then
             [ -f /etc/sysconfig/keyboard ] && inst /etc/sysconfig/keyboard
             inst loadkeys
             findkeymap $KEYMAP
+            [[ $UNIKEYMAP ]] && findkeymap $UNIKEYMAP
+           [[ $GRP_TOGGLE ]] && findkeymap $GRP_TOGGLE.map
+           findkeymap delete.map
+           findkeymap backspace.map
 
             for FN in $KEYMAPS; do
                if [ -L $FN ]; then