用KeyboardHolder配合Karabiner实现「依应用切换输入法」和「指定按键切换输入法」

2022.02.07 Views Mac

一直以来使用Karabiner将部分不常用按键指定为其他功能,并且使用kawa配合SwitchKey来实现如下功能:

  1. 快速切换简体、繁体、日语、英文
  2. 切换至特定应用的时候切换输入法(比如Word时切换为日语,IM软件切换为中文)

但是更新到某个新版系统之后SwitchKey不起作用,并且kawa在切换中文的时候往往无法直接切至中文而需要再按下capslock按键才可以完成切换动作,实在感觉不便。但是KeyboardHolder可以正确切换。并且减少了一个软件。

Karabiner设置

日语部分做如下设置

切换至日语输入法按键 → かなキー
切换至英文输入法按键 → 英数キー

(我选择了home和end)

中文部分做如下设置

简体中文输入法按键 → 键盘F13- F19中任意1
繁体中文输入法按键 → 键盘F13-F19中任意2

(理论上可以到F20但是经测试无法在KeyboardHolder中使用,原因不明。我选择了F18和F19)

之后再KeyboardHolder中将对应输入法映射为相应中文输入法即可。

注意:

  1. 你可能需要只为外接键盘指定,而非选择For all devices。
  2. 如果你安装了MonitorControl ——一款可以让你通过键盘变更亮度和音量的软件的话,那么你的f14和f15会被MonitorControl作为替代按键来使用。如果你用的是普通的PC键盘,你的Scroll Lock按键和Pause按键会被指定为F14和F15,用来调整亮度。部分罗技键盘上的亮度按键也是类似的功能。所以要么在最新版中勾选「禁用替代按键」,要么设置时避开f14和f15。

其他

在软件内设置即可。