The built-in options are limited. To achieve your goal a combination of different software could be needed.
Sensitivity and mouse acceleration
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 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.
- Acceleration = 0
- Sensitivity = 0-2000
- 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.
Semi-related are also modifications to scrolling which can improve the Mac mouse usage experience.
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.
It can be downloaded and installed directly from the homepage, or by using e.g. Homebrew:
brew install --cask smoothscroll
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.
- 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).