13

OSX has two methods of dragging with the track pad, “drag lock” (double tap then drag until you tap to release) and “three finger drag” where you touch three fingers and drag until you release. The problem is, it forces you to select one or the other.

drag

Is there any way I can manually turn both options on at the same time?

The reason this is useful is because 3 Finger Drag is great for short quick drags, but for longer drags you often run out of room on the trackpad. Drag Lock is good for long drags but is quite slow when you have a bunch of drags because you have to double tap into and tap out of the drag lock each time. It’d be really great to have both at once.

1
  • Three-finger drag seems to have about a 1-second lock like drag lock so we can do extended drags without being limited by trackpad size. Agree sometimes tap-tap-drag is more convenient and there's no good reason for not allowing both. Click-drag remains supported of course, though I've come to hate clicking now. And curiously click-drag is the only one of the three mechanisms which works for moving text which you've selected (highlighted). Agree with Zhora, they got a bit muddled figuring out the settings here. Commented Sep 4, 2015 at 22:11

6 Answers 6

7

On OS X El Capitan 10.11.1, the following terminal commands seem to solve it for me on the Magic Trackpad (on the built in trackpad I can operate only one dragging mechanic at a time) :

# Enable "tap-and-a-half" to drag.
defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad Dragging -int 1
defaults write com.apple.AppleMultitouchTrackpad Dragging -int 1


# Enable 3-finger drag. (Moving with 3 fingers in any window "chrome" moves the window.)
defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadThreeFingerDrag -bool true
defaults write com.apple.AppleMultitouchTrackpad TrackpadThreeFingerDrag -bool true

source: https://github.com/boochtek/mac_config/blob/master/trackpad.sh

Update: dug up a bit more and found the "tap behavior" mouse defaults entry, which requires the "2" preset in order to get "tap to drag" on the built in trackpad

defaults -currentHost write NSGlobalDomain com.apple.mouse.tapBehavior -int 2
defaults write NSGlobalDomain com.apple.mouse.tapBehavior -int 2
2
  • 1
    works for me, required restart.
    – dinosaur
    Commented Dec 15, 2016 at 21:15
  • Stills works in 2022 on Monterey Commented Jun 2, 2022 at 13:57
1

I went directly to the preference file for the trackpad to see if one could set both the Three Finger Dragging flag and the Dragging flag (with or without setting the DragLock flag) but though I could set both and the new values remained stable I was not able to get both Three Finger Dragging and Double Tap Dragging to function at the same time. (Actually, there are two preference files: one for the Apple Bluetooth Multitouch Trackpad and one for the Apple Multitouch Trackpad and I tested this with both just in case.) So I believe the answer is No, it can't be done.

Unless my mind is going I'm pretty sure that it was possible to set both types of dragging in an earlier version of OS X and it felt like something had changed but I couldn't say exactly what until I saw this question. Unless there was a conflict that Apple found between the various Three Finger settings or they have a plan for some new function that would require such a change I don't know why this ability would be removed. The preference files are capable of allowing the various combinations of dragging by using separate flags. The way it now exists allows the flags to be set inconsistently with how OS X performs dragging but it's only one part of that preference file that is badly designed; the whole set of prefs looks like they were thrown together without considering an overall methodology and makes the chance of introducing problems as changes are made over time more likely to occur. And having both ways, as the OP said, is convenient at times.

1
  • Aw, that's too bad. Thanks for checking. Hopefully they'll bring it back in the future, or maybe a third party app like bettertouchtool could implement it.
    – truth1ness
    Commented Apr 13, 2015 at 23:57
0

This got it working for me.

  1. Set "TrackpadThreeFingerDrag"=YES and also "Dragging"=YES in "com.apple.AppleMultitouchTrackpad.plist" inside "~/Library/Preferences".
  2. Repair Permissions with Disk Utility
  3. Reboot
6
  • Hmm, didn't work for me. I'm on Yosemite and a mid2010 macbook. You?
    – truth1ness
    Commented May 11, 2015 at 5:20
  • Make sure you edit "com.apple.AppleMultitouchTrackpad.plist" and not the bluetooth equivalent, they look so much alike. I have a 2015 MBA 13 and a 2011 MBP 13. Works on both.
    – totum
    Commented May 18, 2015 at 7:26
  • Tried it again making sure to double check the file and still not working. Maybe something is different pre 2011?
    – truth1ness
    Commented May 19, 2015 at 15:29
  • @truth1ness Maybe you are right. If I get can get my hands on a pre 2011 machine, I will surely check it for you. Just to try, you can grab my working plist (MBA2014) here - link
    – totum
    Commented May 26, 2015 at 21:55
  • I had this working on my Mid 2010 MBP too! I think it's also working on my 2014 MBP. However I just reinstalled OS X on my 2010 MBP and blew away all of my settings etc. I think something in a recent OS update may have broken the feature.
    – Cliff
    Commented May 30, 2015 at 18:33
0

I needed to disable it on a client's Mac and there were some errors doing it in the GUI interface, so I wrote this in Terminal:

defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadThreeFingerDrag -bool false
defaults write com.apple.AppleMultitouchTrackpad TrackpadThreeFingerDrag -bool false

It worked.

1
0

It looks like the options may have changed for High Sierra (10.13.x):

% defaults read com.apple.AppleMultitouchTrackpad 
{
    ActuateDetents = 1;
    Clicking = 1;
    DragLock = 0;
    Dragging = 0;
    FirstClickThreshold = 1;
    ForceSuppressed = 0;
    SecondClickThreshold = 1;
    TrackpadCornerSecondaryClick = 0;
    TrackpadFiveFingerPinchGesture = 0;
    TrackpadFourFingerHorizSwipeGesture = 0;
    TrackpadFourFingerPinchGesture = 0;
    TrackpadFourFingerVertSwipeGesture = 0;
    TrackpadHandResting = 1;
    TrackpadHorizScroll = 1;
    TrackpadMomentumScroll = 1;
    TrackpadPinch = 1;
    TrackpadRightClick = 1;
    TrackpadRotate = 1;
    TrackpadScroll = 1;
    TrackpadThreeFingerDrag = 1;
    TrackpadThreeFingerHorizSwipeGesture = 0;
    TrackpadThreeFingerTapGesture = 0;
    TrackpadThreeFingerVertSwipeGesture = 0;
    TrackpadTwoFingerDoubleTapGesture = 0;
    TrackpadTwoFingerFromRightEdgeSwipeGesture = 0;
    USBMouseStopsTrackpad = 0;
    UserPreferences = 1;
    version = 12;
}

I think setting DragLock and TrackpadThreeFingerDrag both to 1 will probably get the job done, though I don't feel like restarting my computer right now to test it. =)

-2

Open Terminal.app and execute the following command-lines one by one:

defaults write com.apple.AppleMultitouchTrackpad DragLock -bool true

defaults write com.apple.AppleMultitouchTrackpad TrackpadThreeFingerDrag -bool true

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .