diff options
-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 +} |