Disabling Dictionary Lookup

vespar
New Contributor

I was wondering if anyone knows of a way of remotely disabling Lion/Mountain Lion's dictionary lookup gesture. I tried changing the value TrackpadThreeFingerTapGesture found within com.apple.driver.AppleBluetoothMultitouch.trackpad to 0 but it still keeps the feature enabled. I noticed when enabled, the value is set to 2 and when I manually disable it, it changes to 0. For some reason, when I manually edit this value it fails to disable it though.

7 REPLIES 7

GSquared
New Contributor II

For anyone curious about this, it was needed for student testing and so we didn't mind the dictionary being disabled at all for the duration. Here are the scripts we used...

https://github.com/GSquared/SAS-Scripts

ewettach
New Contributor III

Has anyone been able to figure out why setting TrackpadThreeFingerTapGesture to 0 doesn't work? I have tried Mavericks and Yosemite and had no luck. I would like to push it out with a configuration profile and hope that we can lock it down so users cannot change it.

jjones
Contributor II

Here is a nice script that we wrote to disable options in com.apple.AppleMultitouchTrackpad.plist:

#!/bin/bash

#Set arguements for script
loggedInUser=""

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

#Sets defaults for Trackpad Three swipe to false
sudo -u $loggedInUser defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadThreeFingerHorizGesture -boolean false
sudo -u $loggedInUser defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadThreeFingerHorizSwipeGesture -boolean false
sudo -u $loggedInUser defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadThreeFingerVertGesture -boolean false
sudo -u $loggedInUser defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadThreeFingerVertSwipeGesture -boolean false
sudo -u $loggedInUser defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadThreeFingerDrag -boolean false

#Sets defaults for Trackpad Three tap gesture (Dictonary use that is not allowed during testing)
sudo -u $loggedInUser defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadThreeFingerTapGesture -boolean false

#Sets defaults for Trackpad Four swipe to false
sudo -u $loggedInUser defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadFourFingerHorizGesture -boolean false
sudo -u $loggedInUser defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadFourFingerHorizSwipeGesture -boolean false
sudo -u $loggedInUser defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadFourFingerVertGesture -boolean false
sudo -u $loggedInUser defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadFourFingerVertSwipeGesture -boolean false
sudo -u $loggedInUser defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadFourFingerDrag -boolean false
sudo -u $loggedInUser defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadFourFingerPinchGesture -boolean false

#Sets defaults for Trackpad Five swipe to false
sudo -u $loggedInUser defaults write com.apple.AppleMultitouchTrackpad.plist TrackpadFiveFingerPinchGesture -boolean false

#Reports defaults
sudo -u $loggedInUser defaults read com.apple.AppleMultitouchTrackpad.plist | grep 0 | grep Trackpad

This checks for the current user logged in, then starts setting the defaults for the user, as these settings are only User-level, not system-level. Once it has changed the defaults, the user must restart their computer for it to take affect. The downside of this is that the user can change the settings back. To keep this from happening we disabled their access to the trackpad preferences.

Also, do not remove the sudo from the commands, even when running in root it oddly requires it since we are using -u for user.

bpavlov
Honored Contributor

Just general curiosity, is the disabling of the gestures and trackpad configs a requirement for some testing environment? If @jjones 's script works then you can convert that resulting plist into a profile using MCXtoProfile and see if it applies without issues.

jjones
Contributor II

We are getting ready for MAP testing, and unfortunately the program that comes with it did not disable the finger swiping and such listed in my script. Due to that we had to manually change the settings to keep students from getting out of the test.

One thing with trying to use configuration profiles "custom plist" option, we saw an issue with it not applying as the plist is not fully built until a user has entered the trackpad preferences and changed a setting. This can be fixed by overwriting the file with the default full plist, but at times did not work so we went with the defaults option.

JPDyson
Valued Contributor

My first guess would be that you need to restart either Finder or cfprefsd.

Edit: It's neither of these, but I'm convinced that it's something along those lines (a binary that needs to be kicked). I can't dig into which one at the moment.

musat
Contributor III

@GSquared, thanks for the scripts. Silly, but our teachers are up in arms because kids figured out that they could search for woman in the dictionary app and see a picture of a naked woman from the Wikipedia page. So they wanted Wikipedia removed from the app. Nevermind that kids could just open Safari and go to Wikipedia. So anyway, your script showed me where that file was located, so I could just remove Wikipedia from the list of choices.

Tim