Skip to content

One-finger click&drag is it missing on all models or specific to mine (Magic Trackpad 2 A1535 / PID_0265)? #48

Description

@aaalizk

Hey, first thanks for sorting out the EV cert and signing this properly.

So here's my thing: on my Magic Trackpad (the Lightning one), I can't do a one-finger click-drag, press the physical click, hold it, move a single finger to drag, the macOS way. The only workaround I found is turning off IgnoreButtonFinger, but that breaks the other gestures, so it's not great.
So I ended up prototyping a small opt-in setting AllowButtonHeldSingleFingerMotion (defaults to 0, so nothing changes for anyone unless they turn it on). When it's on, it allows a narrow exception to the pointer lock, only when raw_n == 1 && PrevIsButtonClicked && IsButtonClicked && TipSwitch && same_contact. I patched both paths (USB UMDF + Bluetooth HID filter), tested on Windows 11 over USB and BT, and it gives me the same drag feel as Magic Utilities while keeping the other gestures intact.
Before I clean it up into a PR, two questions:

  1. Is one-finger drag missing on other models too, or does the newer USB-C model (A3120) already do it natively?
  2. Would you be open to an opt-in option like this? If yes, I'll send a PR. I'd also document a small known limitation honestly, a slight cursor jump can happen if the contact id changes while the button is held, but that's really the existing lock pattern showing through, not something my change introduces.

Either way, thanks again for the work 🙏

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions