From 4f99ea2019c3965f5605a0581007a96d7d0ae4dd Mon Sep 17 00:00:00 2001 From: rope Date: Thu, 16 Jul 2026 21:18:56 +0100 Subject: [PATCH] macbook: fix native DWT via hwdb touchpad integration override Co-Authored-By: Claude Fable 5 --- hosts/FredOS-Macbook.nix | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/hosts/FredOS-Macbook.nix b/hosts/FredOS-Macbook.nix index c43a642..86015d9 100644 --- a/hosts/FredOS-Macbook.nix +++ b/hosts/FredOS-Macbook.nix @@ -39,11 +39,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. - # A libinput quirk (AttrKeyboardIntegration=internal) was tried but - # caused libinput to permanently inhibit the touchpad. + # systemd's hwdb tags USB touchpads external (no Apple exception + # upstream), so libinput refuses to offer DWT on the bcm5974 + # (ID_INPUT_TOUCHPAD_INTEGRATION=external). Force internal so + # libinput's native DWT pairing with the internal keyboard works. + services.udev.extraHwdb = '' + touchpad:usb:v05acp0291:* + ID_INPUT_TOUCHPAD_INTEGRATION=internal + ''; + + # Fallback DWT daemon for the bcm5974 touchpad. + # TODO: remove once native libinput DWT (hwdb fix above) is verified. systemd.services.macbook-dwt = { description = "Disable touchpad while typing (bcm5974)"; after = [ "systemd-udevd.service" ];