Disabling "More Gestures" in 10.7.5

Sandy
Valued Contributor II

Hi All,
I need to disable most of the "More Gestures" (third tab of System Pref>Trackpad ) for MN Online Assessments.
I have tried a custom Config Profile/user level which I created by uploading the trackpad plist, but while I was able to save it, it would not deploy.
The rest of my profiles appear to be working, and the test computer is receiving all other expected profiles.
MCX Settings in this area specifically say 10.6 only
So I'm trying to package using Composer>Monitor File System Changes
The files it appears to effect are
~/Library/Preferences/ByHost/.GlobalPreferences.xxxxxxxx.plist
~/Library/Preferences/com.apple.driver.AppleBluetoothMultitouch.trackpad.plist
~/Library/Preferences/.GlobalPreferences.plist

I have tried packaging and deploying every combination of these files
Deploy via login policy with: FEU, FUT, Fix ByHost Files

The settings are not applying on my target computer (and not after logging out and back in)

On my package creator computer with all desired boxes Unchecked,
and my target computer where the setting failed to take effect
I get the following in Terminal: (bot identical)
And same whether Mission Control> "Swipe up with three Fingers" is checked or not checked:

defaults read com.apple.driver.AppleBluetoothMultitouch.trackpad
{ Clicking = 1; DragLock = 0; Dragging = 0; HIDScrollZoomModifierMask = 262144; TrackpadCornerSecondaryClick = 0; TrackpadFiveFingerPinchGesture = 0; TrackpadFourFingerHorizSwipeGesture = 0; TrackpadFourFingerPinchGesture = 2; TrackpadFourFingerVertSwipeGesture = 0; TrackpadHandResting = 1; TrackpadHorizScroll = 1; TrackpadMomentumScroll = 1; TrackpadPinch = 1; TrackpadRightClick = 1; TrackpadRotate = 1; TrackpadScroll = 1; TrackpadThreeFingerDoubleTapGesture = 0; TrackpadThreeFingerDrag = 0; TrackpadThreeFingerHorizSwipeGesture = 0; TrackpadThreeFingerVertSwipeGesture = 2; TrackpadTwoFingerDoubleTapGesture = 1; USBMouseStopsTrackpad = 0; UserPreferences = 1; migrationDone = 1; version = 4;
}

I found this: Credit: (github.com/mathiasbynens)
which seems somewhat in the same realm, (and NEEDLESSLY COMPLEX to fricking check a box!!!)
# Trackpad: swipe between pages with three fingers
defaults write NSGlobalDomain AppleEnableSwipeNavigateWithScrolls -bool true
defaults -currentHost write NSGlobalDomain com.apple.trackpad.threeFingerHorizSwipeGesture -int 1
defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadThreeFingerHorizSwipeGesture -int 1

Anybody have other ideas?
Thanks much!
Sandy

2 ACCEPTED SOLUTIONS

cbrewer
Valued Contributor II

Here's a login script that does the job. I've only tested in 10.7 so far...

If you don't care about the Launchpad and Show Desktop gestures then take out the last 4 lines from the if statement. This will keep you from having to relaunch the dock.

#!/bin/sh

os_vers=`sw_vers -productVersion`

if [[ $os_vers =~ "10.7" ]];then
    su -l $3 -c "defaults write NSGlobalDomain AppleEnableSwipeNavigateWithScrolls -bool false"
    su -l $3 -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.threeFingerHorizSwipeGesture -int 0"
    su -l $3 -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.fourFingerHorizSwipeGesture -int 0"
    su -l $3 -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.threeFingerVertSwipeGesture -int 0"
    su -l $3 -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.fourFingerVertSwipeGesture -int 0"
    su -l $3 -c "defaults write com.apple.dock showDesktopGestureEnabled -bool false"
    su -l $3 -c "defaults write com.apple.dock showMissionControlGestureEnabled -bool false"
    su -l $3 -c "defaults write com.apple.dock showLaunchpadGestureEnabled -bool false"
    su -l $3 -c "killall Dock"
fi

View solution in original post

cbrewer
Valued Contributor II

Tweaked to work with ML...

#!/bin/sh

os_vers=`sw_vers -productVersion`

