From f5745ec58b698b2ccaf7ac9729678ec181d103a1 Mon Sep 17 00:00:00 2001 From: Luca Berra Date: Sat, 9 Jan 2010 09:39:22 +0100 Subject: [PATCH] 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 --- modules.d/10redhat-i18n/install | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/modules.d/10redhat-i18n/install b/modules.d/10redhat-i18n/install index 92939a6..e7323a4 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 -- 2.7.4