安装

下载 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_pushlayer_togglelayer_swap 动作激活。
  • auto_app:自动应用层,当匹配的应用获得焦点时自动激活。

按下按键时,从栈顶向下逐层查找匹配的绑定,找到后执行对应的动作。

绑定

绑定即将快捷键映射到一个动作。

Capslox 使用 - 连接修饰键和普通按键来表达快捷键,如:alt-jctrl-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 平台命名见配置说明:修饰键
字母和数字 az 09
控制键 space enter tab esc backspace delete caps
导航键 up down left right home end pageup pagedown
符号键 [ ] / = , . ; ' 直接使用按键符号,如:ctrl-;
特殊命名 minus (-) backslash (\) backtick (`) 使用按键名称而不是按键符号,如:alt-minus
功能键 f1f12

完整按键列表请参阅配置说明:按键词汇表

动作

动作即快捷键触发后执行的操作。

最简单的动作是发送按键 — 直接写按键名称字符串:

// 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" },

完整的动作类型说明请参阅配置说明:动作

自定义修饰键

除了系统修饰键(ctrlshiftaltsuper),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 还支持更多功能: