J'ai rencontré le même problème avec le chinois et le japonais. (L'icône de la barre de menu changeait mais la source d'entrée n'était pas réellement modifiée jusqu'à ce que je passe à une autre source d'entrée et inversement). Il s'agit d'un bogue connu selon un message sur la liste de diffusion de Karabiner :
C'est l'un des bogues les plus ennuyeux d'OS X.
La modification des sources d'entrée CJK directement à partir du programme n'est pas gérée de manière appropriée.
Vous devez donc suivre les procédures suivantes.
Étape 1 :
Activez "Sélectionner la source suivante dans le menu de saisie" (commande-option-espace) dans Préférences système > Clavier > Raccourcis.
Étape 2 :
Changez la source d'entrée en envoyant la commande-option-espace.
<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>
changement d'entrée est affecté par le même bug.
Une autre solution consiste à passer à une autre source d'entrée et à revenir en arrière :
<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>