“自动切换键盘布局”的含义,取决于由什么来决定布局:可以是你正在输入的窗口,可以是前台的 App 或网站,也可以是你手下的那把实体键盘。macOS 只覆盖了第一种,其余的要靠第三方应用。先想清楚对你来说由什么决定布局,再来挑选。
所有方法一览
| 由什么决定布局 | 系统自带 | 适合 | |
|---|---|---|---|
| 快捷键或输入法菜单 | 你自己,每次手动 | 是 | 偶尔切换 |
| 按文稿 | 前台窗口 | 是 | 每个文稿一种语言 |
| Input Source Pro | App,或浏览器中的网站 | 否,免费应用 | 一个键盘,不同 App 用不同语言 |
| Keyameleon | 你正在打字的键盘 | 否,免费应用 | 键帽印刷布局各不相同的多个键盘 |
| Karabiner-Elements | 你编写的规则 | 否,免费应用 | 已经在自定义键盘的人 |
系统自带:快捷键和输入法菜单
先在系统设置 › 键盘 › 文字输入 › 编辑…中添加布局。之后,Control Space 选择上一个输入法,Control Option Space 选择下一个输入法;还可以在“键盘”设置中把 🌐 键设为更改输入法。这些都不是自动的,但它们是其他所有方法的基础。
系统自带:按文稿切换布局
在同一个输入法设置中,打开自动切换到文稿的输入法。之后每个窗口都会记住你上次在其中使用的输入法,回到这个窗口时 macOS 会恢复它。这是 macOS 唯一的自动切换功能,适合每个文稿只用一种语言写作的人。
按 App 或网站:Input Source Pro
Input Source Pro 是一款免费开源的应用,可以为每个 App,以及大多数浏览器中的每个网站,设置默认输入法。终端里用英文,微信里用中文,某个网站上用日文。它还会在屏幕上显示当前输入法的指示器。它与 Keyameleon 的对比。
KeyboardHolder 的思路相同,在中文用户中很受欢迎:支持按 App 设置规则、在浏览器中按域名设置规则,并支持聚焦搜索、Alfred 和 Raycast。它与 Keyameleon 的对比。
按键盘:Keyameleon
如果你的几个键盘上印着不同的布局,比如美版 MacBook 和一把德语外接键盘,那么文稿和 App 都不是合适的依据,键盘才是。Keyameleon 是一款免费开源的菜单栏应用,支持 macOS 26 或更高版本:为每个键盘指定一次输入法,之后只要开始在某个键盘上打字,它就会切换,在任何 App 中都是如此。外接键盘指南详细介绍了整个设置过程。
其他按键盘切换的方案还有 Keychange(支持 macOS 14 及更高版本),以及命令行工具 autokbisw。
规则:Karabiner-Elements
Karabiner-Elements 用 JSON 编写的规则来重新映射按键,而规则可以选择输入法,比如当按键来自某个键盘时。它是最灵活的方案,也是设置起来最费工夫的方案。参见 Keyameleon 与 Karabiner-Elements 对比。
只选一种规则
这些方法改的都是同一项系统设置,所以同时运行两个,它们就会轮流覆盖对方。先决定由什么来选择布局(窗口、App 还是键盘),然后只用遵循这条规则的那一个工具。