完整而强大的键盘定制能力

从一行简单的按键重映射,到带有条件判断、状态变量与 Shell 命令的复杂规则引擎,Karabiner-Elements 覆盖 macOS 键盘定制的每一个角落。

Simple Modifications

可视化按键重映射面板。从下拉菜单中选择源按键与目标按键即可完成配置,支持所有标准按键、修饰键与功能键。无需任何代码知识,新手可在几分钟内完成 Caps Lock 改造、方向键重排等常用配置。

Complex Modifications

强大的规则引擎,支持条件触发、修饰键组合、按键序列识别、长按短按区分。可一键导入社区规则库的数百个预设方案,也可自行编写 JSON 规则实现任意复杂的按键逻辑,是 macOS 上最灵活的键位引擎。

Devices 设备管理

为内置键盘、外接机械键盘、人体工学键盘、游戏键盘分别设置独立映射规则。系统会根据当前活跃的设备自动应用对应配置,无需手动切换。支持按厂商、产品 ID 精确识别设备。

Profiles 多配置方案

创建多套独立的配置文件,例如办公模式、编码模式、游戏模式等。通过菜单栏图标或全局快捷键一键切换,不同场景下的键位方案互不干扰。配置可通过 JSON 文件导入导出,便于团队共享与版本管理。

EventViewer 实时调试

独立的事件查看器工具,实时显示按键按下、释放、修饰键状态、设备切换等所有键盘事件。开发复杂规则时,可精确捕获每个事件的 key_code 与修饰键组合,是排查配置问题、编写新规则的必备利器。

JSON 可编程配置

所有配置以纯 JSON 格式存储于 ~/.config/karabiner/karabiner.json。开发者可直接编辑此文件实现 GUI 无法完成的高级规则,包括条件判断、状态变量、Shell 命令调用、鼠标按键模拟等深度定制能力。

Function Keys 功能键

灵活控制功能键行为。可将 F1-F12 锁定为标准功能键,或锁定为多媒体控制键;为非 Apple 外接键盘补全 Fn 键功能;按应用切换功能键默认行为,满足不同软件对功能键的需求差异。

Virtual Keyboard 虚拟键盘

通过 Virtual Keyboard 设备将重映射后的按键事件注入系统,绕过部分应用对输入源的检查。在远程桌面、虚拟机、特定专业软件中保证键位映射的一致性,是高级用户的工作流必备。

设备级精细控制

当外接键盘连接时,可选择自动禁用内置键盘,避免笔记本用户误触。可为不同键盘设置不同的延迟参数与重复速率;针对特定设备忽略系统级快捷键拦截,保证游戏与专业场景下的纯净输入。

Configuration Examples

典型配置示例

通过 JSON 配置文件,你可以实现任意复杂的按键逻辑。以下是几个真实可用的规则示例。

示例 1:将 Caps Lock 改造为 Hyper 键

Caps Lock 单独按下时输出 Escape,与其他按键组合时输出 ⌃⌥⌘⇧ 四修饰键组合,是 Vim 用户与窗口管理工具的最佳拍档。

caps_lock_to_hyper.json
{
  "type": "basic",
  "from": {
    "key_code": "caps_lock",
    "modifiers": { "optional": ["any"] }
  },
  "to": [
    { "key_code": "left_shift",
      "modifiers": ["left_command", "left_control", "left_option"] }
  ],
  "to_if_alone": [
    { "key_code": "escape" }
  ]
}

示例 2:Fn + HJKL 实现 Vim 风格方向键

在任意应用中按住 Fn 键并按下 H、J、K、L 即可触发方向键,无需离开主键区。适合经常编辑文本的用户。

vim_style_arrows.json
{
  "type": "basic",
  "from": {
    "key_code": "h",
    "modifiers": { "mandatory": ["fn"] }
  },
  "to": [
    { "key_code": "left_arrow" }
  ]
}
// 重复以上规则将 j→down_arrow, k→up_arrow, l→right_arrow

示例 3:长按 Shift 启动终端

短按 Shift 时正常输出 Shift 功能;长按超过 500ms 时触发 Shell 命令启动终端应用,实现按键的多功能复用。

shift_hold_launch_terminal.json
{
  "type": "basic",
  "from": { "key_code": "left_shift" },
  "parameters": {
    "basic.to_if_held_down_threshold_milliseconds": 500
  },
  "to": [
    { "key_code": "left_shift" }
  ],
  "to_if_held_down": [
    { "shell_command": "open -a 'Terminal'" }
  ]
}
Comparison

与其他键盘工具对比

了解 Karabiner-Elements 与 macOS 上其他主流键盘定制工具的核心差异,选择最适合你的方案。

能力维度 Karabiner-Elements 系统自带首选项 其他商业工具
基础按键重映射 支持 有限 支持
条件触发规则 完整支持 不支持 部分支持
设备级独立配置 完整支持 不支持 部分支持
多 Profile 切换 完整支持 不支持 支持
JSON 可编程配置 完整支持 不支持 不支持
Shell 命令调用 完整支持 不支持 部分支持
EventViewer 调试工具 内置
开源免费 MIT 协议 免费 付费订阅
社区规则库 500+ 规则 少量

解锁键盘的无限可能

下载 Karabiner-Elements,让 macOS 键盘真正按你的方式工作。

查看使用文档