安装
下载 Capslox,并安装,启动时,如果有提示需要系统权限,请按提示授权。
首次启动时,Capslox 会自动创建默认配置文件,包含导航、选择和文本编辑快捷键:
- macOS:
~/.config/capslox/keymap.jsonc - Windows:
%APPDATA%\Capslox\keymap.jsonc
配置使用 JSONC 格式(支持注释的 JSON)。用任意文本编辑器打开即可编辑。修改保存后即时生效,无需重启。
了解默认按键方案
Capslox 允许你将任意按键设置为自定义修饰键,并使用它们构建快捷键方案。默认的配置以 Caps Lock 为核心,提供了一套精心设计的方案,让你的手指无需离开主键盘区域就能轻松完成光标移动、文本选中和编辑等操作,提高你的文字编辑体验。
你可以通过游戏形式的交互式教程学习默认方案。
本指南后续内容介绍如何在默认方案之上自定义你自己的按键绑定。
核心概念
Capslox 按键方案配置包含几个核心概念:层(Layer)、绑定(Binding)、动作(Action)、自定义修饰键(Custom Modifier)。
层
层是一组绑定的集合。base 层始终处于活动状态,其他层在其之上叠加,形成栈结构。
层类型:
base:基础层,始终激活。manual:手动激活层,通过绑定中的layer_push、layer_toggle或layer_swap动作激活。auto_app:自动应用层,当匹配的应用获得焦点时自动激活。
按下按键时,从栈顶向下逐层查找匹配的绑定,找到后执行对应的动作。
绑定
绑定即将快捷键映射到一个动作。
Capslox 使用 - 连接修饰键和普通按键来表达快捷键,如:alt-j、ctrl-shift-,。
最常见的形式如绑定快捷键为另一个按键操作:
"alt-j": "up"
按键可以设置成根据按压方式触发不同动作,称为按键模式(key mode)。例如默认配置中的 Caps Lock,按住作为修饰键、短按发送 Esc:
"caps": { "type": "mod_tap", "tap": "esc" }
Capslox 支持 mod_tap(按住为修饰键,短按为动作)和 long_press(按压时长决定动作)两种按键模式。详见配置说明:按键模式。
按键名称基于美式 QWERTY 键盘布局,全部小写。以下列出常用按键名称:
| 类别 | 按键名 | 说明 |
|---|---|---|
| 修饰键 | ctrl shift opt alt cmd win super | 平台命名见配置说明:修饰键 |
| 字母和数字 | a–z 0–9 | |
| 控制键 | space enter tab esc backspace delete caps | |
| 导航键 | up down left right home end pageup pagedown | |
| 符号键 | [ ] / = , . ; ' | 直接使用按键符号,如:ctrl-; |
| 特殊命名 | minus (-) backslash (\) backtick (`) | 使用按键名称而不是按键符号,如:alt-minus |
| 功能键 | f1–f12 |
完整按键列表请参阅配置说明:按键词汇表。
动作
动作即快捷键触发后执行的操作。
最简单的动作是发送按键 — 直接写按键名称字符串:
// bindings
"alt-j": "up", // 发送上方向键
"ctrl-u": "shift-home backspace", // 选中文字至行首,然后删除
"ctrl-d": "down*5", // 按 5 次下方向键
除了发送按键,动作还可以控制层、管理剪贴板槽位、切换窗口等。这类动作使用 "action" 字段:
// bindings
"ctrl-t": { "action": "layer_toggle", "target": "vim" },
"ctrl-v": { "action": "clipboard_paste", "slot": "1" },
"ctrl-shift-1": { "action": "bind_window", "slot": "1" },
"ctrl-1": { "action": "activate_window", "slot": "1" },
完整的动作类型说明请参阅配置说明:动作。
自定义修饰键
除了系统修饰键(ctrl、shift、alt、super),Capslox 允许将任意物理按键注册为自定义修饰键,并赋予它一个名称(别名),在快捷键中当作修饰键使用。
例如,你可以将 Caps Lock 注册为 cx 修饰键,并设置其短按动作为 Esc:
"custom_modifiers": { "caps": { "alias": "cx", "tap": "esc" } }
- 将 Caps Lock 命名为 cx
- 按住 Caps Lock → 激活 cx 修饰键
- 短按 Caps Lock → 发送 Esc
上例中
tap设为esc仅作演示。Capslox 自带的默认 keymap 把tap设为toggle_caps_lock(切换大写锁定)——tap可以是任何 action。
之后就可以用 cx 来声明快捷键:
"cx-e": "up",
"cx-d": "down",
"cx-s": "left",
"cx-f": "right"
多对一
多个物理按键可以注册为同一个别名。例如 HHKB 键盘没有独立的 Caps Lock 键,可以将 Tab 也注册为 cx:
{
"custom_modifiers": {
"caps": { "alias": "cx", "tap": "esc" },
"tab": "cx"
},
"layers": [
{
"id": "base",
"on_miss": "pass_to_os",
"bindings": {
"cx-e": "up",
"cx-d": "down"
}
}
]
}
现在 Caps Lock 和 Tab 都能触发所有 cx- 开头的快捷键。
第一次编辑配置
按下 caps-shift-/ 打开 Capslox 自带的按键方案编辑器,或用编辑器打开 keymap.jsonc。参考下面的完整示例,将其中新增的 cx-tab 绑定和 browse 层加入你现有的配置:
{
"version": "1.0",
"custom_modifiers": { "caps": { "alias": "cx", "tap": "esc" } },
"layers": [
{
"id": "base",
"on_miss": "pass_to_os",
"bindings": {
"cx-e": "up",
"cx-d": "down",
"cx-s": "left",
"cx-f": "right",
// 你的新绑定:
"cx-tab": { "action": "layer_toggle", "target": "browse" },
"cx-m": "enter"
}
},
{
"id": "browse",
"activation": { "type": "manual" },
"on_miss": "continue",
"bindings": {
"e": "pageup",
"d": "pagedown",
"s": "ctrl-shift-tab",
"f": "ctrl-tab"
}
}
]
}
保存文件,Capslox 检测到变更后自动重新加载配置。在浏览器下按下 caps-tab 切换至 browse 层,然后按 e / d / s / f 浏览页面。
更多功能
Capslox 还支持更多功能:
- 应用特定绑定(不同应用不同行为)— 见配置说明:When 子句
- 多层配置 — 见配置说明:层
- 剪贴板槽位 — 见配置说明:剪贴板动作
- 窗口管理 — 见配置说明:窗口动作