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>