From 22c1b353604da56d6d031e3273732373060b695d Mon Sep 17 00:00:00 2001 From: rope Date: Tue, 19 May 2026 17:36:04 +0100 Subject: [PATCH] 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 --- hosts/FredOS-Macbook.nix | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/hosts/FredOS-Macbook.nix b/hosts/FredOS-Macbook.nix index b27fed2..aea507b 100644 --- a/hosts/FredOS-Macbook.nix +++ b/hosts/FredOS-Macbook.nix @@ -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" ];