Программно изменить направление прокрутки на Mac, назначить команде комбинации клавиш

Мне интересно, есть ли способ программно переключить направление прокрутки на mac / osx (yosemite). Если это так, я хочу назначить какой-то сценарий или команду комбинации клавиш, чтобы быстро переключать ее. Я работаю на Mac, но постоянно вхожу в компьютеры с Windows, и мой мозг все время пытается прокрутить неправильный путь. Я ничего не программировал на Mac, все еще очень новичок в этом, но много сделал в Linux и полагаю, что это несколько похоже на сценарии bash.

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


person wondergoat77    schedule 10.06.2015    source источник
comment
Это встроенная функция, позволяющая настраивать направление прокрутки отдельно для мыши и трекпада. Он находится на соответствующей панели Системных настроек.   -  person Ken Thomases    schedule 11.06.2015
comment
а как это сделать программно? Я хочу иметь возможность управлять обоими, должен был упомянуть в моем сообщении, обновлю   -  person wondergoat77    schedule 11.06.2015


Ответы (3)


Я нашел ответ здесь с помощью команды defaults:

Пишите с помощью: defaults write -g com.apple.swipescrolldirection -bool FALSE (или TRUE)

Считайте текущее значение с помощью: defaults read -g com.apple.swipescrolldirection.

person AndrewO    schedule 05.08.2019
comment
затем выйдите из системы и снова войдите в свою учетную запись, тогда я мог бы также использовать пользовательский интерфейс, чтобы он вступил в силу немедленно. - person jturcotte; 15.11.2019
comment
для меня терминал правильно читает, но запись не меняет поведения или флажка в настройках (хотя и меняет прочитанное значение). Я тоже пробовал kill root cfprefsd в мониторе активности. - person clarity; 19.03.2021

Я знаю, что использую некромантию здесь, но я понял, как это сделать, по крайней мере частично:

  • Создайте новый сервис с Automator
  • Сервис не получает входных данных и работает только в Finder (это важно с точки зрения разрешений, см. Ниже)
  • в разделе утилит добавьте действие Запустить AppleScript
  • используйте этот код
on run {input, parameters}
    
    tell application "System Preferences"
        reveal anchor "trackpadTab" of pane id "com.apple.preference.trackpad"
    end tell
    
    tell application "System Events" to tell process "System Preferences"
        click checkbox 1 of tab group 1 of window 0
    end tell
    
    quit application "System Preferences"
    
    return input
end run
  • Сохранять
  • Перейдите в Системные настройки - ›Безопасность и конфиденциальность -› Конфиденциальность - ›Доступность
  • Добавить Finder.app (/System/Library/CoreServices/Finder.app)
  • Перейдите в Системные настройки - ›Клавиатура -› Ярлыки - ›Услуги
  • Добавьте к своему сервису сочетание клавиш
  • ???
  • Выгода
person poddus    schedule 22.06.2017
comment
Был в восторге от этого решения, но не был уверен, что оно работает в последней версии. Хотя мне нравится, куда вы направляетесь. Я попытался реализовать это и обновлю, если найду что-нибудь, что заставит его работать. - person David Argyle Thacker; 04.08.2020
comment
Мне понравилось это решение, но сначала оно не сработало, и его пришлось немного изменить. Возникло несколько проблем: 1. Независимо от того, что запускает этот сценарий, требуется разрешение доступа, чтобы установить флажок. 2. Индекс окна был неправильным, возможно, это было обновление пользовательского интерфейса с некоторым обновлением ОС, но я исправил это, и теперь оно работает. Хотя я просто использую официальный редактор Apple Script от Apple, чтобы запустить это. - person Lukas Liesis; 17.10.2020

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

На самом деле я сделал дополнительный шаг и создал руководство по этому вопросу.

https://medium.com/@liesislukas/how-to-set-scroll-direction-independently-for-mouse-and-trackpad-on-macbook-66bb6812678

Вы можете получить заархивированное приложение на моем github: https://github.com/liesislukas/apple-scroll-direction-auto-toggle или просто воспользуйтесь ссылкой из статьи, которую я разместил на носителе, со всеми скриншотами и документацией.

Чтобы уточнить, да, я использовал код из другого сообщения в этой теме, но код там был сломан. Я исправил код в сообщении выше и просто упаковал его в приложение, добавил красивый значок, чтобы теперь его можно было добавить в док для переключения направления мыши. Спасибо @poddus за подсказку по использованию Apple Script :)

введите описание изображения здесь

person Lukas Liesis    schedule 17.10.2020