Karabiner-Elements 是 macOS 系统一款强大的键盘自定义工具,它不仅允许你改变按键的默认行为,还可以赋予更多功能,甚至能像可编程键盘一样达到层级的效果。
一些功能:
- 重新映射功能键和修饰键;
- 按照指定规则修改按键;
- 可仅针对指定键盘修改;
- 支持在多个配置间切换;
一些局限:
- 可能无法修改某些键盘上的弹出键(现在很少见);
- 第三方键盘的 Fn 键(如无法修改 HHKB 的 Fn 键);
- 将忽略系统偏好设置中对修饰键的更改;
- 不能像 Hammerspoon 一样支持多个配置文件(所有配置都在一个文件中,而 JSON 又臭又长,相对 Lua 而言)
安装
Karabiner-Elements 可以直接从官网下载安装,如果 macOS 已安装 brew,则可以通过命令:brew install karabiner-elements
安装。当前最新的版本 12.4.0 支持 macOS 10.12 以上,后续文章如无特别注明,均以这个版本为准。
注:
- 第一次启动 Karabiner-Elements,可能需要到
系统偏好设置 -> 安全性与隐私 - 通用
点允许; - 安装完毕后会出现两个程序
- Karabiner-Elements:应用本身,第一次点击将运行程序,之后便是显示偏好设置;
- Karabiner-EventViewer:事件查看器,改键的过程可能需要按键对应的名称,同样可通过菜单栏的 Karabiner 图标进入;
- 如无特别说明,Karabiner 均指 Karabiner-Elements;
偏好设置
Karabiner Preferences 可通过菜单栏图标选择 Preferences 或直接运行程序打开,主要功能有:
- Simple Modifications:可以简单修按键的映射;
- Function Keys:修改 F1 ~ F12 的默认功能;
- Complex Modifications:自定义配置规则名称;
- Devices
- 第一部分,把配置应用到勾选的键盘;
- 第二部分,当勾选的设备连接时,禁用内置键盘;
- Virtual Keyboard:一般用不到;
- Profiel:配置文件,其实都是在同一个文件内的,名称可以在菜单栏显示;
- Misc:杂项
- Update:是否自动检查升级;
- Uninstall:可点击这里卸载;
- System Default Configuration:是否覆盖系统配置,一般不影响;
- Miscellaneous:是否在菜单栏显示图标和名称;
- Log:日志,运行正常时一般用不到,可查看错误信息;
EventViewer
打开 Karabiner-EventViewer 后,首先显示的是 Main,这也是查看按键名称(name)和检验按键是否修改成功的地方。当然,除了键盘,还可以查看触摸板和鼠标的操作,另外的几个选项分别为:
- Frontmost Application:查看应用标识符和路径
- Variables:后面需要用到的输入法的 ID 便是从这里查看;
- Devices:查看已连接输入设备的详细信息;
- EventViewer-Preferences:几个针对 EventViewer 的设置;
配置文件
Karabiner 的配置文件在 ~/.config/karabiner/karabiner.json
,每当文件有更改的时候,Karabiner 会自动侦测到改动,从而重新加载配置。也就是说,我们只管更改,保存后 Karabiner 会自动加载新配置。
备份
可以使用 ln 命令创建备份,以备份到 Dropbox 为例:
ln -s ~/.config/karabiner ~/Dropbox
另外,karabiner 下有个备份文件夹 automatic_backups,如果检测到更改会自动备份一次,但仅备份当天第一次更改之前。也就是说,只会在每天的第一次改动前自动备份,之后的变动就需要靠自己了。
简单按键映射
打开 Karabiner 偏好设置,在 Simple Modifications 中 选择 Add item
,这里以更改内置键盘 Caps-Lock
为 Control
键为例:
- From key:选择要更改的按键,这里选的是 caps_lock;
- To Key:想要成为的按键:这里是 lfet_control;
两边都选定之后,便完成了设置,立即生效。另外,如需要更改其它的按键,重复按上诉步骤操作即可。
注:
- 修饰键是分左右的,left 开头表示的是键盘左边的修饰键,right 则是右边;
- Target Device 可仅针对选定键盘生效,默认都是 For all devices
- 设定完后,如果无反映,看看 Preferences -> Devices 中是否有选择对应的键盘;
信息
版本
- Karabiner-Elements:12.4.0
- macOS Mojave:10.14.4
参考
- 使用说明:Manual - Karabiner
- 常见问题:Help - Karabiner