Gdzie mogę uzyskać dostęp do skrótów klawiaturowych OS X, na przykład synchronizacji Dropbox?
Gdzie mogę uzyskać dostęp do skrótów klawiaturowych OS X, na przykład synchronizacji Dropbox?
Odpowiedzi:
Skróty, które można ustawić w Preferencjach systemowych> Klawiatura> Skróty> Skróty aplikacji są przechowywane w ~/Library/Preferences/.GlobalPreferences.plistlistach właściwości aplikacji (takich jak ~/Library/Preferences/com.apple.iTunes.plistlub ~/Library/Containers/com.apple.chess/Data/Library/Preferences/com.apple.chess.plist).
Skróty do usług są przechowywane w ~ / Library / Preferences / pbs.plist .
plutil -convert xml1 .GlobalPreferences.plistaby przekonwertować go na XML i plutil -convert binary1 .GlobalPreferences.plistprzekonwertować z powrotem. Źródło: Discussions.apple.com/thread/1768480?tstart=0
Jak opisano w zaakceptowanej odpowiedzi, możesz określić skróty aplikacji, konwertując plist na xml, a następnie analizując xml. Możesz także (przetestowane na macOS Sierra 10.12.6) uzyskać wartości bezpośrednio za pomocą defaults readpolecenia.
Aby wypisać polecenia klawiszy użytkownika, które obowiązują we wszystkich aplikacjach defaults read NSGlobalDomain NSUserKeyEquivalents:
$ defaults read NSGlobalDomain NSUserKeyEquivalents
{
"Enter Full Screen" = "@^f";
"Exit Full Screen" = "@^f";
"Merge All Windows" = "@$m";
}
Aby napisać skróty klawiaturowe użytkownika dla konkretnej aplikacji, użyj defaults read <app-plist-name> NSUserKeyEquivalents. Na przykład, aby uzyskać skróty klawiaturowe dla przeglądarki Safari (w tym przykładzie użytkownik nie ustawił żadnych niestandardowych skrótów klawiaturowych dla Safari)
$ defaults read com.apple.safari NSUserKeyEquivalents
The domain/default pair of (com.apple.safari, NSUserKeyEquivalents) does not exist
Kluczowe mapowania, które odkryłem w tej składni łańcucha:
command = $control = ^option = ~shift = @defaults read -g NSUserKeyEquivalents
defaults writepolecenie podobnie ustawionych skrótów klawiaturowych?