From d72aa7512d8882c441a264fbc413d493ec5d00e5 Mon Sep 17 00:00:00 2001 From: Manuel Fombuena Date: Sat, 4 Nov 2023 09:49:15 +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 | 7 ++++++ 2 files changed, 41 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..3507398669 --- /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 base + # 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 \ + 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..b42e582211 --- /dev/null +++ b/modules.d/90numlock/numlock.sh @@ -0,0 +1,7 @@ +#!/usr/bin/sh +i=1 +# 6 is the default value of the NAutoVTs option of the systemd login manager +while [ "${i}" -le 6 ]; do + setleds -D +num < /dev/tty"${i}" + i=$((i + 1)) +done