if [[ $os_vers =~ "10.7" ]] || [[ $os_vers =~ "10.8" ]];then
    su -l $3 -c "defaults write NSGlobalDomain AppleEnableSwipeNavigateWithScrolls -bool false"
    su -l $3 -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.threeFingerHorizSwipeGesture -int 0"
    su -l $3 -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.fourFingerHorizSwipeGesture -int 0"
    su -l $3 -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.threeFingerVertSwipeGesture -int 0"
    su -l $3 -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.fourFingerVertSwipeGesture -int 0"
fi

if [[ $os_vers =~ "10.8" ]];then
    su -l $3 -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.twoFingerFromRightEdgeSwipeGesture -int 0"
fi

View solution in original post

10 REPLIES 10

cbrewer
Valued Contributor II

Here's a login script that does the job. I've only tested in 10.7 so far...

If you don't care about the Launchpad and Show Desktop gestures then take out the last 4 lines from the if statement. This will keep you from having to relaunch the dock.

#!/bin/sh

os_vers=`sw_vers -productVersion`

if [[ $os_vers =~ "10.7" ]];then
    su -l $3 -c "defaults write NSGlobalDomain AppleEnableSwipeNavigateWithScrolls -bool false"
    su -l $3 -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.threeFingerHorizSwipeGesture -int 0"
    su -l $3 -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.fourFingerHorizSwipeGesture -int 0"
    su -l $3 -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.threeFingerVertSwipeGesture -int 0"
    su -l $3 -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.fourFingerVertSwipeGesture -int 0"
    su -l $3 -c "defaults write com.apple.dock showDesktopGestureEnabled -bool false"
    su -l $3 -c "defaults write com.apple.dock showMissionControlGestureEnabled -bool false"
    su -l $3 -c "defaults write com.apple.dock showLaunchpadGestureEnabled -bool false"
    su -l $3 -c "killall Dock"
fi

cbrewer
Valued Contributor II

Tweaked to work with ML...

#!/bin/sh

os_vers=`sw_vers -productVersion`

if [[ $os_vers =~ "10.7" ]] || [[ $os_vers =~ "10.8" ]];then
    su -l $3 -c "defaults write NSGlobalDomain AppleEnableSwipeNavigateWithScrolls -bool false"
    su -l $3 -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.threeFingerHorizSwipeGesture -int 0"
    su -l $3 -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.fourFingerHorizSwipeGesture -int 0"
    su -l $3 -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.threeFingerVertSwipeGesture -int 0"
    su -l $3 -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.fourFingerVertSwipeGesture -int 0"
fi

if [[ $os_vers =~ "10.8" ]];then
    su -l $3 -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.twoFingerFromRightEdgeSwipeGesture -int 0"
fi

Sandy
Valued Contributor II

Well, shut the front door, Chad Brewer!
I can't wait to test this, and thank you Very much for the time you put in!
:)
Sandy

Sandy
Valued Contributor II

Works great! Thanks again!!
Sandy

GabeShack
Valued Contributor III

I'm also looking to turn off the look up feature as well as all of the scroll and zoom features. Is there any more documentation about these gestures listed on a man page somewhere?

Gabe Shackney
Princeton Public Schools

Gabe Shackney
Princeton Public Schools

jjones
Contributor II

Wanted to update this thread for anyone else here. This is the script that's been modified from the above to disable more of the gestures. This script has been tested with 10.10.4 and 10.10.5.

#!/bin/bash

#Set arguements for script
loggedInUser=""

#Writes current user that is logged-in into terminal
loggedInUser=`/bin/ls -l /dev/console | /usr/bin/awk '{ print $3 }'`

sleep 2

#Sets defaults for Trackpad Three Finger swipe Gestures
su -l $loggedInUser -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.threeFingerHorizSwipeGesture -int 0"
su -l $loggedInUser -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.threeFingerVertSwipeGesture -int 0"
su -l $loggedInUser -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.threeFingerGesture -int 0"

#Sets defaults for Trackpad Four Finger swipe Gestures
su -l $loggedInUser -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.fourFingerVertSwipeGesture -int 0"
su -l $loggedInUser -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.fourFingerHorizSwipeGesture -int 0"
su -l $loggedInUser -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.fourFingerDrag -boolean false"
su -l $loggedInUser -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.fourFingerPinchSwipeGesture -int 0"

#Sets defaults for Trackpad Three tap gesture (Dictonary use that is not allowed during testing)
su -l $loggedInUser -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.threeFingerTapGesture -int 0"

