前言

如果使用mac的键盘上时中/英按键并且使用自带的中文输入法,其实对于操作逻辑而言是完美的,奈何苹果自带的输入法在候选词上实不尽人意,尤其实在专业名词的智能猜想上面,所以找了第三方输入法作为代替,并且想要完全复现利用中/英按键切换中文和英文的输入

方案1:只留第三方输入法

事实上这是不可行的,因为ABC原生输入法我删不掉,此方案表示将中/英按键的切换中英的功能交由第三方输入法完成,即开启

IOS中弹出键盘后出现fixed 苹果键盘自动出现英文_IOS中弹出键盘后出现fixed

一开始没有什么问题,直到使用JetBrain全家桶干活的时候,里面利用第三方输入法输入英文会有问题,这个bug非常影响干活效率,遂放弃此方案

无图,不想测试了

方案2:使用 地球仪 更改输入法

首先设置将地球仪的功能设置为更改输入法

IOS中弹出键盘后出现fixed 苹果键盘自动出现英文_IOS中弹出键盘后出现fixed_02

再将大写锁定键变成地球仪的功能

IOS中弹出键盘后出现fixed 苹果键盘自动出现英文_输入法_03

这个方案其实也很不错,我使用这个方案大概半年左右,但是这里有一个最大的问题,切换有延迟,例如我按下中英键时,会弹出:

IOS中弹出键盘后出现fixed 苹果键盘自动出现英文_中文输入法_04

经常要等到这个框开始执行消失动画的时候才会切换输入法,虽然你可以直接开始输入打断这个延迟,但是这会导致非常严重的bug

下面这个测试:在英文状态连续输入k,马上按地球键,之后立刻继续输入l

IOS中弹出键盘后出现fixed 苹果键盘自动出现英文_IOS中弹出键盘后出现fixed_05

会发现原来应该被中文输入法接受到的l英文输入法接收,在word输入里面经常出现这个bug,无法忍受

方案3:使用设置里面直接切换输入法的快捷键

IOS中弹出键盘后出现fixed 苹果键盘自动出现英文_输入法_06

注意不是上面那一个

利用这个快捷键切换输入法是没有延迟的,不会出现上面测试的现象,基本完美,除了按键过于难按,当我试图把中/英键设置为新的快捷键时,发现是不行的

优化

基于方案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对应的高级定制化的配置界面

如图:

IOS中弹出键盘后出现fixed 苹果键盘自动出现英文_快捷键_07

路径:~/.config/karabiner/karabiner.json

在rule模块中添加规则:

IOS中弹出键盘后出现fixed 苹果键盘自动出现英文_快捷键_08

{
    "manipulators": [
        {
            "description": "switch",
            "from": {
                "key_code": "caps_lock",
                "modifiers": {
                    "optional": [
                        "any"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "spacebar",
                    "modifiers": [
                        "left_control",
                        "left_option"
                    ]
                }
            ],
            "type": "basic"
        }
    ]
}

添加完如下:

IOS中弹出键盘后出现fixed 苹果键盘自动出现英文_IOS中弹出键盘后出现fixed_09

返回Karabiner-Elements,应该可以看到配置规则

IOS中弹出键盘后出现fixed 苹果键盘自动出现英文_输入法_10

测试一下按下中/英是否正确切换输入法

利用keyboardholder显示并记忆不同软件的输入法

软件链接:

https://keyboardholder.leavesc.com/zh-cn/

这个软件很强大,使用也很简单,下载安装后根据自己的需要设置即可

效果如下:在光标处显示输入法的状态

IOS中弹出键盘后出现fixed 苹果键盘自动出现英文_中文输入法_11