Где хранятся сочетания клавиш (для резервного копирования и синхронизации)?

18

Где я могу получить доступ к сочетаниям клавиш OS X, скажем, для синхронизации Dropbox?

Чонси Гарретт
источник

Ответы:

18

Ярлыки, которые можно установить в Системных настройках> Клавиатура> Ярлыки> Ярлыки приложений, хранятся в ~/Library/Preferences/.GlobalPreferences.plistсписках свойств приложений (например, ~/Library/Preferences/com.apple.iTunes.plistили ~/Library/Containers/com.apple.chess/Data/Library/Preferences/com.apple.chess.plist).

Ярлыки для сервисов хранятся в ~ / Library / Preferences / pbs.plist .

LRI
источник
Интересно, единственный ли я человек, на которого это не сработало? Эти файлы также не являются теми XML-файлами, которые я ожидаю - они, кажется, содержат какой-то двоичный файл или что-то в этом роде
Бен Криси,
то же самое, у меня не работает (macOS Sierra 10.12.2)
милушов
3
Это также показалось мне двоичным. Но затем используйте команду, plutil -convert xml1 .GlobalPreferences.plistчтобы преобразовать ее в XML и plutil -convert binary1 .GlobalPreferences.plistпреобразовать обратно. Источник: discussions.apple.com/thread/1768480?tstart=0
Jay
1
Также TextWrangler может открывать двоичные файлы plist.
Джей
4

Как описано в принятом ответе, вы можете определить ярлыки приложения, преобразовав plist в xml, а затем проанализировав xml. Вы также можете (протестировано на macOS Sierra 10.12.6) получить значения напрямую с помощью defaults readкоманды.

Чтобы записать команды клавиш пользователя, которые применяются во всех приложениях, выполните defaults read NSGlobalDomain NSUserKeyEquivalents:

$ defaults read NSGlobalDomain NSUserKeyEquivalents
{
    "Enter Full Screen" = "@^f";
    "Exit Full Screen" = "@^f";
    "Merge All Windows" = "@$m";
}

Чтобы записать сочетания клавиш пользователя для определенного приложения, используйте defaults read <app-plist-name> NSUserKeyEquivalents. Например, чтобы получить пользовательские сочетания клавиш для запуска Safari (в этом примере пользователь не установил никаких пользовательских сочетаний клавиш для Safari)

$ defaults read com.apple.safari NSUserKeyEquivalents
The domain/default pair of (com.apple.safari, NSUserKeyEquivalents) does not exist

Отображения клавиш, которые я обнаружил в этом строковом синтаксисе:

  • command знак равно $
  • control знак равно ^
  • option знак равно ~
  • shift знак равно @
Эллен Чайник
источник
3
Не могли бы вы добавить некоторые детали, чтобы ответ стоял самостоятельно?
холме
Для глобальных ярлыков, вы также можете использоватьdefaults read -g NSUserKeyEquivalents
Генри
Есть ли defaults writeкоманда для аналогичной установки сочетаний клавиш?
Пкамб