From: Luca Berra Date: Sat, 9 Jan 2010 08:39:22 +0000 (+0100) Subject: Ensure UNICODE keyboard layout is functional in emergency shell X-Git-Tag: 004~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f5745ec58b698b2ccaf7ac9729678ec181d103a1;p=thirdparty%2Fdracut-ng.git Ensure UNICODE keyboard layout is functional in emergency shell /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 Signed-off-by: Luca Berra --- diff --git a/modules.d/10redhat-i18n/install b/modules.d/10redhat-i18n/install index 92939a686..e7323a47f 100755 --- a/modules.d/10redhat-i18n/install +++ b/modules.d/10redhat-i18n/install @@ -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