Включение блокировки перетаскивания трекпада и перетаскивания тремя пальцами одновременно?

OSX имеет два метода перетаскивания с помощью трекпада: «перетаскивание» (двойное касание, затем перетаскивание, пока вы не коснетесь, чтобы отпустить) и «перетаскивание тремя пальцами», когда вы касаетесь тремя пальцами и перетаскиваете, пока не отпустите. Проблема в том, что это заставляет вас выбирать одно или другое.

тяга

Есть ли способ вручную включить обе опции одновременно?

Причина, по которой это полезно, заключается в том, что перетаскивание тремя пальцами отлично подходит для коротких быстрых перетаскиваний, но для более длинных перетаскиваний вам часто не хватает места на трекпаде. Блокировка перетаскивания хороша для длинных перетаскиваний, но довольно медленная, когда у вас есть куча перетаскиваний, потому что вам нужно каждый раз дважды нажимать и снимать блокировку перетаскивания. Было бы очень здорово иметь и то, и другое сразу.

Перетаскивание тремя пальцами, по-видимому, имеет примерно 1-секундную блокировку, такую ​​​​как блокировка перетаскивания, поэтому мы можем выполнять расширенные перетаскивания, не ограничиваясь размером трекпада. Согласитесь, иногда тап-тап-перетаскивание удобнее, и нет веских причин не разрешать и то, и другое. Конечно, щелчок-перетаскивание по-прежнему поддерживается, хотя теперь я ненавижу щелкать. И, что любопытно, щелчок-перетаскивание — единственный из трех механизмов, который работает для перемещения выделенного (выделенного) текста. Согласен с Жорой, тут немного заморочились с настройками.

Ответы (6)

В OS X El Capitan 10.11.1 следующие команды терминала, похоже, решают эту проблему для меня на Magic Trackpad (на встроенном трекпаде я могу одновременно управлять только одним механизмом перетаскивания):

# 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

источник: https://github.com/boochtek/mac_config/blob/master/trackpad.sh

Обновление: выкопал еще немного и нашел запись по умолчанию для мыши «поведение касания» , для которой требуется предустановка «2», чтобы получить «прикосновение для перетаскивания» на встроенном трекпаде.

defaults -currentHost write NSGlobalDomain com.apple.mouse.tapBehavior -int 2
defaults write NSGlobalDomain com.apple.mouse.tapBehavior -int 2
у меня работает, требуется перезагрузка.
Стиллз работает в 2022 году в Монтерее.

Я перешел непосредственно к файлу настроек для трекпада, чтобы посмотреть, можно ли установить как флаг перетаскивания тремя пальцами, так и флаг перетаскивания (с установкой или без установки флага DragLock), но хотя я мог установить оба, и новые значения оставались стабильными, я не был одновременное перетаскивание тремя пальцами и перетаскивание двойным нажатием. (На самом деле существует два файла настроек: один для трекпада Apple Bluetooth Multitouch Trackpad, а другой — для трекпада Apple Multitouch Trackpad, и я на всякий случай протестировал их с обоими.) Поэтому я считаю, что ответ — нет, это невозможно.

Если я не соображаю, я почти уверен, что можно было установить оба типа перетаскивания в более ранней версии OS X, и мне казалось, что что-то изменилось, но я не мог точно сказать, что, пока не увидел этот вопрос. Если Apple не обнаружила конфликта между различными настройками «Три пальца», или у них есть план для какой-то новой функции, которая потребовала бы такого изменения, я не знаю, почему эта возможность была бы удалена. Файлы настроек могут разрешать различные комбинации перетаскивания с использованием отдельных флагов. То, как он существует сейчас, позволяет устанавливать флаги несовместимо с тем, как OS X выполняет перетаскивание, но это только одна часть этого файла настроек, которая плохо спроектирована; весь набор префов выглядит так, как будто они были собраны вместе без учета общей методологии и повышают вероятность возникновения проблем по мере внесения изменений с течением времени. И иметь оба пути, как сказал ОП, иногда удобно.

О, это очень плохо. Спасибо за проверку. Надеюсь, они вернут его в будущем, или, возможно, стороннее приложение, такое как bettertouchtool, сможет его реализовать.

Это заставило меня работать.

  1. Установите «TrackpadThreeFingerDrag» = YES, а также «Перетаскивание» = YES в «com.apple.AppleMultitouchTrackpad.plist» внутри «~/Library/Preferences».
  2. Восстановление разрешений с помощью Дисковой утилиты
  3. Перезагрузить
Хм, у меня не сработало. У меня Yosemite и MacBook середины 2010 года. Ты?
Убедитесь, что вы редактируете «com.apple.AppleMultitouchTrackpad.plist», а не эквивалент Bluetooth, они очень похожи. У меня есть MBA 13 2015 года и MBP 13 2011 года. Работает на обоих.
Попробовал еще раз, убедившись, что файл дважды проверен, и все еще не работает. Может что-то изменилось до 2011 года?
@true1ness Возможно, ты прав. Если я получу в свои руки машину до 2011 года, я обязательно проверю ее для вас. Просто чтобы попробовать, вы можете взять мой рабочий список (MBA2014) здесь - ссылка
У меня это тоже работало на моем MBP середины 2010 года! Я думаю, что это также работает на моем MBP 2014 года. Однако я только что переустановил OS X на своем MBP 2010 года и снес все мои настройки и т. Д. Я думаю, что что-то в недавнем обновлении ОС могло нарушить эту функцию.
Не работает на Эль-Капитане. Вероятно, потому что они изменили способ обработки прав доступа к диску? В любом случае, проверьте мой ответ - наконец-то это сработало

Мне нужно было отключить его на клиентском Mac, и в интерфейсе GUI были некоторые ошибки, поэтому я написал это в терминале:

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

Это сработало.

не работает для меня

Похоже, параметры для 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;
}

Я думаю, что настройка DragLockи TrackpadThreeFingerDragоба 1, вероятно, выполнят свою работу, хотя мне не хочется перезагружать компьютер прямо сейчас, чтобы проверить это. знак равно

Откройте Terminal.app и выполните следующие командные строки одну за другой:

defaults write com.apple.AppleMultitouchTrackpad DragLock -bool true

defaults write com.apple.AppleMultitouchTrackpad TrackpadThreeFingerDrag -bool true