From 3f556526ddbad68993bdd76361f0c8410362e0d6 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 31 Aug 2020 16:46:35 +0200 Subject: [PATCH] Added keymap hook --- config | 9 +++++++++ hooks/keymap/keymap | 13 +++++++++++++ hooks/keymap/keymap.init | 12 ++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 hooks/keymap/keymap create mode 100644 hooks/keymap/keymap.init diff --git a/config b/config index e4e9d65..b671fca 100644 --- a/config +++ b/config @@ -60,6 +60,8 @@ # hooks="eudev lvm luks" will use eudev as device manager and support booting LUKS on LVM # hooks="mdev luks lvm" will use mdev as device manager and support booting LVM on LUKS # hooks="systemd-udevd luks" will use systemd-udevd as device manager and support booting only LUKS +# hooks="keymap" will first load the keymap set at keymap_path. +# Note: If you use encryption, be sure to load this hook before the others # hooks="proc" will use CONFIG_UEVENT_HELPER as device manager # and so on... # @@ -102,3 +104,10 @@ # luks_opts="root=/dev/sda1,discard=1" # #luks_opts="" + +# keymap path +# +# path that will be passed to loadkmap +# example - keymap_path="/usr/share/bkeymaps/us/us.bmap" +# +#keymap_path="" diff --git a/hooks/keymap/keymap b/hooks/keymap/keymap new file mode 100644 index 0000000..2f22212 --- /dev/null +++ b/hooks/keymap/keymap @@ -0,0 +1,13 @@ +# vim: set ft=sh: +# shellcheck shell=sh +# +# false positive +# shellcheck disable=2154 +# +# handle_keymap() +{ + print "configuring keymap" + + copy_file "$keymap_path" "${keymap_path%/*}" 644 0 + copy_binary loadkmap +} diff --git a/hooks/keymap/keymap.init b/hooks/keymap/keymap.init new file mode 100644 index 0000000..043cbc3 --- /dev/null +++ b/hooks/keymap/keymap.init @@ -0,0 +1,12 @@ +# vim: set ft=sh: +# shellcheck shell=sh +# +# false positive +# shellcheck disable=2154 +# +# run_keymap() +{ + [ "$break" = keymap ] && { print "break before run_keymap()"; sh; } + + loadkmap < "$keymap_path" +}