macOS中切换到非英文输入法的bug解决办法
1 minute read
0x1 About
macOS中在切换到非英文输入法时存在bug,导致的结果是:在状态栏显示已经切换到非英文输入法,但实际上敲键盘的时候输出的还是英文,因为非英文输入法只是”切换”了,但没有”激活”.一般需要通过人工切换到其他APP再切换回原来的APP才能”激活”非英文输入法.
0x2 Solution
解决办法的关键在于切换到非英文输入法的时候要让系统知道我激活了其他APP,例如通过open命令来实现切换输入法
0x3 Detail
笔者系统中只有英文输入法和百度五笔输入法,对应的keyboard layout的值分别是:com.apple.keylayout.US和com.baidu.inputmethod.BaiduIM.wubi,可以在keyboard maestro中新建一个宏专门用于切换到百度五笔输入法,如下:
取消系统的切换输入法快捷键(如果快捷键不冲突的话这一步骤可以省略),如下:
在keyboard maestro的Preferences中新一个变量PreviousAppleScriptResult,如下:
然后新建一个宏专门用于切换系统的输入法,如下:
这个专门用于切换系统的输入法的快捷键可以自由设定