diff options
author | Thomas Bächler <thomas@archlinux.org> | 2010-01-12 22:13:33 +0100 |
---|---|---|
committer | Thomas Bächler <thomas@archlinux.org> | 2010-01-12 22:13:33 +0100 |
commit | b2093f6c9d4f039e7944aebfb6b5c558218dabc6 (patch) | |
tree | b4efe8917f7e5bd2d03895a23ff35fd6c590ff4f | |
parent | 93a8be170ff841dd345084b5f5eda66c76e6534f (diff) | |
download | mkinitcpio-b2093f6c9d4f039e7944aebfb6b5c558218dabc6.tar.gz mkinitcpio-b2093f6c9d4f039e7944aebfb6b5c558218dabc6.tar.xz |
Add keymap hook
-rw-r--r-- | hooks/keymap | 15 | ||||
-rw-r--r-- | install/keymap | 29 |
2 files changed, 44 insertions, 0 deletions
diff --git a/hooks/keymap b/hooks/keymap new file mode 100644 index 0000000..fd53f5f --- /dev/null +++ b/hooks/keymap @@ -0,0 +1,15 @@ +# 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 + fi + /sbin/loadkmap < /keymap.bin + msg "done." +} diff --git a/install/keymap b/install/keymap new file mode 100644 index 0000000..cb64e69 --- /dev/null +++ b/install/keymap @@ -0,0 +1,29 @@ +# vim: set ft=sh: + +install () +{ + MODULES="" + 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'" >> ${KEYMAP_FILE} + /bin/loadkeys -q -u $KEYMAP -b > ${KEYMAP_FILE} + else + echo "UTF8='no'" >> ${KEYMAP_FILE} + /bin/loadkeys -q $KEYMAP -b > ${KEYMAP_FILE} + fi + add_file ${KEYMAP_FILE} /keymap.bin + add_file ${UTF8_FILE} /keymap.utf8 +} + +help () +{ +cat<<HELPEOF + This hook loads keymap(s) specified in rc.conf + during early userspace. +HELPEOF +} |