龙空技术网

macOS 下使用 CapsLock 键切换 ABC 与搜狗输入法

没有树H 259

前言:

今天小伙伴们对“虚拟机中怎么切换输入法键盘”可能比较注重,各位老铁们都想要学习一些“虚拟机中怎么切换输入法键盘”的相关资讯。那么小编也在网摘上汇集了一些有关“虚拟机中怎么切换输入法键盘””的相关内容,希望你们能喜欢,兄弟们快快来了解一下吧!

macOS 下使用 CapsLock 键切换 ABC 与搜狗输入法

在 macOS 下,默认的英文输入法 ABC 是不能删除的。它不能像 Windows 下那样,只要有一个搜狗输入法,然后在它内部切换中英文就够了。macOS 就不得不涉及如何在两个输入法之间做切换了。系统默认的切换快捷键是 Command + Space(空格)。但使用这个快捷键并不太好,因为很多编程用的 IDE 会用到这个快捷键,比如像 Visual Studio Code 里的智能提示(IntelliSense)。所以,我一般使用 CapsLock 来作为输入法切换键——因为它使用的频率低、离手近按键快。

macOS Mojave 下使用系统自带支持

可喜的是,在最新版的 macOS Mojave 下,已经默认支持了。

勾选后,只要按一下 CapsLock 就能在 ABC 和搜狗之间切换。而且长按就能激活大写——当然一般要输入大写,我感觉更方便地还是用左右 Shift 来输入,除非是要输入一长串大写字母(如全局变量)。

那么在 macOS High Sierra 和之前的版本里,该如何达到上述效果呢?有的同学可能有疑问,既然最新版已经实现了,为什么要讲旧版本呢?因为并不是所有人都愿意或立马升级到最新版。最新版在刚出来时,可能会有一些软件兼容性问题。比如这两天我就遇到了一个 VirtualBox 无法启动 macOS 虚拟机的问题。所以,对那些还留在旧版本的同学,我们还是有办法实现上述目标的,而且还是免费的,不用花钱、不用破解。关键就是 Karabiner Elements 这个软件。

macOS High Sierra 以下使用 Karabiner Elements 实现

Karabiner Elements 是一款免费、开源的键盘定制化工具。可以通过 Homebrew 或前往官网()下载安装包进行安装。它可以自定义规则来修改按键定义,十分方便。这里我们的目标是改写 CapsLock 键——当单独按下 CapsLock 实体键,发送一个不占用任何按键的 F17;而当按下 fn + CapsLock 时,才是切换为大写状态。规则很简单,就是一个 JSON 配置:

{ "title": "Using caps_lock to switch input source, see ", "author": "kiliwalk(tianjianchn@qq.com)", "homepage": "", "manual": "", "import_url": "karabiner://karabiner/assets/complex_modifications/import?url=", "rules": [ { "description": "Pressing caps_lock sends f17, pressing fn + caps_lock sends caps_lock", "manipulators": [ { "from": { "key_code": "caps_lock" }, "to": [ { "key_code": "f17" } ], "type": "basic" }, { "from": { "key_code": "caps_lock", "modifiers": { "mandatory": [ "fn" ] } }, "to": [ { "key_code": "caps_lock" } ], "type": "basic" } ] } ]}

首先要导入以上规则。有两种方法,一种是将以上内容保存为一个 JSON 文件(比如 caps_lock.json),然后复制到 ~/.config/karabiner/assets/complex_modifications 目录下。还有就是直接使用 Safari 或 Chrome 浏览器,打开这个网址:karabiner://karabiner/assets/complex_modifications/import?url=,它会询问你是否启动 Karabiner Elements,确定后,就可以了。

接下来我们要应用这个规则。进入 Karabiner Elements Preferences -> Complex Modifications -> Rules,点击左下角的 Add rule,找到 Using caps_lock to switch input source... 这条规则,点击 Enable All 即可。

最后,我们还要去修改下系统里的切换输入法的快捷键(默认是 Command + Space)。前往 System Preferences -> Keyboard -> Shortcuts -> Input Sources,选中 Select the previous input source(选择上一个输入法),点击右侧的按键区域,然后按下 CapsLock 实体键,此时上屏的是 F17。同时取消勾选 Select the next source in input menu(选择“输入法”菜单中的下一个输入法)。

这样,当我们按下 CapsLock 后,就能在搜狗和 ABC 之间进行切换了。如果需要大写,按下 fn + CapsLock 就可以。这里之所以不是用长按 CapsLock 进入大写,是 Karabiner Elements 的一些限制——配置复杂,且也不太稳定。

搜狗输入法配置

除了系统层面快捷键的修改,搜狗输入法还要做一些调整。

按键配置里,中英文状态切换改为“禁用快捷键”。因为我们不需要用搜狗输入法的英文输入模式了。按键配置里,把当前输入态提示改为“无提示”。避免在按 CapsLock 切换时,还在桌面右上角提示大写状态。

拒绝生活的惯性,挖掘那些被我们习以为常的工具

标签: #虚拟机中怎么切换输入法键盘 #mac怎么用搜狗