autokbisw(automatic keyboard input source switcher,自动键盘输入法切换器)是最早按键盘切换 Mac 布局的工具之一,后来的 Keychange 等应用都称其为灵感来源。它是一个以后台服务形式运行的命令行程序,而 Keyameleon 是一款菜单栏应用。两者都会在你用另一个键盘打字时切换输入法,区别在于你如何告诉它们哪个布局属于哪个键盘。
一览
| Keyameleon | autokbisw | |
|---|---|---|
| 切换依据 | 你正在打字的键盘 | 你正在打字的键盘 |
| 键盘如何获得布局 | 由你在引导设置或设置窗口中指定 | 记住你上次在该键盘上使用的布局 |
| 界面 | 菜单栏应用,带引导设置和设置窗口 | 后台服务,通过命令行管理 |
| 安装 | 经过签名和公证的 DMG,或 brew install --cask mastro993/tap/keyameleon | brew install ohueter/tap/autokbisw,从源代码编译,需要完整的 Xcode 应用 |
| 价格和许可证 | 免费,MIT | 免费,Apache 2.0 |
| 刚换用的键盘上的第一个键 | 使用之前的输入法 | 使用之前的输入法 |
| macOS | 26 或更高版本 | 未注明最低版本 |
指定布局与学习布局
autokbisw 没有任何设置。在某个键盘上打字,从输入法菜单或用 🌐 键选择它的布局,autokbisw 就会记住。下次你在这个键盘上打字时,它会恢复这个布局。所谓设置,就是把每个键盘用上一分钟。
反过来说,每一次手动更改都会让它学到点什么。只为一个词切换到另一种布局,这个布局就会成为该键盘的布局,直到你切换回来。
Keyameleon 则明确地只问一次。引导设置会列出你的键盘,由你为每个键盘选择一个输入法。手动更改只持续到你下一次按键,之后键盘自己的布局就会回来。如果某个已指定的布局从 macOS 中删除,Keyameleon 会保留这项指定并显示警告,而不是选一个替代品。
管理键盘
autokbisw 通过产品名称和硬件 ID 识别键盘,也可以选择按键盘所插的 USB 端口来识别。设备只有在 autokbisw 运行期间被用来打过字后才会出现。如果不想让某个设备触发切换,例如把自己报告为键盘的鼠标,你需要用 autokbisw list 列出设备,再用 autokbisw disable 关闭它。
Keyameleon 会在设置窗口中列出它找到的每个键盘,你可以在那里给键盘重命名,或者忽略不是键盘的设备。它的菜单栏菜单会显示每个已指定的键盘、当前使用的是哪一个,以及任何需要处理的问题,例如缺少“输入监控”权限。
维护
autokbisw 稳定而小巧,它的代码仓库最后一次更新是在 2025 年 2 月。由于 Homebrew 会在你的 Mac 上编译它,安装和升级都需要完整的 Xcode 应用,仅有命令行工具(Command Line Tools)是不够的。
Keyameleon 以经过签名和公证的应用形式发布,并能自行更新:它每天最多检查一次,只有在你批准后才会安装更新。
该用哪一个?
- 你常驻终端、已经装了 Xcode,或者用的是低于 26 的 macOS:autokbisw。
- 你希望每个键盘的布局固定不变,不受手动切换影响,还要有设置窗口和可见的状态:Keyameleon。
用的是 macOS 14 或 15,又想要应用而不是后台服务?参见 Keyameleon 与 Keychange 对比。