Whether I twist to scroll or hold btn4 to scroll, there appear to be huge leaps in the scrolling speed, which makes scrolling a little frustrating.
It feels like if I twist at, say, 1 RPM, it goes very slow, but if I increase my speed to just 1.2 RPM, instead of going 20% faster, it the speed jumps and goes like 400% faster. (not exact values, but you get the idea.)
Is there a way to get the scrolling to feel more natural and 1:1 with the movement of the ball, like scrolling with a Macbook trackpad? Or at least customize which ball speeds correlate to which scrolling speeds?
On M1 Macbook, MacOS 26.5. Rotatrix version: app 1.6.0b2 (4696147b) · fw 1.1.7 (ab397074). High-resolution scrolling enabled. Tested in multiple apps, same behavior.
I just examined the settings closer and realized there’s a question mark I can hover over that explains it: fine-grain scrolling is unavailable on MacOS due to firmware limitations. Any idea if that could be overcome somehow?
Yep, macOS doesn’t support standard USB-level high resolution scrolling, unlike Windows and Linux. Apple applies its own notched scrolling acceleration, which depends on how fast you scroll, and it’s not very linear as a result.
I have implemented a workaround - please enable the default_experimental_software_scroll profile. When you hold down btn4, the Rotatrix app will synthesize smooth scrolling events, as opposed to directly originating them from the device. It will require the Rotatrix app to be open, but the result is much better in macOS. (it has benefits for Windows as well)
Note that this only applies to btn4 scrolling map. For now, the twist to scroll will still use the device-level scrolling.
Let me know how that works for you.
I was able to get smooth scrolling, even in pan scroll mode, by using this mac utility: https://mos.caldis.me. Don’t use it with default_experimental_software_scroll profile though as they seem to interfere with each other.
(it’s open source as well; Mos/README.enUS.md at master · Caldis/Mos · GitHub. Not sure if that will help you with your software scrolling implementation here David.
)
Thanks for the pointer, I’ll have to take a closer look. Is there something you find it improves over my software scrolling? I think Mos still only receives discrete scroll events from the hardware, but then synthesizes hi-res events with inertia. The input would be fundamentally “notched” or “stepped” still.
For the Rotatrix-mode software scrolling, I have the full resolution of the ball movement available, so you can move the ball a tiny amount to scroll just 1 pixel.