An open-source mouse and trackpad utility for Mac
linearmouse.app
linearmouse.app
I try other Mouses but always return to the Apple products.
Trying to get other Mouses to have the same acceleration and tracking as you he Magic Mouse eludes me!
The thing with the Magic Mouse is the touch sensor on top! Being able to swipe and scroll horizontally and vertically is so ingrained that I miss it when switching.
Adding a TouchID sensor to the side of the Apple Magic Mouse would be super useful!
I don’t have a Magic Keyboard with TouchID yet, so I’m constantly reaching over to MacBook keyboard. I feel like if my thumb could just connect with the TouchID sensor on the side of a Magic Mouse, there’s be a lot less friction in the security UI!
I’m inspired to also try a trackpad given the enthusiasm shown in the comments here!
(Sorry, but I can't stand Apple hardware... I find it very crappy)
I've always liked the Magic Mouse.
> The thing with the Magic Mouse is the touch sensor on top! Being able to swipe and scroll horizontally and vertically
This is such an underrated feature; I use it constantly.
But there's more it can do; Better Touch Tool lets you configure gestures to your heart's content [1].
[1]: https://folivora.ai
- you can't rest your fingers on it. When you use it, you have to keep your finger(s) raised
- if an app/game uses middle button, you can't use that
I rest my fingers on the surface all the time and it's fine?
----
I'm also one of the dozen that like the Magic Mouse; in fact I have the first gen one that takes AA batteries, and it's still working perfectly. It's now the oldest mouse I've owned and used. Prior to it I think I had an early model of the wired optical IntelliMouse.
I do rest my index finger on the edge, and I do sometimes get a false micro/jerky scroll movement!
The magic mouse is the worst mouse I have used so far, precisely because of the touch area. I tried for a while to adapt to it and developed severe RSI. I event went through the “I must be holding it wrong” pattern like the apple fanboy I am, to no avail. I suspect it comes down to me having the wrong shape of hand. Luckily logitech makes some excellent mice, and I can map the thumb buttons to the gestures I used most on the magic mouse.
I don’t want to be inflammatory, but the amount of baby duck syndrome when people say MacOS and Linux are unusable is crazy. Just try to go vanilla for 2 weeks before you install two dozen utilities.
[1] When I hold caps lock, the computer responds as if I’m holding Command + Option + Control + Shift.
(In the “Complex modifications” tab, choose “Add rule” and enable “Change caps_lock to command+control+option+shift.”)
LinearMouse seems great, nice that it’s being offered through homebrew as well as a dmg.
What am I missing? Thank you in advance for your suggestion/reply!
Perhaps PyCharm is set to Windows keymappings or such?
I used to use it to remap capslock to control, but apple has since added that to macOS itself.
Return is another hybrid between itself and control (my keyboard does not have a right control key).
Space is another hybrid with a whole lot of bindings when held down. With s it generates space so that I can have key repeat for space (don’t need that often). With hjkl it generates the cursor keys.
Does this help?
I wish BTT were multi-OS, so I could just copy the configuration across platforms, instead of having to recreate from scratch (Linux), or not at all (ChromeOS).
[1] https://cleanshot.com [2] https://highlyopinionated.co/swish/
These are all apps for which I have long-standing muscle memory. If I use a new computer, I'm still pressing the keys but nothing happens and I have to remember how to do the things the normal way.
- yabai/skhd for window management
- brew/mas for package management
- linearmouse to disable cursor acceleration, scroll acceleration, and inverted scroll direction for mice while keeping all those things on for trackpads.
There are other things that I install on my Macs, but these are the programs that I use to fix behavior that I find unacceptable. Additionally I maintain a script of about 50 `defaults write ...` commands so that I don't have to dig around in the settings menus of system applications to configure them to behave sanely (show file extensions and paths, don't reorder Spaces, disable autocorrect, etc).
https://gist.github.com/idle-z/7fc3d3950b02c441ab522a094e5f4...
- Touch-Tab to switch apps with 3 fingers.
Both are free and open source.
Use Windows or Linux. Good luck and have fun!
WSL isn't a solution to this problem, especially ever since they gave up adding support to the actual Windows kernel and just used a virtual machine.
I shouldn't have to wait for all my software to add support for putting the WSL wrapper around all of their commands. I should be able to just run them on bare metal. This is why JetBrains IDEs can do profiling, valgrind etc on macOS but not Windows.
Some of us enjoy circles. Use whatever you like, but complaining A is not B is annoying.
In other words, it only sounds "annoying" because you seem to not understand why people would use a Unix operating system, and why Windows is not a suitable substitute.
(This is assuming they use macOS for its Unixness, but enough people use it for that reason that you probably shouldn't be telling people to just use Windows and "have fun". To your credit, you did also list Linux.)
Perhaps question if your old habits don't apply in a new context? And just because it's a WIMP UI you shouldn't expect it to work exactly like your former? That it's a new paradigm, with different metaphors, advantages and trade-offs?
Well, I didn't do that. I said Windows misses a desirable quality that macOS has, which makes it unacceptable as a substitute for macOS, specifically, if one relies on this desirable quality.
> Perhaps question if your old habits don't apply in a new context? And just because it's a WIMP UI you shouldn't expect it to work exactly like your former? That it's a new paradigm, with different metaphors, advantages and trade-offs?
Do you see how you just proved my point? According to your argument the answer would be "Well just don't desire that quality then." and, gee, I sure wish the whole tech world could just do that, it sounds so easy.
The Mac’s thing has always been resizable overlapping windows with a menu bar at the top of the screen. If you’re hoping for a great tiling window manager, you’ll be disappointed. You can kind of get a poor man’s tiling setup with some hacks, but it’s not what the platform is about.
What you call "basic UX options" are highly opinionated personal views. I've used Macs since 2007 and haven't used a single one of the dozen or so "basic UX" tools people listed in the discussion.
(and consider the fact that your circle company has added that square peg into their latest oval OS)
What I’m trying to convey here is that, while I hate Windows' mouse acceleration, to the point of being almost unusable to me, I don’t go on forums ranting about how ridiculous the amount of tweaking the OS requires to be usable.
There are fortunately other choices that fit my sensibilities much better. Why try to bend Microsoft to my particularities, especially when there are billions of perfectly happy users?
Ideally you’d want every OS to feature every possible preference setting. In practice, every feature increases the surface for bugs, loses focus on limited resources, puts the burden of choice on the user, etc. There needs to be a vision, an opinion, a personality to a product. You can either share that or look for a different platform.
> Why try to bend Microsoft to my particularities
Many reasons, but specific to this conversation: because it's not a square! Tweakability of these things is part of "essence" of a general purpose OS, so that's the flaw of your analogy, and why you have to resort to generic analogies instead of explaining how a specific tweak is bad
That’s where we differ.
>…instead of explaining how a specific tweak is bad
I have, but I’ll try one last time. Could Apple build an industry leading tiling window manager? Perhaps. Would that please most of its users? Probably not. Would it delay other more pressing demands? Surely.
And you ignored that Apple fixed that deficiency, so you also differ with the company, whose bad choices you're defending
And of course you wouldn't be be able to explain what other pressings demands for most users such a simple tweak would block
Regarding the pressing demands, how about a notification system that’s not a compete UX joke or a reliable and simple file sharing solution that doesn’t require the user to be aware of the SMB or SSH protocols? I could spend the whole day listing lower hanging fruits than meeting the particularities of ex-Windows users.
The number of system developers with deep knowledge of macOS, Swift/ObjC and willing to live in Cupertino is surprisingly small. It’s a very limited resource and it shows, given the number of years some glaring bugs survive with macOS every release.
And you haven't explained the most important thing- the blocking part, "resources are limited" gives you nothing of substance at this level, you actually need to know the amount of effort involved. How much time is needed to expose a different mouse curve? Would a better notification system be developed within that time?
I haven't ignored that Apple disagrees with me, that's a fact, since they shipped the toggle. I'm arguing how they should spend their developer's time.
>Would a better notification system be developed within that time?
How about basic functionality, like being able to close a notification without some serious mouse gymnastic? That bug is 3 years old.
Or having your music player display how much of the song has been played without requiring a hover, like any sensible music player has done since forever, iTunes included.
Or a System Preferences/Settings that's not a flabbergasting disaster.
Priorities.
Would you mind expanding on that? I'm not sure what I'd improve about my touchpad experience on my Mac.
IMO there’s no objective reason why. Natural scrolling is not what a lot of people are used to with a mouse, but it’s perfectly usable and even more consistent if you’re using the Magic Mouse, which uses a touch surface instead of a mechanical wheel. I, for example, always make my Windows and Linux machine use natural scrolling like I’m used to from my Mac and my life isn’t any better or worse because of it.
It is even part of our language: you "scroll down".
I think regardless of the direction you move your fingers, “scroll down” means the same thing: “scroll to a lower part”
I'm the opposite - I was surprised by how much of an improvement I found natural scrolling after decades of computer use. I now use an autohotkey script when on windows to get the same behavior as I get on macOS.
I can certainly see the switching cost not being worth it and wanting a setting that applies to the mouse and not the touchpad, but I'm failing to see how it's anything other than a switching cost.
Is there something specific here that's not just toggling the scroll direction to the right value in window's settings menu? It's had it for years at this point.
> I can certainly see the switching cost not being worth it and wanting a setting that applies to the mouse and not the touchpad, but I'm failing to see how it's anything other than a switching cost.
For me at least, you're fighting against decades of habitual usage. I have a mental model for how I expect my controls to work. I could switch - but I see zero value in doing so (what's the upside?) and a whole lot of wasted effort.
It's like a controller - Inverted exists. I understand that some folks like it. There are rare cases (usually when controlling an aircraft) in games when I might choose to use it. But by far and large... I just do not want an inverted controller. It's making me think harder for zero net benefit (and much worse in game results...).
Are you sure about that? I had to edit some registry values on my gaming machine to get natural scrolling.
For work, I use a Mac as my daily computer, but also use Linux at home, and a ChromeOS for travel. My Mac is heavily customized to behave like my Linux desktop, but there's little hope for ChromeOS, which means all my muscle memory is gone.
I wish we'd have better standards, and at least a universal way to customize keyboard shortcuts. Unfortunately we're far away from that. Even on Mac and Linux.
For general computer use and coding, I prefer the trackpad.
Other times, I have it plugged into a monitor and a desktop keyboard. In those cases, I want a real mouse plugged in.
Sure, but presumably your original question wasn't addressed to yourself? With a better external keyboard you don't have a trackpad, and even with the internal one sometimes it's more convenient to use the more capable tool
The first couple of seconds using it differently are confusing, then _click_, brain switches over.
Maybe this only happens if you regularly need to use different machines.
When I use someone else’s computer that uses the old scroll direction it just seems clunky and artificial.
Acceleration doesn’t really have a place on touchpads since they became ‘perfect’ with near-zero deadzone ~10 years ago. Especially on a nice big touchpad with equal click pressure like MacBooks have
Sure MacOS' stock behavior might be fine for you, but that's a different conversation, we're talking about giving the user choice without resorting to hacks here.
Within the last 5 years this wasn’t always the case since that’s when I last setup a Windows machine and this definitely was not a setting and I had to edit the registry. Trust me that was not my first choice—I would have much rather used a setting like you can on macOS for scroll direction.
Of course that’s not to say macOS is perfect either. Sounds like they are just now getting around to adding a setting for mouse acceleration. Now, this has always been possible with a “simple” (when compared to the multiple registry edits I had to do on Windows) terminal command—no need to resort to a an additional utility as you imply. Obviously both of these “hacks” as you say are not anything regular consumers are going to be able to do.
With all that said, macOS is closer aligned to how I would do an OS “out of the box”.
Linearmouse utilizes the new API introduced in macOS Sonoma to disable pointer acceleration.
I'm glad that Sonoma is adding the checkbox to turn it off for those who need it but it's never been a bother for me.
The maximum speed that can be configured using the built in tools for both mouse and trackpad is way too slow for my liking.
In the past I used MagicPrefs to do this, but that sadly doesn't work anymore. This is the first time I'm able to do this again, and with a free tool too! Thanks a lot for submitting this.
LinearMouse – A minimal app to get rid of scrolling acceleration on macOS - https://news.ycombinator.com/item?id=27485051 - June 2021 (76 comments)
I’m not sure how it stacks up to this open source project, but it’s definitely been worth the license cost to me over the years.
"You're holding it wrong" taken to absolute mastery.
It's `brew install --cask linearmouse` for those wondering.
Windows has had built-in acceleration since Windows XP (maybe 2000?) - it's the "Enhance pointer precision" option in the (classic) Mouse control panel.
There's also an acceleration curve you can customize, but there's no built-in GUI editor, but the data's all in the HKCU\Control Panel\Mouse registry keys.
I am not aware of any trackpad failures on Mac.
As an aside, I had just started working on a tool to do that since all I want is to have natural scrolling on my trackpad but regular scrolling on my mouse. Will have to take a look if this goes with the a11y route or the custom driver path.
Edit: looks like this modifies CGEvent
That’s 100 % subjective. There’s not a single reason why sliding your finger on a mechanical movable surface should behave differently than sliding it on a touch sensitive surface. You’re used to it behaving differently and that’s fine, but I prefer to have the same behavior for both and neither of us is right or wrong.