autokbisw(automatic keyboard input source switcher,自动键盘输入法切换器)是最早按键盘切换 Mac 布局的工具之一,后来的 Keychange 等应用都称其为灵感来源。它是一个以后台服务形式运行的命令行程序,而 Keyameleon 是一款菜单栏应用。两者都会在你用另一个键盘打字时切换输入法,区别在于你如何告诉它们哪个布局属于哪个键盘。

一览

Keyameleonautokbisw
切换依据你正在打字的键盘你正在打字的键盘
键盘如何获得布局由你在引导设置或设置窗口中指定记住你上次在该键盘上使用的布局
界面菜单栏应用,带引导设置和设置窗口后台服务,通过命令行管理
安装经过签名和公证的 DMG,或 brew install --cask mastro993/tap/keyameleonbrew install ohueter/tap/autokbisw,从源代码编译,需要完整的 Xcode 应用
价格和许可证免费,MIT免费,Apache 2.0
刚换用的键盘上的第一个键使用之前的输入法使用之前的输入法
macOS26 或更高版本未注明最低版本

指定布局与学习布局

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 对比。