Cambiar a fuente de entrada específica

Cambiar a fuente de entrada específica

En Mac OS X, hay atajos de teclado para cambiarentrefuentes de entrada activadas.

texto alternativo

¿Es posible cambiar?a¿un idioma específico? Entonces, si tiene 3 métodos de entrada, podría tener 3 atajos: Ctrl-1para inglés, Ctrl-2para español y Ctrl-3para ruso.

Respuesta1

Les presento la "solución" más fea posible:

  • Habilitar la compatibilidad con dispositivos de asistencia enPreferencias del Sistema » Acceso Universal,
  • y mostrar el menú Fuentes de entrada en la barra de menú enPreferencias del Sistema » Idioma y Texto.
  • Asegúrese de que el acceso directo Ctrl-F8esté definido paraMover el foco a los menús de estadoenPreferencias del Sistema » Teclado » Atajos de teclado » Teclado y entrada de texto.
  • Asegúrese de que el menú Fuentes de entrada sea el elemento del menú más a la izquierda que se pueda mover arrastrando mientras se mantiene presionado Cmd.

Utilice AppleScript Editory escriba tres scripts, cada uno de ellos con el siguiente 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

Guarde una vez para cada idioma y cambie el nombre del idioma. Si desea presionar teclas diferentes o asignar algo diferente a Ctrl-F8, sustitúyalo con los códigos de teclaaquí. También puede mover el menú Fuentes de entrada desde su posición más a la izquierda insertando algunosflecha correctapulsaciones de teclas.

Invoque los scripts como desee, por ejemplo, use el iniciador de aplicaciones (Quicksilver, Launchbar, etc.), o envuélvalos en Servicios usando Automator y asígneles atajos de teclado enPreferencias del Sistema » Teclado » Atajos de teclado » Servicios.

Respuesta2

Se me ocurrió una solución un poco mejor en AppleScript, dado que sabes el nombre de la distribución del teclado al que deseas cambiar. Crea una función 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

y luego llamarlo por

 changeKeyboardLayout("English")
 changeKeyboardLayout("German")

Tenga en cuenta que los nombres de las distribuciones de teclado están localizados, es decir, en un sistema alemán, el ejemplo anterior debería llamarse "Englisch" y "Deutsch".

Respuesta3

Una opción sería descargarcambiarEntradayasignar atajos a comandos de shellcomo changeInput U.S..

También puedes 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>

Ver eldocumentación privada.xml.

VK_CHANGE_INPUTSOURCE_ENGLISH está definido envkchangeinputsourcedef.xml. Puede ver los ID de las fuentes de entrada desde EventViewer.app. Sin, | ModifierFlag::NONEpor ejemplo, la primera configuración también se aplicaría a la opción-comando-E. Ver la fuente de lavalores de código claveyconfiguraciones predefinidas.

Respuesta4

Sé que es una vieja pregunta. Pero incluso a finales de 2016, todavía no encontré una solución sencilla y agradable. Por lo tanto, hiceAtajos de IMES, trabaja en Sierra. Puede asignar un acceso directo personalizado para cualquier método de entrada específico. Por favor, inténtalo. Y si encuentran algún error, estaré encantado de ayudarles.

También,mosquetón(conocido como KeyRemap4MacBook) es un excelente personalizador de teclado para Mac. Pero es un poco complicado y actualmente no funciona en Sierra. Si estás usando Yosemite o El Capitán, sería otra buena opción.

información relacionada