diff options
author | Thomas Bächler <thomas@archlinux.org> | 2010-02-07 22:06:55 +0100 |
---|---|---|
committer | Thomas Bächler <thomas@archlinux.org> | 2010-02-07 22:06:55 +0100 |
commit | bf7b98936386ff88c0774589e40352824728ae96 (patch) | |
tree | dc5370e2f685f1a5170c7d297d5b104f15c4aa35 | |
parent | ba97db07a5bcbc5c0db2241a2f8ac4117d05c8f3 (diff) | |
download | mkinitcpio-bf7b98936386ff88c0774589e40352824728ae96.tar.gz mkinitcpio-bf7b98936386ff88c0774589e40352824728ae96.tar.xz |
Do not try to load the keymap if no KEYMAP option is set in rc.conf
Fixes FS#18214
-rw-r--r-- | hooks/keymap | 22 | ||||
-rw-r--r-- | install/keymap | 24 |
2 files changed, 25 insertions, 21 deletions
diff --git a/hooks/keymap b/hooks/keymap index fd53f5f..9557c26 100644 --- a/hooks/keymap +++ b/hooks/keymap @@ -1,15 +1,17 @@ # vim: set ft=sh: run_hook () { - msg -n ":: Loading keymap..." - . /keymap.utf8 - if [ "${UTF8}" = "yes" ]; then - /usr/bin/kbd_mode -u -C /dev/console - printf "\033%%G" >> /dev/console - else - /usr/bin/kbd_mode -a -C /dev/console - printf "\033%%@" >> /dev/console + if [ -e /keymap.bin ]; then + msg -n ":: Loading keymap..." + . /keymap.utf8 + if [ "${UTF8}" = "yes" ]; then + /usr/bin/kbd_mode -u -C /dev/console + printf "\033%%G" >> /dev/console + else + /usr/bin/kbd_mode -a -C /dev/console + printf "\033%%@" >> /dev/console + fi + /sbin/loadkmap < /keymap.bin + msg "done." fi - /sbin/loadkmap < /keymap.bin - msg "done." } diff --git a/install/keymap b/install/keymap index 0ddd0e5..65990dd 100644 --- a/install/keymap +++ b/install/keymap @@ -6,18 +6,20 @@ install () BINARIES="" FILES="" SCRIPT="keymap" - KEYMAP_FILE="$(mktemp ${TMPDIR}/keymap.XXXXXX)" - UTF8_FILE="$(mktemp ${TMPDIR}/keymap.XXXXXX)" - eval "$(grep -e "^LOCALE=" -e "^KEYMAP=" -e "^CONSOLEFONT=" -e "^CONSOLEMAP=" /etc/rc.conf)" - if [ -n "$(echo ${LOCALE} | grep -i utf)" ]; then - echo "UTF8='yes'" > ${UTF8_FILE} - /bin/loadkeys -q -u $KEYMAP -b > ${KEYMAP_FILE} - else - echo "UTF8='no'" > ${UTF8_FILE} - /bin/loadkeys -q $KEYMAP -b > ${KEYMAP_FILE} + eval "$(grep -e "^LOCALE=" -e "^KEYMAP=" /etc/rc.conf)" + if [ -n "$KEYMAP" ]; then + KEYMAP_FILE="$(mktemp ${TMPDIR}/keymap.XXXXXX)" + UTF8_FILE="$(mktemp ${TMPDIR}/keymap.XXXXXX)" + if [ -n "$(echo ${LOCALE} | grep -i utf)" ]; then + echo "UTF8='yes'" > ${UTF8_FILE} + /bin/loadkeys -q -u $KEYMAP -b > ${KEYMAP_FILE} + else + echo "UTF8='no'" > ${UTF8_FILE} + /bin/loadkeys -q $KEYMAP -b > ${KEYMAP_FILE} + fi + add_file ${KEYMAP_FILE} /keymap.bin + add_file ${UTF8_FILE} /keymap.utf8 fi - add_file ${KEYMAP_FILE} /keymap.bin - add_file ${UTF8_FILE} /keymap.utf8 } help () |