No Mac OS X, há atalhos de teclado para alternarentrefontes de entrada ativadas.
É possível mudarparaum idioma específico? Portanto, se você tiver 3 métodos de entrada, poderá ter 3 atalhos: Ctrl-1
para inglês, Ctrl-2
para espanhol e Ctrl-3
para russo.
Responder1
Apresento a vocês a "solução" mais feia possível:
- Habilite o suporte para dispositivos assistivos emPreferências do Sistema »Acesso Universal,
- e exibindo o menu Fontes de entrada na barra de menu emPreferências do Sistema » Idioma e Texto.
- Certifique-se de que o atalho
Ctrl-F8
esteja definido paraMover o foco para menus de statusemPreferências do sistema » Teclado » Atalhos de teclado » Teclado e entrada de texto. - Certifique-se de que o menu Fontes de entrada seja o item de menu mais à esquerda que pode ser movido arrastando enquanto mantém pressionado
Cmd
.
Use AppleScript Editor
e escreva três scripts, cada um deles com o seguinte código:
tell application "System Events"
key code 100 using control down # press Ctrl-F8
delay 0.5 # wait a bit, UI might be slow
key code 125 # press down to open the menu
keystroke "german" # name of your desired language, in my case tested using German
key code 36 # press enter
end tell
Salve uma vez para cada idioma, trocando o nome do idioma. Se você quiser pressionar teclas diferentes ou atribuir algo diferente de Ctrl-F8
, substitua pelos códigos das teclasaqui. Você também pode mover o menu Fontes de entrada da posição mais à esquerda inserindo algunsseta direitapressionamentos de tecla.
Invoque scripts como desejar, por exemplo, use o inicializador de aplicativos (Quicksilver, Launchbar etc.) ou envolva-os em Serviços usando o Automator e atribua-lhes atalhos de teclado emPreferências do Sistema » Teclado » Atalhos de teclado » Serviços.
Responder2
Eu criei uma solução um pouco melhor em AppleScript, já que você sabe o nome do layout de teclado para o qual deseja mudar. Crie uma função como esta:
on changeKeyboardLayout(layoutName)
tell application "System Events" to tell process "SystemUIServer"
tell (1st menu bar item of menu bar 1 whose description is "text input") to {click, click (menu 1's menu item layoutName)}
end tell
end changeKeyboardLayout
e então ligue para
changeKeyboardLayout("English")
changeKeyboardLayout("German")
Esteja ciente de que os nomes dos layouts de teclado estão localizados, ou seja, em um sistema alemão o exemplo acima precisaria ser chamado de "Englisch" e "Deutsch".
Responder3
Uma opção seria baixaralterarInputeatribuir atalhos para comandos shellcomo changeInput U.S.
.
Você também pode usar KeyRemap4MacBook:
<?xml version="1.0"?>
<root>
<vkchangeinputsourcedef>
<name>KeyCode::VK_CHANGE_INPUTSOURCE_HIRAGANA</name>
<inputsourceid_equal>com.apple.inputmethod.Kotoeri.Japanese</inputsourceid_equal>
</vkchangeinputsourcedef>
<item>
<name>change_inputsources</name>
<identifier>change_inputsources</identifier>
<autogen>__KeyToKey__ KeyCode::E, VK_OPTION | ModifierFlag::NONE, KeyCode::VK_CHANGE_INPUTSOURCE_ENGLISH</autogen>
<autogen>__KeyToKey__ KeyCode::H, VK_OPTION | ModifierFlag::NONE, KeyCode::VK_CHANGE_INPUTSOURCE_HIRAGANA</autogen>
</item>
</root>
Veja odocumentação privada.xml.
VK_CHANGE_INPUTSOURCE_ENGLISH é definido emvkchangeinputsourcedef.xml. Você pode ver os IDs das fontes de entrada em EventViewer.app. Sem, | ModifierFlag::NONE
por exemplo, a primeira configuração também se aplicaria à opção-comando-E. Veja a fonte dovalores de código-chaveeconfigurações predefinidas.
Responder4
Eu sei que é uma pergunta antiga. Mas mesmo no final de 2016, ainda não encontrei uma solução simples e agradável. Por isso, fizAtalhos IMES, funciona na Sierra. Você pode atribuir um atalho personalizado para qualquer método de entrada específico. Por favor, experimente. E se vocês encontrarem algum bug, ficarei feliz em ajudar.
Também,Mosquetão(conhecido como KeyRemap4MacBook) é um ótimo personalizador de teclado para Mac. Mas é um pouco complicado e atualmente está quebrado no Sierra. Se você estiver usando Yosemite ou El Capitan, seria outra boa opção.