#Sets defaults for Trackpad Five Finger Pinch Gesture
su -l $loggedInUser -c "defaults -currentHost write NSGlobalDomain com.apple.trackpad.fiveFingerPinchSwipeGesture -int 0"

sleep 2

#Forces changes by killing Dock instead of having user logout (seems to not work)
#su -l $loggedInUser -c "killall Dock"

Eastman
New Contributor

Has anyone updated a script to work with 10.11?

I'm very new to this and haven't even created a script yet on my own. Any help is greatly appreciated

jjones
Contributor II

Here is an updated version of my script:

#!/bin/bash

#Set arguements for script
loggedInUser=""

#Writes current user that is logged-in into terminal
loggedInUser=`/bin/ls -l /dev/console | /usr/bin/awk '{ print $3 }'`

#Need this to ensure user is logged into system, had some errors state user was not logged in randomly
sleep 2

#Sets defaults for Trackpad Two Finger Swipe Gestures (Overlay from right side can cause test false postive cheat)
su -l "$loggedInUser" -c "defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadTwoFingerFromRightEdgeSwipeGesture -int 0"

#Sets defaults for Trackpad Three Finger swipe Gestures
su -l "$loggedInUser" -c "defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadThreeFingerHorizSwipeGesture -int 0"
su -l "$loggedInUser" -c "defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadThreeFingerHorizGesture -boolean false"
su -l "$loggedInUser" -c "defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadThreeFingerVertSwipeGesture -int 0"
su -l "$loggedInUser" -c "defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadThreeFingerVertGesture -boolean false"
su -l "$loggedInUser" -c "defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadThreeFingerGesture -int 0"
su -l "$loggedInUser" -c "defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadThreeFingerDrag -boolean false"

#Sets defaults for Trackpad Three tap gesture (Dictonary use that is not allowed during testing)
su -l "$loggedInUser" -c "defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadThreeFingerTapGesture -int 0"

#Sets defaults for Trackpad Four Finger swipe Gestures
su -l "$loggedInUser" -c "defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadFourFingerVertSwipeGesture -int 0"
su -l "$loggedInUser" -c "defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadFourFingerVertGesture -boolean false"
su -l "$loggedInUser" -c "defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadFourFingerHorizSwipeGesture -int 0"
su -l "$loggedInUser" -c "defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadFourFingerHorizGesture -boolean false"
su -l "$loggedInUser" -c "defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadFourFingerDrag -boolean false"
su -l "$loggedInUser" -c "defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadFourFingerPinchSwipeGesture -int 0"

#Sets defaults for Trackpad Five Finger Pinch Gesture
su -l "$loggedInUser" -c "defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadFiveFingerPinchGesture -int 0"

#Sets defaults to symbolichotkeys to disable control+arrow keys to swipe in full screen
defaults write /Users/"$loggedInUser"/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 79 '<dict><key>enabled</key><false/></dict>'
defaults write /Users/"$loggedInUser"/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 80 '<dict><key>enabled</key><false/></dict>'
defaults write /Users/"$loggedInUser"/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 81 '<dict><key>enabled</key><false/></dict>'
defaults write /Users/"$loggedInUser"/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 82 '<dict><key>enabled</key><false/></dict>'

#Sets defaults to symbolichotkeys to disable mission control, show desktop, application windows and dashboard
defaults write /Users/"$loggedInUser"/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 32 '<dict><key>enabled</key><false/></dict>'
defaults write /Users/"$loggedInUser"/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 33 '<dict><key>enabled</key><false/></dict>'
defaults write /Users/"$loggedInUser"/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 34 '<dict><key>enabled</key><false/></dict>'
defaults write /Users/"$loggedInUser"/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 35 '<dict><key>enabled</key><false/></dict>'
defaults write /Users/"$loggedInUser"/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 36 '<dict><key>enabled</key><false/></dict>'
defaults write /Users/"$loggedInUser"/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 37 '<dict><key>enabled</key><false/></dict>'
defaults write /Users/"$loggedInUser"/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 62 '<dict><key>enabled</key><false/></dict>'
defaults write /Users/"$loggedInUser"/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 63 '<dict><key>enabled</key><false/></dict>'

#System must restart in order for all settings to take affect, take comment out below to have script restart system
#reboot

ChrisTech
Contributor

Anyone tried this with 10.12? It's not working for me.

Chris