aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/run_onchange_after_deploy-etc.sh.tmpl
diff options
context:
space:
mode:
authorLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-05-13 13:43:33 +0100
committerLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-05-13 13:43:33 +0100
commit120ee3a0712594fb0c4fdf99c04f0e9d8874335d (patch)
tree8d1085b0e3512e8cb851cfdfcab362d7922c08f9 /run_onchange_after_deploy-etc.sh.tmpl
parent66427c37fcc05ffbecde726aeea77ccfb1b860de (diff)
downloaddotfiles-120ee3a0712594fb0c4fdf99c04f0e9d8874335d.tar.gz
dotfiles-120ee3a0712594fb0c4fdf99c04f0e9d8874335d.tar.bz2
dotfiles-120ee3a0712594fb0c4fdf99c04f0e9d8874335d.zip
fix(logind): ignore KEY_POWER short-press to stop Shokz dongle shutdowns
The Shokz OpenMeet dongle (3511:2EF2) emits KEY_POWER on USB enumeration and on headset power transitions, which logind handles with HandlePowerKey=poweroff and immediately shuts the host down. The previous attempt — an hwdb scancode remap of c0030 to reserved — sets the udev property correctly but the kernel does not honor EVIOCSKEYCODE for this device's HID consumer-page mapping (verified: KEY_POWER 116 still appears in the evdev keymap after udevadm trigger and libinput still reports it). Drop the hwdb file and the systemd-hwdb hooks from the etc deploy script. Replace with a logind drop-in that sets HandlePowerKey=ignore and HandlePowerKeyLongPress=poweroff. Single-tap power events from any source become no-ops; a 5s hold still shuts the machine down, so the real hardware-power-button safety net is preserved. Add a HUP to systemd-logind in the deploy script so the change takes effect without restarting the daemon.
Diffstat (limited to 'run_onchange_after_deploy-etc.sh.tmpl')
-rwxr-xr-xrun_onchange_after_deploy-etc.sh.tmpl7
1 files changed, 3 insertions, 4 deletions
diff --git a/run_onchange_after_deploy-etc.sh.tmpl b/run_onchange_after_deploy-etc.sh.tmpl
index adf00eb..d08f989 100755
--- a/run_onchange_after_deploy-etc.sh.tmpl
+++ b/run_onchange_after_deploy-etc.sh.tmpl
@@ -27,10 +27,9 @@ done
# sudo-rs: /etc/pam.d/sudo-i is a symlink to /etc/pam.d/sudo
sudo ln -sfT sudo /etc/pam.d/sudo-i
-# Recompile the udev hardware database so any etc/udev/hwdb.d/*.hwdb files
-# we just deployed take effect on next device event.
-sudo systemd-hwdb update
-sudo udevadm trigger --subsystem-match=input --action=change
+# Reload systemd-logind so changes under /etc/systemd/logind.conf.d/
+# (e.g. HandlePowerKey overrides) take effect without dropping sessions.
+sudo systemctl kill -s HUP systemd-logind
# Make sudo-rs the system-wide sudo via /usr/local/bin precedence.
# Targets may not exist yet on first bootstrap (sudo-rs is installed by