Describe the bug
Summary
Every few days, trackpad scrolling and input in general become janky system-wide: input goes dead for a moment, then catches up in a steppy burst. The machine is otherwise idle — no CPU, memory, or GPU pressure. Quitting BTT immediately restores smooth input; relaunching brings the problem back within days. Restarting the system (or just BTT) clears it temporarily. This has been the consistent pattern.
Diagnosis
I believe I found the mechanism.
Using CGGetEventTapList, BTT's active (filtering) event taps show extreme latencies while the jank is happening. The HID-level tap that includes scroll events repeatedly spiked from microseconds to multi-second values:
- avg/max readings from ~0.6 s up to ~87 s
- up to ~182 s max shortly after a fresh relaunch
BTT held the only enabled active taps on the system at the time, so nothing else could have been stalling the event stream.
A 5-second sample of the BetterTouchTool process taken during the jank shows the main thread — which also services the event-tap callbacks — blocked inside a synchronous XPC call to LaunchServices:
_dispatch_call_block_and_release
-[NSRunningApplication localizedName]
-[NSRunningApplication _fetchDynamicProperties]
_LSCopyApplicationInformation
LSClientToServerConnection::sendWithReply
xpc_connection_send_message_with_reply_sync
mach_msg2_trap (blocked)
When lsd is slow to reply, the tap callback can't return the event, and macOS holds the entire input stream behind it.
Suggested fix
Move the NSRunningApplication / LaunchServices lookups off the tap-servicing thread (or cache them), so a slow lsd reply can't block event delivery.
On testing the latest alpha
Diagnosed on 6.640 stable. I checked the 6.641–6.652 alpha release notes and saw no changes related to event taps or input handling. Since the stall is intermittent (takes days to reappear), I can't quickly confirm or rule it out on the alpha. Happy to test an alpha build if you think it's relevant.
Affected input device (e.g. MacBook Trackpad, Magic Mouse/Trackpad, Touch Bar, etc.):
Built-in MacBook trackpad (no external mice; symptom affects all input system-wide while it lasts).
Device information:
- Type of Mac: MacBook Pro (M5 Pro)
- macOS version: 26.5.2 (25F84)
- BetterTouchTool version: 6.640 (2026071312)
Additional information (e.g. crash logs, related issues, etc.):
No crashes — nothing lands in Crash Reports because nothing crashes; the tap just stalls. Full sample output available on request. Also happy to run CGGetEventTapList monitoring again while the jank is live if more latency data would help.