Para alternar o layout do teclado com a tecla caps-lock, é necessário remapear caps-lock para F18 com o comando (no Terminal.app):
hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x70000006D}]}'
Em seguida, vá para Preferências do sistema / Teclado / Atalhos / Fontes de entrada, use a tecla 'caps lock' para alternar a fonte de entrada.
Nenhum software adicional é necessário no mac os Sierra.
Para manter isso funcionando após o logout, faça o seguinte: crie um arquivo ~/bin/caps2f18.sh
com o seguinte conteúdo:
hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x70000006D}]}' > /dev/null 2>&1
Torne executável:
chmod +x ~/bin/caps2f18.sh
Crie um arquivo ~/Library/LaunchAgents/com.user.loginscript.plist
com o seguinte conteúdo:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.user.loginscript</string>
<key>ProgramArguments</key>
<array>
<string>zsh</string>
<string>-c</string>
<string>~/bin/caps2f18.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ThrottleInterval</key>
<integer>86400</integer>
</dict>
</plist>
Executar
launchctl load ~/Library/LaunchAgents/com.user.loginscript.plist
sair do logon ou executar launchctl start com.user.loginscript