# Capslock 原生版

> Capslock 最初是一份 Karabiner-Elements 配置，如今成为原生 Mac 应用：保留同一套布局， 并增加了编辑器、App 规则、练习课程，以及随时拿回 Caps Lock 的办法。

---

LLMS 索引： [llms.txt](/zh/llms.txt)

---

很多年里，Capslock 是一份配置文件：先安装 Karabiner-Elements，再导入一组规则，Caps Lock
就变成轻按为 Escape、按住为 Hyper 的键；配合 Command、Option、Control 和 Shift，可以用到
十六个平面上的快捷键，覆盖光标、编辑、窗口、应用和鼠标。

这套方案能用，但有两个代价。为了改一个键，得先装上 Karabiner-Elements，连同它的驱动和权限；
而布局本身是一份 JSON 文件：改绑定要改文件，学布局要一直开着一张键盘图。

新的 Capslock 是一个原生 macOS 应用。它为同一套布局而生，也为去掉这两个代价而生。

## 同一套布局，周边什么也不用装 {#layout}

Capslock 内置完整的 Capslock Classic 布局：357 个绑定，从 `⇪ H J K L` 方向键到数字行上
的五个额外剪贴板。最后一个 Karabiner 版本中的每条规则都有原生对应，一条也没有丢。打开应用、
睡眠和剪贴板槽位过去依赖 Shell 命令，现在都是内置动作，因此默认布局完全不运行脚本。

应用只需要一项权限：辅助功能。它不安装内核扩展、驱动、守护进程或特权 Helper。这如何做到，
见 [Capslock 如何工作](/zh/blog/post/how-capslock-works/)。

## 用编辑器代替 JSON 文件 {#editor}

「键盘」页画出你的键盘，每个动作都标在对应的键上。点按一个键，就能改绑、停用、恢复
Classic 默认，或查看它的 YAML。映射可以带 App 规则，于是 `⇪ N` 在别处删除一个词，在终端里
则发送 ⌃W。每次修改都作为一个事务生效；配置仍是普通的 YAML 文件，可以导出、导入，也可以
纳入版本管理。

Shell 命令依然可用，但运行前需要你确认；随导入文件而来的命令在你复核之前一律停用。

## 内置学习 {#learning}

按住 Caps Lock 稍等，屏幕上就会显示当前平面。Playground 里有跟随你自己映射的简短课程；
安全练习模式只预览有副作用的动作而不执行；自由练习显示最近一次按键做了什么，但不记录你输入
的内容。

## 总有退路 {#recovery}

一个接管 Caps Lock 的工具，必须能可靠地把它还回来。Capslock 只改动它自己添加的那一条按键
映射，在暂停和退出时恢复原状，不碰其他工具的映射；崩溃后由一个小助手负责恢复。如果
Karabiner-Elements 或其他工具已经占用了 Caps Lock，Capslock 不会启动，并由诊断页说明需要
改什么。

## 两种 Hyper {#hyper}

Karabiner 布局让 Caps Lock 在所有应用眼中都像是 ⌃⌥⇧⌘，很多人在此基础上设置了 Alfred、
Raycast 或 Moom 快捷键。Capslock 把这种行为保留为默认的「经典」模式；「原生」模式则让
Hyper 只在 Capslock 内部生效，适合不希望其他应用看到它的人。

## 现状 {#status}

Capslock 0.4.0 是候选发布版。完成 Developer ID 签名与公证、干净账户测试、Intel 与 macOS 14
测试，并验证更新通道之后，才会开放下载。在此之前，[文档](/zh/docs/)描述的就是即将发布的应用，
发布状态见[下载](/zh/download/)页。

Karabiner-Elements 配置仍以 [Karabiner 版](/zh/docs/karabiner/)的形式免费提供。
