Describe the bug
When BTT is running, mouse becomes stuttering, sometimes to the point of being completely unusable. The problem disappears a few seconds after quitting BTT.
In addition to BTT, I also use BetterMouse and Keyboard Maestro, but quitting those doesn't help the case.
I can provide more details if needed, not sure how to troubleshoot this myself.
Affected input device (e.g. MacBook Trackpad, Magic Mouse/Trackpad, Touch Bar, etc.):
Master MX 3s connected via Bluetooth (although the problem persists with the dongle).
Device information:
- Type of Mac: Mac Mini M2
- macOS version: 27.0.1
- BetterTouchTool version: 6.883
Can you check via Activity Monitor whether any process is using a lot of CPU?
Does it always happen or only in specific situations?
Currently, mediaanalysisd is over 150%. However, when I quit BTT, lag completely disappears despite the high CPU. `Disable BetterTouchTool for All Apps` doesn't help though.
I can't seem to find a common thing when it starts happening. It's not constant, but quite frequent.
If you can reproduce the issue, it would be great if you could run this terminal command while the mouse stutter happens and post the resulting btt-startup-sample.txt that will be placed on your Desktop (the command will run for 60 seconds and take samples of the BTT process)
sample BetterTouchTool 60 1 -wait -mayDie -file ~/Desktop/btt-startup-sample.txt
Thanks, will let you know. Just updated to 6.884 and the lag is gone, will have to wait for it to reoccur.
If possible it would also be great if you could go to Help => Export Diagnostic Debug Information and send it to me (andreas@folivora.ai) this would allow me to replicate your exact BTT setup and see whether I can somehow reproduce it
Was the stuttering happening during normal mouse movements or when dragging the mouse?
Ha, I also thought about it. Normal movement.
I did not yet find anything weird / problematic in your setup, so the process sample via the terminal command if this happens again would be great!
Although the lag is not as intense now, it's quite noticeable (especially when trying to click on small elements, etc.). Here's the sample:
btt-startup-sample.txt (704.2 KB)
Very strange, there is nothing in the sample that would explain mouse movement issues (for drags I could maybe think of a few things but standard mouse movements should not affected by any of this)
One more thing, could you post the output that is shown here? (Show System Event Taps)
Mhh BetterMouse uses a lot of the same taps as BTT does, this can lead to weird behavior although in previous macOS versions it could not lead to mouse stutters.
You mentioned quitting BetterMouse doesn't help, but do you know whether the issue even occurs when BetterMouse is not running? (Btw. BTT includes full native Logitech Mouse support)
Sorry, could you elaborate on a difference between quitting BM and not running it?
I use BetterMouse for smooth scrolling, not sure if BTT does that. It also has button 5 + dragging mouse left/right/up/down -> shortcut, haven't found a simple way to do this in BTT.
Quitting BM after event tap "conflicts" have accumulated might be too late, thus I wonder whether running only BTT leads to the same issue or whether it is indeed some regression in macOS 27 related to event taps.
Smooth scrolling and drag gestures are included in BTT (all in the "normal mouse" section):
Ah, okay. Will try BTT only to see if it happens again. Btw, this has been happening for quite some time – I've only updated from Sequoia to Golden Gate yesterday.
Regarding BTT vs. BM: just managed to transfer most of my setup to BTT (and more!), thank you for pointing me to the right direction! For now, the lag is gone, so the problem really might be related to the conflict between the two.
By the way, is there an option to disable smooth scroll modifier for certain apps? Tried creating another modifier for iTerm2, but seems that the global/for all apps modifier overrides it. Are advanced conditions the main way to do this?
the easiest and most performant way is to create a conditional activation group and add the modifier to that: