感谢各位贡献自己的方案!但是看下来似乎没有发现完全符合我的需求的。
关键在于如何使输入法限定于中英、及日英之间用同个快捷键 caps * 切换,其中主要难点在于:
使用同个快捷键在两种特定输入法间来回切换,需要识别当前的系统输入法状态,目前 Keyboard Maestro 没有提供相应的 Action 接口,于是去 Keyboard Maestro 论坛咨询了一下。
得到有效解决办法以后,我自己写了一组 Keyboard Maestro 插件,可以完美解决主贴的需求。
点此到 GitHub 下载
使用方法:
- 使用 Karabiner-Elements 将 F19 映射到 caps **:
From key: caps_lock,To key: f19
- 下载
多语种输入切换 Macros.kmmacros,并用 Keyboard Maestro 打开并启用
- 里面有 3 个 Macro,快捷键和输入法可以按照自己需求调整,注意,其中输入法变量需要用系统内部名称:
例如(查询方法见 Keyboard Maestro 论坛):
- 英文 ABC 输入法:
com.apple.keylayout.ABC
- 英文 ABC - Extended 输入法:
com.apple.keylayout.USExtended
- 简体拼音输入法:
com.apple.inputmethod.SCIM.ITABC
- 简体双拼输入法:
com.apple.inputmethod.SCIM.Shuangpin
- 日文输入法:
com.apple.inputmethod.Kotoeri.Japanese
*:为什么要用 caps 键,因为 macOS 默认就是用 caps 切换中英输入,习惯了
**:macOS 自带的 caps 切换功能时而会失效,所以要用 Karabiner-Elements 映射到不用的 F19 实现 100% 稳定切换。