32

The obvious answer you can find everywhere is:

defaults write .GlobalPreferences com.apple.mouse.scaling -1

which disables mouse acceleration, but locks you at one sensitivity.

Old solutions:

SmoothMouse no longer works. Mouse Acceleration Preferences Pane and SteelSeries ExactMouse both behave the same as com.apple.mouse.scaling -1 at all tracking speed settings (but without restart required).

Is it possible to disable mouse acceleration while still being able to adjust the sensitivity?

Charlie Laabs
  • 423
  • 1
  • 4
  • 5
  • 1
  • 1
    CursorSense from the same developer seems to still work, but I'm a little peeved I have to pay money to change my mouse sensitivity. – Charlie Laabs Aug 20 '18 at 13:51
  • If you're in a trial period for CursorSense, you might be able to get an acceptable result from Mouse Acceleration. – Trellis Aug 20 '18 at 17:04
  • Mouse Acceleration appears to offer an inverse setting scale which removes acceleration, but I can't tell that any of the values currently change anything related to speed when the displayed value is negative. – Trellis Aug 20 '18 at 17:07
  • That's the Mouse Acceleration Preferences Pane I mentioned in my original post. It seems all the negative values are similar to what you get at -1. I imagine it's just setting com.apple.mouse.scaling without a need for restart. – Charlie Laabs Aug 20 '18 at 18:27
  • 2
    I ended up ditching the Magic Mouse 2 and going with the Logitech MX Vertical. The MX Vertical has variable sensitivity built into the firmware, which with the defaults write .GlobalPreferences com.apple.mouse.scaling -1 option, alleviates my problem.

    Really disappointing that a basic feature like this was removed from macOS and the only solutions cost money.

    – Charlie Laabs Sep 13 '18 at 14:20
  • the command doesn't work for me – minseong Jan 24 '20 at 22:35
  • The fact that this is a question is a HUGE FAIL on Apple's part. This is ridiculous. – Michael Apr 14 '20 at 16:20
  • Another update after moving to Catalina: Mouse Acceleration Preferences Pane no longer works. I just have an alias in my .bashrc/.zshrc: alias fix-mouse='defaults write .GlobalPreferences com.apple.mouse.scaling -1'. I had to log out after running fix-mouse to make it stick. It seems to remember it even after subsequent OS updates, which is better than Mouse Acceleration Preferences Pane. – Charlie Laabs May 19 '20 at 21:19
  • I use a Logitech Mouse too, and can disable acceleration (in terminal) and then adjust speed using the the Logitech Options software. This is on both Mojave and Monterey. @CharlieLaabs AFAIK this has NEVER been openly configurable in MacOS or OS X, at least since I've been using macs (2009). It's always the first thing I have to do when setting up a system, and it's utterly shameful that Apple has never allowed a checkbox in mouse settings for this. The Magic Mouse is an ergonomic disaster. Toss that thing in the trash. – John Oct 29 '22 at 16:19

5 Answers5

19

Nov 2021: LinearMouse is actively developed & free.

A UI so no terminal messing. It can also help with the scroll wheel acceleration as well.

enter image description here

nitsujri
  • 326
  • 2
  • 7
  • 2
    Incredible ! After so many years of hassle... I should definitely learn swift to help the project =) – uptoyou May 29 '22 at 19:54
18

The built-in options are limited. To achieve your goal a combination of different software could be needed.

Sensitivity and mouse acceleration

Terminal

Like you have already mentioned, the following setting needs to be applied to disable mouse acceleration.

defaults write .GlobalPreferences com.apple.mouse.scaling -1

It can be a good idea to establish a script to automatically perform this action during login to ensure it is properly applied.

Alternatively, mouse acceleration can be configured using SteerMouse (presented below).

SteerMouse

SteerMouse can then be used to adjust your sensitivity. It does require a license, but it also resolves the issue.

Simply download and install the software, either from their homepage or by using e.g. Homebrew:

brew install --cask steermouse

The Cursor settings can then be adjusted to your liking. Acceleration should be left at 0, while sensitivity can be tuned to your preference.

  • Speed = ON
  • Acceleration = 0
  • Sensitivity = 0-2000

SteerMouse cursor settings

  • If using e.g. BetterTouchTool, then remember to turn Buttons, Wheel and Chords off in SteerMouse. These are known to conflict and generate erratic mouse behavior, as they both utilize similar macOS API endpoints.

Scrolling

Semi-related are also modifications to scrolling which can improve the Mac mouse usage experience.

SmoothScroll

Scrolling with a mouse on macOS can feel unnatural. To improve this one can utilize applications such as SmoothScroll for a better flowing scroll. Further adjustments can be made to customize the speed and related settings to ones need.

SmoothScrool settings

It can be downloaded and installed directly from the homepage, or by using e.g. Homebrew:

brew install --cask smoothscroll

Scroll direction

It can be preferential to have different scroll directions between the trackpad and mouse. This can be adjusted in System Preferences -> Mouse. Checking/unchecking Scroll direction: Natural modifies this behavior.

Scroll direction - System Preferences

Notes

  • The recommended options have been tested to work on macOS Ventura 13.2.1.
  • Licenses might be required for the suggested software.
  • I am in no way affiliated with the software developers, just a satisfied user. These are workarounds I have found when attempting to resolve the issue(s).
Nerolite
  • 1,205
2

Under Big Sur, defaults write .GlobalPreferences com.apple.mouse.scaling -1 still works but requires a restart. However once restarted and my MacBook Pro goes into sleep mode and comes out of it, the mouse acceleration is back again. It requires a full restart after each time it goes into sleep mode.

Aedan
  • 131
1

Speaking for Big Sur:

CursorSense is capable of this, however it is paid software.

Instead I found https://github.com/docwhat/killmouseaccel which is a free solution that will remove acceleration on a mouse or touchpad, while maintaining the ability to adjust sensitivity.

Launching it on startup is covered well here: https://stackoverflow.com/a/13372744

Dark
  • 111
  • 3
0

Not a software solution (and I'm on Big Sur in 2021), so possibly not the answer you were looking for. But, I use a Logitech MX518 Hero which lets you store different DPI profiles physically on the mouse. I mainly use this mouse with Windows (which is where I set all the hardware profiles). But then when I swap over to MacOS machine with KVM, as long as I have the accel disabled via Terminal, then the mouse behaves exactly the same as it does on the Windows machine.

The111
  • 133
  • Unfortunately, this leads to pixel skips on Retina. I would need exactly 0.5x linear sensitivity to configure things the same as Windows. – mm201 Apr 20 '21 at 22:01
  • Ah, when I use my MacBook with external keyboard and mouse, I'm also using an external (non-Retina) display. – The111 Apr 21 '21 at 03:22