From ac7391c8cbaf8b99a9db520ba20640e145064b11 Mon Sep 17 00:00:00 2001 From: Manuel Fombuena Date: Fri, 3 Nov 2023 14:21:50 +0000 Subject: [PATCH] feat(numlock): add module to turn Num Lock on This module adds setleds and a shell script to turn Num Lock on. Useful when you have to type a password or a PIN to unlock a volume. --- modules.d/90numlock/module-setup.sh | 34 +++++++++++++++++++++++++++++ modules.d/90numlock/numlock.sh | 6 +++++ 2 files changed, 40 insertions(+) create mode 100755 modules.d/90numlock/module-setup.sh create mode 100755 modules.d/90numlock/numlock.sh diff --git a/modules.d/90numlock/module-setup.sh b/modules.d/90numlock/module-setup.sh new file mode 100755 index 0000000000..b093d92878 --- /dev/null +++ b/modules.d/90numlock/module-setup.sh @@ -0,0 +1,34 @@ +#!/usr/bin/bash +# This file is part of dracut. +# SPDX-License-Identifier: GPL-2.0-or-later + +# Prerequisite check(s) for module. +check() { + + # If the binary(s) requirements are not fulfilled the module can't be installed. + require_binaries setleds || return 1 + + # Return 255 to only include the module, if another module requires it. + return 255 + +} + +# Module dependency requirements. +depends() { + + # This module has external dependency on other module(s). + echo systemd-udevd + # Return 0 to include the dependent module(s) in the initramfs. + return 0 + +} + +# Install the required file(s) and directories for the module in the initramfs. +install() { + + inst_multiple -o \ + setleds + + inst_hook initqueue/settled 90 "$moddir/numlock.sh" + +} diff --git a/modules.d/90numlock/numlock.sh b/modules.d/90numlock/numlock.sh new file mode 100755 index 0000000000..fa61dfc7f8 --- /dev/null +++ b/modules.d/90numlock/numlock.sh @@ -0,0 +1,6 @@ +#!/usr/bin/sh +i=1 +while [ "${i}" -le 6 ]; do + setleds -D +num < /dev/tty"${i}" + i=$((i + 1)) +done