En Mac OS X, hay atajos de teclado para cambiarentrefuentes de entrada activadas.
¿Es posible cambiar?a¿un idioma específico? Entonces, si tiene 3 métodos de entrada, podría tener 3 atajos: Ctrl-1
para inglés, Ctrl-2
para español y Ctrl-3
para 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-F8
esté 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 Editor
y 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::NONE
por 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.