Estou tentando automatizar a instalação inicial do meu macbook, que inclui a instalação de software e a alteração da configuração do OS X de acordo com minhas necessidades.
Eu tentei atualizar as teclas modificadoras com os padrões, o código é o seguinte:
# The apple keyboard id (1452-567-0) should probably be modified in case you use other different model
COMPUTER_UUID=`ioreg -rd1 -c IOPlatformExpertDevice | grep -E '(UUID)' | awk '{print $3}' | tr -d \"`
defaults write ~/Library/Preferences/ByHost/.GlobalPreferences.$COMPUTER_UUID com.apple.keyboard.modifiermapping.1452-567-0 '( { HIDKeyboardModifierMappingDst = 2; HIDKeyboardModifierMappingSrc = 0; } )'
O problema parece que, mesmo que o padrão seja alterado, as Preferências do Sistema não capturam a atualização, nem mesmo reiniciam o computador.
Existe alguma maneira de executar esta operação no Snow Leopard?
Obrigado.
macos
command-line
automator
bash
O robô
fonte
fonte
defaults -currentHost write -g key 'value'
vez disso. Ainda não funciona.Respostas:
É importante que o
defaults
comando use o "ID do teclado" correto na tecla, parece ser:com.apple.keyboard.modifiermapping.$VendorID-$ProductID-0
Por exemplo, o teclado interno do meu MacBook Air usa:,
com.apple.keyboard.modifiermapping.1452-579-0
enquanto o teclado externo do meu iMac usacom.apple.keyboard.modifiermapping.1118-219-0
Como obter o "ID do teclado" correto? Na linha de comando, você pode usar:
para obter uma lista dos seus dispositivos USB com os parâmetros relevantes:
Meu palpite é que o terceiro parâmetro (a parte "-0") é um "contador", caso você tenha mais de um teclado do mesmo tipo.
Portanto, para desativar a tecla CapsLock no meu teclado externo, agora posso usar:
E, por uma questão de integridade, aqui está uma lista de possíveis códigos-chave a serem usados ( das dicas do Mac OS X ):
Atualização: graças a Lauri Ranta, aqui está um comando que funciona com teclados Bluetooth e USB:
o que fornece uma saída ligeiramente diferente:
fonte
'{ HIDKeyboardModifierMappingDst = -1; HIDKeyboardModifierMappingSrc = 0; }'
que você pode encontrar em alguns sites, pelo menos para mim o "-1" e "0" nos valores do dict são então interpretadas como cordas, e não inteiros. Isso leva a um estado estranho, em que Preferências mostra as teclas modificadoras alteradas, mas o teclado não se comporta dessa maneira.ioreg -n IOHIDKeyboard -r
incluiria também teclados Bluetooth.Eu, também, ter sido incapaz de obter
defaults write
(ou atualizar arquivos .plist) para afetar meus HIDKeyboardModifierMappingSrc e HIDKeyboardModifierMappingDst configurações em Snow Leopard .Estou tentando "preencher previamente" minha conta de convidado para suportar meu teclado PS2 para USB (que aparentemente possui Option e Command trocados). As sugestões de outras páginas para "sair e entrar novamente" não ajudam; "sair da conta de convidado" exclui todas as minhas alterações.
(Eu tenho atualizado com sucesso meu "com.apple.dock" e arquivos plist "com.apple.menuextra.clock" para personalizar a doca e o relógio de 24 horas, respectivamente, o que torna ainda mais frustrante que os modificadores de teclado ganhou' t funciona ...)
Eu tentei usar "dtruss -asf" para comparar o que "System Preferences.app" está fazendo (o que aparentemente funciona) com o que "padrões" está fazendo. O mais próximo que consigo imaginar, vejo mensagens ao longo das linhas de:
Se alguém descobriu uma solução que funciona com o Snow Leopard, ficaria feliz em ouvi-la ...
fonte
O problema que estou tendo é que toda vez que conecto meu teclado, ele obtém um ID diferente na ioreg. Tudo o que preciso fazer é trocar o comando e as teclas da apple.
Decidi resolver isso no meu caso da "maneira errada" usando AppleScript e a GUI de Preferências do Sistema. É um truque feio, mas funciona! Sua milhagem pode variar.
fonte
diff
para verificar se está criando esse arquivo exatamente como a interface do usuário faria?fs_usage
oulsof
descubra o que mais está sendo feito quando você usa a interface do usuário.fonte
fs_usage
não mostra nada AFAICT interessante e verifiquei (com meu comando modificado no comentário à pergunta) que o resultado aparece como seria de esperar.