1 votos

¿Cómo cambiar la fuente de entrada a un idioma diferente con un acceso directo (sólo una combinación de teclas)?

Quiero utilizar cuatro idiomas en mi sistema OS X (inglés, español, chino y japonés), y sé que puedo cambiar el idioma con + Space . Sin embargo, tengo un odio patológico a cambiar con él, porque me obliga a seleccionar entre tantas, tantas opciones. También sé que puedo cambiarlo desde el menubar de la derecha de la barra, pero es mucho más desagradable que el + Space solución.

Así que más bien quiero cambiarlo por un atajo más fácil, como el siguiente:

  • a la izquierda cambia al inglés
  • a la derecha cambia al español
  • a la izquierda + izquierda + C pasa al chino
  • a la derecha + derecha + C cambia al japonés.

Intenté usar Karabiner (el descendiente de KeyRemap4MacBook ), pero no funciona en el primer intento en chino, en el que cuando cambio a chino, sigue siendo inglés (el icono de fuente de entrada en la barra de menús cambia, pero el teclado no funciona). Pero por alguna razón si cambio de inglés a chino a inglés a chino (dos intentos), entonces el teclado chino finalmente funciona.

Así que no me gusta la idea de usar Karabiner . Entonces, ¿cuál es la mejor manera de cambiar la fuente de entrada?

3voto

Fuzzy Purple Monkey Puntos 702

Me encontré con el mismo problema con el chino y el japonés. (El icono de la barra de menú cambiaba pero la fuente de entrada no cambiaba realmente hasta que cambiaba a otra fuente de entrada y volvía a hacerlo). Es un error conocido según un mensaje en la lista de correo de Karabiner :

Es uno de los errores más molestos de OS X.

El cambio de fuentes de entrada CJK directamente desde el programa no se maneja adecuadamente.

Por lo tanto, necesita los siguientes procedimientos.

Paso 1:
Active la opción "Seleccionar la siguiente fuente en el menú Entrada" (comando-opción-espacio) en Preferencias del Sistema > Teclado > Atajos.

Paso 2:
Cambiar la fuente de entrada enviando comando-opción-espacio.

<autogen>
  __KeyToKey__
  KeyCode::K, ModifierFlag::OPTION_L,
  KeyCode::VK_CHANGE_INPUTMODE_US,
  KeyCode::VK_WAIT_100MS,
  KeyCode::SPACE, ModifierFlag::COMMAND_R | ModifierFlag::OPTION_L,
  <!-- adjust wait for your machine -->
  KeyCode::VK_WAIT_10MS,
  KeyCode::VK_WAIT_10MS,
  KeyCode::VK_WAIT_10MS,
  KeyCode::SPACE, ModifierFlag::COMMAND_R | ModifierFlag::OPTION_L,
  <!-- adjust wait for your machine -->
  KeyCode::VK_WAIT_10MS,
  KeyCode::VK_WAIT_10MS,
  KeyCode::VK_WAIT_10MS,
  KeyCode::SPACE, ModifierFlag::COMMAND_R | ModifierFlag::OPTION_L,

  Option::NOREPEAT,
</autogen>

cambiar la entrada está afectado por el mismo error.

Otra solución es cambiar a otra fuente de entrada y viceversa:

<root>
  <vkchangeinputsourcedef>
    <name>KeyCode::VK_CHANGE_INPUTSOURCE_HIRAGANA</name>
    <inputsourceid_equal>com.apple.inputmethod.Kotoeri.Japanese</inputsourceid_equal>
  </vkchangeinputsourcedef>
  <vkchangeinputsourcedef>
    <name>KeyCode::VK_CHANGE_INPUTSOURCE_SPANISH</name>
    <inputsourceid_equal>com.apple.keylayout.Spanish</inputsourceid_equal>
  </vkchangeinputsourcedef>
  <vkchangeinputsourcedef>
    <name>KeyCode::VK_CHANGE_INPUTSOURCE_US</name>
    <inputsourceid_equal>com.apple.keylayout.US</inputsourceid_equal>
  </vkchangeinputsourcedef>
  <vkchangeinputsourcedef>
    <name>KeyCode::VK_CHANGE_INPUTSOURCE_CHINESE</name>
    <inputsourceid_equal>com.apple.inputmethod.TCIM.Pinyin</inputsourceid_equal>
  </vkchangeinputsourcedef>
  <item>
    <name>inputsources</name>
    <identifier>inputsources</identifier>
    <autogen>__KeyOverlaidModifier__ KeyCode::COMMAND_L, ModifierFlag::COMMAND_L | ModifierFlag::NONE, KeyCode::VK_CHANGE_INPUTSOURCE_US, KeyCode::COMMAND_L</autogen>
    <autogen>__KeyOverlaidModifier__ KeyCode::COMMAND_R, ModifierFlag::COMMAND_R | ModifierFlag::NONE, KeyCode::VK_CHANGE_INPUTSOURCE_SPANISH, KeyCode::COMMAND_R</autogen>
    <autogen>__KeyToKey__ KeyCode::C, ModifierFlag::OPTION_L | ModifierFlag::COMMAND_L | ModifierFlag::NONE, KeyCode::VK_CHANGE_INPUTSOURCE_CHINESE, KeyCode::VK_CHANGE_INPUTSOURCE_US, KeyCode::VK_CHANGE_INPUTSOURCE_CHINESE</autogen>
    <autogen>__KeyToKey__ KeyCode::C, ModifierFlag::OPTION_R | ModifierFlag::COMMAND_R | ModifierFlag::NONE, KeyCode::VK_CHANGE_INPUTSOURCE_HIRAGANA, KeyCode::VK_CHANGE_INPUTSOURCE_US, KeyCode::VK_CHANGE_INPUTSOURCE_HIRAGANA</autogen>
  </item>
</root>

0 votos

Su segunda solución desactiva la tecla de comando para todos los demás accesos directos (como + W para cerrar la ventana), que definitivamente no es lo que quiero... En cuanto a la 1ª solución, la probaré más tarde.

0 votos

En cuanto a tu primera solución, no estoy seguro de por qué quieres

0voto

Tetsujin Puntos 23061

es una tecla "muerta", una tecla modificadora. No hace nada por sí misma, aunque como lleva la cuenta de las veces que se pulsa, posiblemente por eso funciona al segundo intento.

Más bien... ¿por qué querrías usar para cambiar de idioma de entrada, eliminando así su uso para cualquier otra función.

¿Por qué no utilizar las teclas F, tal vez, en su lugar?

Una mejor solución podría ser una de estas...

https://superuser.com/questions/224161/switch-to-specific-input-source

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X