[HN Gopher] An open-source mouse and trackpad utility for Mac
       ___________________________________________________________________
        
       An open-source mouse and trackpad utility for Mac
        
       Author : cowjan
       Score  : 105 points
       Date   : 2023-06-23 15:38 UTC (7 hours ago)
        
 (HTM) web link (linearmouse.app)
 (TXT) w3m dump (linearmouse.app)
        
       | dang wrote:
       | Related:
       | 
       |  _LinearMouse - A minimal app to get rid of scrolling
       | acceleration on macOS_ -
       | https://news.ycombinator.com/item?id=27485051 - June 2021 (76
       | comments)
        
       | eshack94 wrote:
       | As a CursorSense customer for years, it's nice to see a modern
       | open-source alternative. I'll check it out.
        
       | jb1991 wrote:
       | would be great if it also offered middle-click emulation like
       | other utilities do for those cross-platform programs that think
       | everyone has a three-button mouse
        
       | mehlmao wrote:
       | I've used Smooze [1] in the past. It has a ton of features, but I
       | really just need it for turning off mouse acceleration and making
       | the scroll wheel usable. Glad to see an open source option.
       | 
       | [1] https://smooze.co/
        
         | baq wrote:
         | I'm using https://github.com/ther0n/UnnaturalScrollWheels,
         | literally the only thing it does is invert the scroll wheel
         | direction.
         | 
         | "You're holding it wrong" taken to absolute mastery.
        
       | callahad wrote:
       | Nice! I've been using Mac Mouse Fix (https://mousefix.org/),
       | which is also open source, to handle inverting my mouse wheel and
       | remapping the back/forward buttons, but LinearMouse looks quite a
       | bit more featureful.
        
       | drixer wrote:
       | Really great! Thanks :)
        
       | idle_zealot wrote:
       | This is a mandatory install on macOS for me (one of many). The
       | suite of extra software utilities required to make the base OS
       | usable is ridiculous, but I'm glad to see open source maintainers
       | working to keep my mouse working.
        
         | jonny_eh wrote:
         | > This is a mandatory install on macOS for me
         | 
         | Would you mind expanding on that? I'm not sure what I'd improve
         | about my touchpad experience on my Mac.
        
           | kiririn wrote:
           | Disabling acceleration is the main thing for me
           | 
           | 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
        
           | thesuitonym wrote:
           | Not the OP, but for one thing, natural scrolling is just an
           | awful idea for mouse users, it was designed for touch
           | screens, and translates pretty well to trackpads (Although it
           | broke with over a decade of user experience), but it's
           | completely unnatural on a mouse. Unfortunately, if you're a
           | user who switches between a mouse and the trackpad, Mac OS
           | only let's you pick one.
        
             | taude wrote:
             | you can override natural scrolling in default OS X System
             | settings, though.
        
               | hoistbypetard wrote:
               | Not per-device. I like "natural scrolling" on my
               | trackpads, but dislike it with mouse wheels. It's a PITA
               | to visit system settings every time I switch; I've been
               | low-key looking for something like this for some time.
        
             | furyofantares wrote:
             | > natural scrolling is just an awful idea for mouse users
             | 
             | 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.
        
               | horsawlarway wrote:
               | > I now use an autohotkey script when on windows to get
               | the same behavior as I get on macOS.
               | 
               | 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...).
        
             | Toutouxc wrote:
             | > natural scrolling is just an awful idea for mouse
             | 
             | 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.
        
               | arghwhat wrote:
               | Unlike for touch devices, it is no better or worse - but
               | as scroll wheel operation already is incredibly well
               | established, most already have an intuitive assumption of
               | behavior and switching forcing the user to switch _only_
               | annoys them.
               | 
               | It is even part of our language: you "scroll down".
        
               | joshspankit wrote:
               | As an "ambidextrous" scroller, it's just a matter what
               | you're scrolling: Are you scrolling the scrollbar down,
               | or the content of the window?
               | 
               | I think regardless of the direction you move your
               | fingers, "scroll down" means the same thing: "scroll to a
               | lower part"
        
             | ktosobcy wrote:
             | Why would you need a mouse when using macOS trackpads?
             | Before switching to MBP (about 10 years ago) I couldn't
             | fathom using trackpad but then after a couple of days of
             | usage I was so hooked up and it _felt_ so natural than I
             | can't imagine using mouse nowadays...
        
           | mrpf1ster wrote:
           | The Mac touchpad is great, but using an external mouse is
           | awful feeling without this tool
        
             | arghwhat wrote:
             | Last I checked it can be set independently for mouse and
             | touchpad in the settings without this tool.
        
               | [deleted]
        
               | [deleted]
        
               | Toutouxc wrote:
               | (If you're taking about the scroll behavior) It can be
               | set in two different places, but it's the same setting
               | underneath. Either you get natural everywhere or the
               | other behavior everywhere.
        
         | ayemel wrote:
         | On the flip side, this is exactly how I feel with Windows in
         | order to get the base OS usable.
        
           | theon144 wrote:
           | Not sure what you mean; Windows doesn't force mouse
           | acceleration.
        
           | kitsunesoba wrote:
           | Linux too. None of the DEs are all that close to what I'm
           | looking for, and of course building my own desktop from
           | scratch with a window manager, bars, takes as much work as
           | adjusting a DE and then a bunch more.
        
           | tredre3 wrote:
           | Windows (without additional utilities) allows you to disable
           | mouse acceleration, change scrolling direction, change
           | scrolling speed, and even invert buttons.
           | 
           | 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.
        
             | ayemel wrote:
             | > Windows allows you to...change scrolling direction
             | 
             | 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".
        
         | frou_dh wrote:
         | Funnily enough, they've just added a toggle to disable pointer
         | acceleration in this year's macOS Sonoma:
         | https://i.redd.it/rezxi3gfwf4b1.png
        
           | nntwozz wrote:
           | Yep finally!
           | 
           | Linearmouse utilizes the new API introduced in macOS Sonoma
           | to disable pointer acceleration.
        
           | karmakaze wrote:
           | Wow, I can play StarCraft2 (non-competitively) on the Mac
           | now.
        
         | tambourine_man wrote:
         | >The suite of extra software utilities required to make the
         | base OS usable is ridiculous
         | 
         | Use Windows or Linux. Good luck and have fun!
        
           | LoganDark wrote:
           | Windows isn't Unix, which is one of macOS's biggest selling
           | points for developers and hackers (remember which website
           | you're on). Recommending it as the solution whenever someone
           | complains about macOS is counterproductive, because in many
           | cases it's not a suitable substitute for macOS.
           | 
           | 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.
        
             | tambourine_man wrote:
             | It's tiring to read almost everyday on HN: "the amount of
             | work required to make this circle into a square is
             | ridiculous".
             | 
             | Some of us enjoy circles. Use whatever you like, but
             | complaining A is not B is annoying.
        
               | LoganDark wrote:
               | You clearly missed the point of my comment, which is not
               | to say that Windows should be Unix, but that the fact
               | that it is not means that you probably should not be
               | recommending it as a universal cure-all to people who
               | probably use macOS for a reason.
               | 
               | 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.)
        
               | tambourine_man wrote:
               | I use a Mac, always have. My complaint is that people
               | jump to criticize a way of working, saying it's unusable,
               | when there are plenty of others that have enjoyed working
               | this way for 40 years and are extremely productive that
               | way.
               | 
               | 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?
        
               | LoganDark wrote:
               | > My complaint is that people jump to criticize a way of
               | working, saying it's unusable, when there are plenty of
               | others that have enjoyed working this way for 40 years
               | and are extremely productive that way.
               | 
               | 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.
        
               | WastingMyTime89 wrote:
               | No one is complaining A is not B. Everyone is complaining
               | that macOS lacks some fairly basic UX options and is
               | being neglected by Apple which corrects these flaws at a
               | glacial pace.
        
               | tambourine_man wrote:
               | Oh, but they are. I'm extremely productive on stock
               | macOS, way more than on Windows. I just don't keep
               | complaining that Windows is broken. Some people obviously
               | love it.
        
               | [deleted]
        
               | threatofrain wrote:
               | On a tangent, I don't see what's wrong with complaining
               | that A [?] B. Complaining is just the precursor to voting
               | with your feet, and having more or less than competitor
               | offerings is a natural point of comparison in a
               | customer's mind.
        
               | tambourine_man wrote:
               | Sure, but there's a limit. You wouldn't complain that
               | there's no beef on a vegan restaurant.
               | 
               | 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.
        
               | [deleted]
        
         | ahstilde wrote:
         | what are your other mandatory installs?
        
           | billbrown wrote:
           | Alfred, Karabiner-Elements (for the hyper key functionality),
           | Shortcat, TextSniper, Moom, Sublime Text, iTerm 2, my
           | .bash_profile.
           | 
           | 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.
        
             | thehigherlife wrote:
             | Never heard of Shortcat before, it reminds me of that vim
             | shortcut that used to be popular for firefox back in the
             | day. I can see how that would be really powerful.
        
           | baq wrote:
           | https://alt-tab-macos.netlify.app/
        
           | wdb wrote:
           | Cleanshot X and Swish [2] I really like the gestures that
           | Swish adds.
           | 
           | [1] https://cleanshot.com [2]
           | https://highlyopinionated.co/swish/
        
           | pantulis wrote:
           | - BetterTouchTool - Folder Peek
        
             | AlexSW wrote:
             | +1 to BetterTouchTool! I'm mostly a keyboard person
             | (typical 'vim' user etc.) but being able to switch tabs
             | using a two-finger tap left and right on the touchpad is so
             | pleasant that I find it worth the investment for
             | BetterTouchTool alone. Configuring this for the different
             | keybindings of different programs flexibly is really great.
             | And it's a one-time payment including fixes and
             | improvements - I've had it for years.
        
           | faitswulff wrote:
           | Rectangle for window management
        
             | biomcgary wrote:
             | Rectangle is the only way I can make reasonable use of my
             | external monitor on MacOS.
        
             | hugi wrote:
             | Yes! I regret the time I spent without Rectangle.
             | Effortlessly managing windows, just throwing them around or
             | between monitors without ever touching the mouse is
             | absolutely priceless.
        
           | bluSCALE4 wrote:
           | I use SizeUp which gives keyboard shortcuts for what Win key
           | + arrow keys accomplishes. There's probably something better
           | but I'm used to it.
        
             | oidar wrote:
             | There is an open source version of this Rectangle.
             | https://rectangleapp.com
        
           | nicwolff wrote:
           | Zooom/2 even though it's abandonware.
        
           | ajdude wrote:
           | Not the parent, but one of the first things I usually install
           | on new Mac is Karabiner-Elements. Absolutely needed if you're
           | using a non-mac keyboard.
        
             | c-hendricks wrote:
             | What do you use it for? I use a non-Apple keyboard and just
             | switched the options / command key in System Settings.
        
               | sharikous wrote:
               | Say you have a laptop and a PC keyboard and want to have
               | different settings for the internal and the external
               | keyboard
        
               | klausa wrote:
               | The settings in System Settings.app are per-keyboard, so
               | you don't need anything external for that.
        
               | lobstrosity420 wrote:
               | It already lets you have different settings for the
               | internal en external keyboards by default. I use it just
               | like that - vanilla settings on my MacBook built in and
               | for the external keyboard I switch command and option,
               | since it's a windows keyboard.
               | 
               | 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.
        
               | hibbelig wrote:
               | I use it to have hybrid modifier and regular keys: if I
               | hold down caps lock like a modifier key and strike
               | another key then it behaves like control. If I tap caps
               | lock like I would a letter key then it behaves like
               | escape.
               | 
               | 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?
        
               | c-hendricks wrote:
               | Okay that's a great suggestion. I didn't mention it but I
               | do also change my caps lock to an extra escape key.
        
               | reboot81 wrote:
               | I use Caps lock as backspace. Go back a webpage, delete
               | last character. Use it all the time. WHO NEEDS TO SHOUT?
        
               | programmertote wrote:
               | Newbie Mac user here. I just did what you suggested (I
               | believe it's basically what's suggested in this article:
               | https://9to5mac.com/2016/03/17/how-to-remap-windows-
               | keyboard...), but I don't think Ctrl+C and Ctrl+V works
               | on browsers; I still have to use Alt+C and Alt+V to copy
               | paste when using Chrome/Firefox browsers whereas Ctrl+C
               | and Ctrl+V works in PyCharm.
               | 
               | What am I missing? Thank you in advance for your
               | suggestion/reply!
        
               | majormajor wrote:
               | If you run through that guide I think the intended result
               | is that "Alt-C" is going to be your copypaste. E.g. the
               | keys work in the Mac order: CTRL / OPT (ALT) / COMMAND
               | instead of the Windows order (CTRL / WINDOWS / ALT). So
               | using Alt-C should trigger Copy, matching Mac-user muscle
               | memory.
               | 
               | Perhaps PyCharm is set to Windows keymappings or such?
        
               | sorahn wrote:
               | right-option to forward delete on the internal laptop
               | keyboard.
               | 
               | I used to use it to remap capslock to control, but apple
               | has since added that to macOS itself.
        
               | siriusfeynman wrote:
               | for some reason apple think that the backslash and
               | backtick keys are the opposite of what they actually are
               | on british pc keyboards
        
               | spectre3d wrote:
               | I use it to map caps lock to a hyper[1] key, whether it's
               | an Apple keyboard or not.
               | 
               | [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.
        
       | vehemenz wrote:
       | This looks very similar to SteerMouse. Does it do the same thing?
        
       | hk1337 wrote:
       | I would prefer it show me the homebrew command in addition to a
       | copy to clipboard button instead of just the button so I have to
       | _trust_ what you're having me paste.
       | 
       | It's `brew install --cask linearmouse` for those wondering.
        
       | mig39 wrote:
       | The fact that there's a homebrew install option is the icing on
       | the cake! Installing now!
        
       | strongpigeon wrote:
       | This looks really good! Installing right now.
       | 
       | 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
        
       | Pesthuf wrote:
       | Apple's idea of "natural scrolling direction" is insane.
       | Scrolling with a touchpad and scrolling with with a mouse wheel
       | are simply different things - the natural direction is simply
       | different for both.
        
         | turtlebits wrote:
         | You can easily change that under mouse settings. I'm not sure
         | it's insane as my kid is fine with it as he's never used the
         | opposite.
        
           | siriusfeynman wrote:
           | the "natural scroll direction" is shared for mice and the
           | trackpad, so you can't have mice and the trackpad scroll
           | different without third party software
        
         | Toutouxc wrote:
         | > natural direction is simply different for both
         | 
         | 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.
        
       | tlhunter wrote:
       | I've kept a minimized macos preference window open for months now
       | so that I can switch the mode when I'm on the go. This app takes
       | care of that one use case pretty well and just made my life
       | slightly better.
        
       | cowjan wrote:
       | I've long looked for a good mouse utility for Mac that can
       | disable mouse acceleration, modify scroll wheel behavior, etc.
       | This one even saves preferences per-device which I find very
       | useful.
        
         | aPoCoMiLogin wrote:
         | personally i prefer this one https://github.com/Caldis/Mos
        
         | sorahn wrote:
         | I'm not sure off the top of my head if BetterTouchTool can
         | disable the mouse acceleration, but it can definitely modify
         | everything else.
        
         | blairbeckwith wrote:
         | I'm eager to try this out, but you might also want to check out
         | Steermouse[1], which is a utility it took me years longer to
         | discover than it should have.
         | 
         | 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.
         | 
         | [1] https://plentycom.jp/en/steermouse/
        
           | doctorpangloss wrote:
           | I use SteelSeries Exactmouse for years. It seems the most
           | reliable.
        
           | gedy wrote:
           | Long time user of Steermouse, it was a life saver when
           | transitioning from Windows and just could not get used to OSX
           | mouse acceleration curve
        
           | [deleted]
        
           | kstrauser wrote:
           | I just installed LinearMouse. It doesn't support the extra
           | buttons on my Logitech MX Vertical mouse, but SteerMouse
           | does. That by itself is worth the license cost for me.
        
       | ayemel wrote:
       | The lack of mouse acceleration in Windows is what make it feel,
       | to me, clunky and slow. I know it's a function of what you grew
       | up with/are used to but it's interesting to see. Personally I
       | like being able to flick my mouse across the screen without
       | having to pick up my mouse--enables faster work.
        
         | gibolt wrote:
         | I've had my touchpad randomly stop working. Sometimes a restart
         | fixed it, sometimes it required a deep dive into driver land.
         | Something so basic that should just work.
         | 
         | I am not aware of any trackpad failures on Mac.
        
         | [deleted]
        
         | DaiPlusPlus wrote:
         | > The lack of mouse acceleration in Windows is what make it
         | feel, to m
         | 
         | 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.
        
           | ayemel wrote:
           | Ahh interesting so it's not enabled by default?
        
             | DaiPlusPlus wrote:
             | It's been enabled by-default since (at least) Windows 7.
        
       | jnsie wrote:
       | Useful tool, beautiful (and simple) website, dmg and brew install
       | options, open source. Very nicely done!
        
       | reboot81 wrote:
       | Can't use macOS&Magic Mouse on 2x27" without cranking up the
       | acceleration. Been using https://plentycom.jp/en/cursorsense/ for
       | 10 years. Will try this, seems more maintained.
        
       | rcarr wrote:
       | Anyone know what the Linux equivalent of this would be?
        
       | lode wrote:
       | This is what I've been looking for for such a long time.
       | 
       | 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.
        
         | 0x0 wrote:
         | I ended up having to pay(!) to re-enable middle clicking after
         | magicprefs stopped working at some point in the macos upgrade
         | race. I bought this. https://middleclick.app/
        
       | donatj wrote:
       | I've been using "Scroll Reverser" for years to let me have
       | Natural Scrolling on my trackpad but not my mouse. I'll have to
       | check this out as an alternative.
        
       | kitsunesoba wrote:
       | Unpopular opinion perhaps, but as someone who's bouncing between
       | all three big desktop platforms pretty regularly, cursor
       | acceleration is a total non-issue. I adjust to the difference so
       | quickly that I don't even notice a difference.
       | 
       | 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.
        
       | olgeni wrote:
       | While we are here, is there a way to completely disable (not just
       | reduce) the stupid, useless desktop switching animations? \o/
        
       ___________________________________________________________________
       (page generated 2023-06-23 23:01 UTC)