macbook: add libinput quirk for native DWT on bcm5974

Tell libinput the Apple keyboard is internal so its built-in
disable-while-typing pairing works despite keyboard and touchpad
sharing the same USB device. Keep the custom DWT script as fallback.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
rope 2026-05-19 17:36:04 +01:00
parent 20f70dd27a
commit 22c1b35360

View file

@ -32,9 +32,17 @@
HandleLidSwitchExternalPower = "suspend";
};
# Disable-while-typing daemon for the bcm5974 touchpad.
# Hyprland's built-in DWT doesn't work because the keyboard and
# touchpad share the same USB device, breaking libinput's pairing.
# Hint libinput that the Apple keyboard is internal, so its built-in
# DWT pairing works for the bcm5974 touchpad (keyboard and touchpad
# share the same USB device, which normally breaks pairing).
environment.etc."libinput/local-overrides.quirks".text = ''
[Apple MacBook Keyboard]
MatchProduct=Apple Internal Keyboard
AttrKeyboardIntegration=internal
'';
# Fallback DWT daemon in case the libinput quirk above isn't enough.
# TODO: remove this if the quirk works reliably.
systemd.services.macbook-dwt = {
description = "Disable touchpad while typing (bcm5974)";
after = [ "systemd-udevd.service" ];