与 Karabiner-Elements 共存
Capslock 如何检测 Karabiner-Elements 和其他改键工具、哪些情况算冲突,以及如何从 Karabiner 配置迁移过来。
Capslock 需要独占 Caps Lock 和 F18 键。它从不修改、停用或卸载 Karabiner-Elements 或其他任何工具。当别的工具已经在用这些键时,Capslock 会拒绝启动,并告诉你需要改什么。
哪些情况算冲突
- **系统层面对 Caps Lock 的改键。**如果其他工具已经重映射了 Caps Lock,诊断页显示「Caps Lock 被其他工具占用」。
- **F18 的其他用途。**如果有任何改键以 F18 为来源或目标,诊断页显示「F18 已被占用」。
- Karabiner-Elements 规则。 Karabiner-Elements 运行时,Capslock 会读取当前选中的配置,查找从 Caps Lock 或 F18 出发、或输出 F18 的规则。它只报告找到的数量,从不读取规则名称或内容。
Karabiner-Elements 可以继续负责其他按键,只有作用于 Caps Lock 和 F18 的规则才会冲突。
解决 Karabiner 冲突
- 打开 Karabiner-Elements › Complex Modifications。
- 关闭从 Caps Lock 出发的规则(例如「CapsLock to Hyper」),或切换到不含该规则的配置。
- 回到 Capslock,在主页或诊断页点击「重新启用」。
诊断页提供「打开 Karabiner-Elements」按钮来完成第 1 步。每次你切回 Capslock,它都会重新检查;之后才出现的冲突会让 Capslock 停止并归还 Caps Lock,而不是让两个工具互相争抢。
从 Karabiner 配置迁移
原生应用内置同一套 Capslock Classic 布局,你不需要迁移任何东西就能保留熟悉的绑定。有几处行为不同:
- 轻按 Caps Lock 发送 Escape;
⇪ Space发送 ⌃Space 用于切换输入法。 - 你可以选择 Hyper 模式。默认的「经典」模式仍会为监听 Hyper 的应用按住右侧 ⌃⌥⇧⌘。
- 剪贴板槽位加密保存在 Capslock 内部,Karabiner 方案留下的
~/.clip6等文件不会被读取。 - 应用按 Bundle ID 打开,而不是在 Shell 里执行
open -a。 - 你对自己的 Karabiner JSON 所做的修改不会被导入,请在键盘编辑器中重新设置。
准备好之后,按上文所述在 Karabiner-Elements 中关闭 Capslock 规则,然后启动 Capslock。如果想回到 Karabiner 方案,它的完整文档仍在 Karabiner 版中。