/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>
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