Mudar para fonte de entrada específica

Mudar para fonte de entrada específica

No Mac OS X, há atalhos de teclado para alternarentrefontes de entrada ativadas.

texto alternativo

É possível mudarparaum idioma específico? Portanto, se você tiver 3 métodos de entrada, poderá ter 3 atalhos: Ctrl-1para inglês, Ctrl-2para espanhol e Ctrl-3para 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-F8esteja 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 Editore 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::NONEpor 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.

informação relacionada