mac-mouse-fix
mac-mouse-fix copied to clipboard
Add Support for Momentum Scrolling [other]
I have a mouse with a free spinning mouse wheel. It works quite well with MacOS apart from the fact that scrolling is also not really smooth. The feature in Mac Mouse Fix to allow smooth scrolling seems quite a nice thing to have. Unfortunately it removes the momentum scrolling which I really like. With smooth scrolling enabled the scrolling is smooth but I can no longer scroll large chunks by fast spinning the wheel. It would be nice to have both smooth scrolling while at the same time keeping the ability to have momentum.
Hey there @I33, thanks for your feedback. Which model of Mouse are you using?
If you're still looking for a way to smoothen up your scrolling, you might want to take a look at MOS
Which model of Mouse are you using?
It's a bit aged model Logitech G9 Laser. It has a toggle switch on its underside to toggle between free spinning and discrete wheel mode.
you might want to take a look at MOS
MOS does the trick for me. Thanks for the pointer!
Hey @l33,
Please to inform you that inertial scrolling is in the latest MMF 3 Beta if you want to check it out!
Let me know if you have thoughts on or issues with it!
Please to inform you that inertial scrolling is in the latest MMF 3 Beta if you want to check it out!
That sounds great! Unfortunately I am unable to start it. The error report includes, apart from many other things, something about Exception Type: EXC_CRASH (SIGKILL (Code Signature Invalid)). I have not looked much into the details so it could be some other problem as well. The MMF 2 still works.
Hey @l33, that's weird! Which macOS version are you using? And are you sure you're using 3.0.0 Beta 4? Because Beta 1 had issues with the signature.
Which macOS version are you using?
$ sw_vers
ProductName: macOS
ProductVersion: 12.6
BuildVersion: 21G115
And are you sure you're using 3.0.0 Beta 4?
I guess this is Beta 4?
$ grep -A1 CFBundleShortVersionString Mac\ Mouse\ Fix.app/Contents/Info.plist
<key>CFBundleShortVersionString</key>
<string>3.0.0 Beta 4</string>
Yes, thanks for checking! And you get the code signature crash there?
[...] you get the code signature crash there?
Yes:
$ Mac\ Mouse\ Fix.app/Contents/MacOS/Mac\ Mouse\ Fix
Killed: 9
... at least I thought I had the same problem. That opened the usual dialog on malicious software which I clicked away and it died. I went on to remove the quarantine attributes:
$ xattr -r -c Mac\ Mouse\ Fix.app/
$ Mac\ Mouse\ Fix.app/Contents/MacOS/Mac\ Mouse\ Fix
... and this time it worked. Perhaps I really was using Beta 1 when I first tried this.
Okay that's great. That would've been a really weird issue that I'm relieved I don't have to deal with. Glad it works for you now, thanks for getting back!
The inertial scrolling works for me as I would expect it. That's nice. The rubber band effect, however, does not work for me. The way I scroll to the top or bottom of a document it overshoots way too much and keeps on going until I only see the blank background. Once I stop the spinning wheel it takes about 1.5 seconds for the document to return to normal.
I assume you have a free spinning scroll wheel?
Ah yes I saw you mentioned that
How are you finding it when you don't use the free spinning?
Without the free spinning wheel the effect feels a lot better. I still find the slowdown at the top and bottom a bit too hard. It seems there is a hard jump in scroll speed as it reaches the top or bottom before decelerating smoothly... but this could also be my imagination :) I do not have a Magic Trackpad. My comparison comes mostly form what I experience on my iPad. If I am already at the top of bottom and start to overshoot the rubber effect looks ok to me.
For the free spinning wheel I would try to ignore any wheel input once the rubber band effect starts and only start accepting again if the effect ended or the wheel direction changed.
Thanks for your thoughts!
Do you have the 'with Inertia' option off or on?

The rubberbanding should feel better if you have 'with Inertia' on.
I plan to improve the way scrolling feels when 'with Inertia' is off soon. I might also spend some time working on scrolling feel when 'with Inertia' is on but I'm not sure how I could improve it.
All the ideas I have aren't very good:
- I could provide an option to turn off the more accurate trackpad simulation of MMF 3. That would disable rubberbanding but it would also change many other scrolling interactions like being able to scroll between pages in Safari. Also don't know how I would present this option in the UI. Feel kind of bad about making that an option since it's such a weird technical thing that should 'just work'.
- I could make the non-inertial scrolling animation very short so the rubberbanding is less noticable
After that I'm out of ideas.
For the free spinning wheel I would try to ignore any wheel input once the rubber band effect starts and only start accepting again if the effect ended or the wheel direction changed
That's a really good idea but I don't know how it would be technically possible. Mac Mouse Fix just provides trackpad-like scroll events to apps and then the apps do their thing with it. There's no way for Mac Mouse Fix to know if an app is currently overscrolling or not as far as I'm aware.
Let me know if you have any ideas how to improve the scrolling though! I plan to make some changes soon.
It seems there is a hard jump in scroll speed as it reaches the top or bottom before decelerating smoothly
I'm not totally sure I know what you mean, could you elaborate on that?