How can I toggle magic mouse one finger swipe pages gesture via terminal?

How can I toggle magic mouse one finger swipe pages gesture via terminal?

The command defaults write -g AppleEnableSwipeNavigateWithScrolls -bool NO triggers checkbox in System Preferences, but doesn't affect swiping gesture.

Checkbox toggle in System Preferences turns off swipe gesture instantly without need to restart magic mouse. I want to get same functionality from terminal.


Solution 1:

The one finger swipe gesture on the Magic Mouse is technically a scroll gesture and it can not be disabled, you can investigate the specifics further with my app NSMonitor.

To investigate the correspondence of ~/Library/Preferences/com.apple.driver.AppleBluetoothMultitouch.mouse.plist entries with user interface elements in System Preferences what i do is save a copy of that file as xml, edit something in system preferences, save it again and compare the two.

Solution 2:

After some research I found out that you have to manipulate com.apple.driver.AppleBluetoothMultitouch.mouse.

I found a config at github from okine which had the following code:

# Disable full-screen swipe (two-finger swipe) on Magic Mouse
defaults write com.apple.driver.AppleBluetoothMultitouch.mouse MouseTwoFingerHorizSwipeGesture -int 0

This should work. Other options are

defaults read ~/Library/Preferences/com.apple.driver.AppleBluetoothMultitouch.mouse.plist

Returns

{
    MouseButtonDivision = 55;
    MouseButtonMode = TwoButton;
    MouseHorizontalScroll = 0;
    MouseMomentumScroll = 1;
    MouseOneFingerDoubleTapGesture = 0;
    MouseTwoFingerDoubleTapGesture = 3;
    MouseTwoFingerHorizSwipeGesture = 2;
    MouseVerticalScroll = 1;
    UserPreferences = 1;
}