前言
如果使用mac的键盘上时中/英
按键并且使用自带的中文输入法,其实对于操作逻辑而言是完美的,奈何苹果自带的输入法在候选词上实不尽人意,尤其实在专业名词的智能猜想上面,所以找了第三方输入法作为代替,并且想要完全复现利用中/英
按键切换中文和英文的输入
方案1:只留第三方输入法
事实上这是不可行的,因为ABC
原生输入法我删不掉,此方案表示将中/英
按键的切换中英的功能交由第三方输入法完成,即开启
一开始没有什么问题,直到使用JetBrain全家桶干活的时候,里面利用第三方输入法输入英文会有问题,这个bug非常影响干活效率,遂放弃此方案
无图,不想测试了
方案2:使用 地球仪 更改输入法
首先设置将地球仪
的功能设置为更改输入法
再将大写锁定键变成地球仪
的功能
这个方案其实也很不错,我使用这个方案大概半年左右,但是这里有一个最大的问题,切换有延迟,例如我按下中英键时,会弹出:
经常要等到这个框开始执行消失动画的时候才会切换输入法,虽然你可以直接开始输入打断这个延迟,但是这会导致非常严重的bug
下面这个测试:在英文状态连续输入k
,马上按地球键
,之后立刻继续输入l
会发现原来应该被中文输入法接
受到的l
被英文输入法
接收,在word输入里面经常出现这个bug,无法忍受
方案3:使用设置里面直接切换输入法的快捷键
注意不是上面那一个
利用这个快捷键切换输入法是没有延迟的,不会出现上面测试的现象,基本完美,除了按键过于难按,当我试图把中/英
键设置为新的快捷键时,发现是不行的
优化
基于方案3优化,使其有中/英
按键快速切换输入法,并拥有方案二的提示
使用Karabiner-Elements映射按键
Karabiner-Elements is a powerful utility for keyboard customization on macOS Sierra (10.12) or later.
Karabiner-Elements是一个强大的macOS键盘定制化套件
下载Karabiner-Elements
https://github.com/pqrs-org/Karabiner-Elements
安装完成以后,打开Karabiner-Elements对应的高级定制化
的配置界面
如图:
路径:~/.config/karabiner/karabiner.json
在rule模块中添加规则:
{
"manipulators": [
{
"description": "switch",
"from": {
"key_code": "caps_lock",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "spacebar",
"modifiers": [
"left_control",
"left_option"
]
}
],
"type": "basic"
}
]
}
添加完如下:
返回Karabiner-Elements,应该可以看到配置规则
测试一下按下中/英
是否正确切换输入法
利用keyboardholder显示并记忆不同软件的输入法
软件链接:
https://keyboardholder.leavesc.com/zh-cn/
这个软件很强大,使用也很简单,下载安装后根据自己的需要设置即可
效果如下:在光标处显示输入法的状态