ฉันพบปัญหากับจีนและญี่ปุ่น (ไอคอนบนแถบเมนูเปลี่ยนไป แต่แหล่งอินพุตไม่ได้เปลี่ยนจริงจนกว่าฉันจะเปลี่ยนเป็นแหล่งอินพุตอื่นและย้อนกลับ) เป็นข้อผิดพลาดที่รู้จักกันดีตามการโพสต์ที่รายการส่งเมลของ Karabiner :
เป็นหนึ่งในข้อบกพร่องที่น่ารำคาญที่สุดของ OS X
การเปลี่ยนแหล่งอินพุต CJK โดยตรงจากโปรแกรมนั้นไม่ได้รับการจัดการอย่างเหมาะสม
ดังนั้นคุณต้องมีขั้นตอนดังต่อไปนี้
ขั้นที่ 1:
เปิดใช้งาน "เลือกแหล่งถัดไปในเมนูป้อนข้อมูล" (command-option-space) ในการตั้งค่าระบบ> คีย์บอร์ด> ทางลัด
ขั้นที่ 2:
เปลี่ยนแหล่งอินพุตโดยส่ง command-option-space
<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>
การเปลี่ยนแปลงรับผลกระทบจากข้อผิดพลาดเดียวกัน
วิธีแก้ปัญหาอื่นคือเพียงเปลี่ยนเป็นแหล่งอินพุตอื่นและย้อนกลับ:
<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>
⌘
+W
เพื่อปิดหน้าต่าง) ซึ่งไม่ใช่สิ่งที่ฉันต้องการอย่างแน่นอน ... สำหรับโซลูชันที่ 1 ฉันจะลองอีกครั้งในภายหลัง