Onde estão armazenados os atalhos do teclado (para fins de backup e sincronização)?


18

Onde posso acessar os atalhos de teclado do OS X, digamos, para sincronização do Dropbox?

Respostas:


18

Os atalhos que podem ser definidos em Preferências do sistema> Teclado> Atalhos> Atalhos de aplicativos são armazenados ~/Library/Preferences/.GlobalPreferences.pliste nas listas de propriedades dos aplicativos (como ~/Library/Preferences/com.apple.iTunes.plistou ~/Library/Containers/com.apple.chess/Data/Library/Preferences/com.apple.chess.plist).

Os atalhos para serviços são armazenados em ~ / Library / Preferences / pbs.plist .


Gostaria de saber se sou a única pessoa para quem isso não funcionou. Esses arquivos também não parecem ser os arquivos XML que eu esperaria - eles parecem ter algum binário ou algo assim ...
Ben Creasy

mesmo, não trabalho para mim (MacOS Sierra 10.12.2)
milushov

3
Isso apareceu como binário para mim também. Mas use o comando plutil -convert xml1 .GlobalPreferences.plistpara convertê-lo em XML e plutil -convert binary1 .GlobalPreferences.plistconvertê-lo novamente. Fonte: discussions.apple.com/thread/1768480?tstart=0
Jay

1
Além disso, o TextWrangler pode abrir arquivos binários do plist.
Jay

4

Conforme descrito na resposta aceita, você pode determinar os atalhos de um aplicativo convertendo o plist em xml e analisando o xml. Você também pode (testado no macOS Sierra 10.12.6) obter os valores diretamente com o defaults readcomando

Para escrever os comandos da chave do usuário que se aplicam a todos os aplicativos, execute defaults read NSGlobalDomain NSUserKeyEquivalents:

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

Para escrever os atalhos de teclado do usuário para um aplicativo específico, use defaults read <app-plist-name> NSUserKeyEquivalents. Por exemplo, para executar os atalhos de teclado do usuário para o Safari (neste exemplo, o usuário não definiu nenhum atalho de teclado personalizado para o Safari)

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

Mapeamentos de chaves que descobri nesta sintaxe de cadeia:

  • command = $
  • control = ^
  • option = ~
  • shift = @

3
Você pode adicionar alguns detalhes para que a resposta fique por si só?
Nohillside

Para atalhos globais, você também pode usardefaults read -g NSUserKeyEquivalents
henry

existe um defaults writecomando para definir atalhos de teclado da mesma forma?
pkamb
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.