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" ];