diff options
| author | 2026-05-13 13:43:33 +0100 | |
|---|---|---|
| committer | 2026-05-13 13:43:33 +0100 | |
| commit | 66427c37fcc05ffbecde726aeea77ccfb1b860de (patch) | |
| tree | 6ef6b9795019ac4c3075b096072368fc1289a425 /etc/udev/hwdb.d/70-shokz-openmeet.hwdb | |
| parent | cb9b3f4e017dd202a0ac284639efd78fc07fbb1e (diff) | |
| download | dotfiles-66427c37fcc05ffbecde726aeea77ccfb1b860de.tar.gz dotfiles-66427c37fcc05ffbecde726aeea77ccfb1b860de.tar.bz2 dotfiles-66427c37fcc05ffbecde726aeea77ccfb1b860de.zip | |
feat(udev): replace shokz blacklist with hwdb keycode override
The previous /etc/udev/rules.d/80-shokz-blacklist.rules deauthorized the
entire usbhid interface for the Shokz OpenMeet dongle (3511:2EF2) to stop
the host from powering off when the headset is turned off. That also
killed mic-mute, volume, and media keys on the same HID Consumer Control
node.
Replace it with a narrow hwdb override that remaps just the offending
scancode (Consumer page Power, c0030 -> KEY_POWER) to reserved on that
specific vendor/product. KEY_MUTE / volume / media keys keep working.
Add 'systemd-hwdb update' + an input-subsystem udevadm trigger to the
etc deploy hook so new hwdb files take effect immediately.
Diffstat (limited to 'etc/udev/hwdb.d/70-shokz-openmeet.hwdb')
| -rw-r--r-- | etc/udev/hwdb.d/70-shokz-openmeet.hwdb | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/etc/udev/hwdb.d/70-shokz-openmeet.hwdb b/etc/udev/hwdb.d/70-shokz-openmeet.hwdb new file mode 100644 index 0000000..f35b94e --- /dev/null +++ b/etc/udev/hwdb.d/70-shokz-openmeet.hwdb @@ -0,0 +1,7 @@ +# Shokz OpenMeet (Loop120 dongle, 3511:2EF2) emits HID Consumer-page Power +# (scancode c0030 -> KEY_POWER) on enumeration AND when the headset is +# powered off, which causes systemd-logind to shut down the host. Suppress +# only that scancode; KEY_MUTE / volume / media keys on the same Consumer +# Control node remain functional. +evdev:input:b0003v3511p2EF2* + KEYBOARD_KEY_c0030=reserved |
