Où sont stockés les raccourcis clavier (à des fins de sauvegarde et de synchronisation)?

18

Où puis-je accéder aux raccourcis clavier OS X, par exemple pour la synchronisation Dropbox?

Chauncey Garrett
la source

Réponses:

18

Les raccourcis qui peuvent être définis dans Préférences Système> Clavier> Raccourcis> Raccourcis d'application sont stockés dans ~/Library/Preferences/.GlobalPreferences.plistet les listes de propriétés des applications (comme ~/Library/Preferences/com.apple.iTunes.plistou ~/Library/Containers/com.apple.chess/Data/Library/Preferences/com.apple.chess.plist).

Les raccourcis pour les services sont stockés dans ~ / Library / Preferences / pbs.plist .

Lri
la source
Je me demande si je suis la seule personne pour laquelle cela n'a pas fonctionné. Ces fichiers ne semblent pas non plus être les fichiers XML que j'attendrais - ils semblent avoir du binaire ou quelque chose ...
Ben Creasy
même, ne fonctionne pas pour moi (macOS Sierra 10.12.2)
milushov
3
Cela m'est apparu aussi binaire. Mais utilisez ensuite la commande plutil -convert xml1 .GlobalPreferences.plistpour le convertir en XML et plutil -convert binary1 .GlobalPreferences.plistpour le reconvertir. Source: discussions.apple.com/thread/1768480?tstart=0
Jay
1
En outre, TextWrangler peut ouvrir des fichiers plist binaires.
Jay
4

Comme décrit dans la réponse acceptée, vous pouvez déterminer les raccourcis d'une application en convertissant le plist en xml puis en analysant le xml. Vous pouvez également (testé sur macOS Sierra 10.12.6) obtenir les valeurs directement avec la defaults readcommande.

Pour écrire les raccourcis clavier utilisateur qui s'appliquent à toutes les applications, exécutez defaults read NSGlobalDomain NSUserKeyEquivalents:

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

Pour écrire les raccourcis clavier de l'utilisateur pour une application particulière, utilisez defaults read <app-plist-name> NSUserKeyEquivalents. Par exemple, pour obtenir les raccourcis clavier de l'utilisateur pour Safari (dans cet exemple, l'utilisateur n'a défini aucun raccourci clavier personnalisé pour Safari)

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

Mappages de clés que j'ai découverts dans cette syntaxe de chaîne:

  • command = $
  • control = ^
  • option = ~
  • shift = @
Ellen Teapot
la source
3
Pouvez-vous ajouter quelques détails pour que la réponse soit autonome?
nohillside
Pour les raccourcis mondiaux, vous pouvez également utiliserdefaults read -g NSUserKeyEquivalents
henry
existe-t-il une defaults writecommande pour définir des raccourcis clavier similaires?
pkamb