Karabiner-Elements
由于 Mac 的键盘和主流布局不一致,许多人都会遇到外接键盘布局不适应的情况; 即便是 Mac 的内置键盘,也有人觉得其设计不够合理,不符合自己的工作习惯。好在键盘和使用者之间是可以磨合的,Karabiner-Elements (opens new window) 就是 Mac 上一款非常好用的开源改键利器,能让键盘顺着你的意愿来工作。
# 基本介绍
安装 (opens new window) 完后会有两个应用,一个是 Karabiner-Elements
, 另一个是 Karabiner-EventViewer
.
第一个是改键用的主程序,第二个是键鼠事件的监听器,当你不知道目前键盘的某个物理按键对应的是哪个键位,可以使用这个查看。
# Karabiner-Elements
# Simple Modifications (opens new window)
简单改键:将某一个键位更改为另一个键位
用法:
- 先在
Target Device
中选择需要修改的键盘,可以选择For all devices
或只针对某一个键盘 - 点击
Add item
来增加一对按键映射 From key
是物理按键,To key
是你想映射的按键- 如果不知道键盘上某一个物理按键的名字,可以在
Karabiner-EventViewer
查询 - 修改完后也可以在
Karabiner-EventViewer
中查看是否修改成功
下图为我自己外接键盘的一些基本改键,基本和 Mac 自带键盘键位保持一致
# Function Keys
这个主要是修改功能键 F1
- F12
键位的
用法也是先选择需要修改的键盘,再修改物理按键为映射按键
注:如果选中左下角的 Use all F1, F2, etc. keys as standard function keys
, 则功能键使用默认功能,上面设置的映射键位不会生效
# Complex Modifications (opens new window)
复杂改键,修改组合键位来实现自定义事件
这里主要介绍一下用 Karabiner-Elements
打造 Vim
风格的方向键。也许你对这个词感到陌生,还会奇怪,干嘛放着 MacBook 上好好的方向键不用?其实,Mac 自带键盘的方向键位于右下角,打字时把爪子挪过去点很不方便,而 Vim
式的操作中,可以挪用 HJKL
四枚按键,调教一下充当方向键,打字时手掌都不用抬起,就能实现光标的移动,很快捷。
- 点击左下角的
Add rule
来添加组合键 - 软件自带的
Vim
风格的方向键为right_command + hjkl
来代替方向键,在Examples
中可以找到,点击右侧的Enable
即可加入到组合键位中,但实际使用起来有点费劲 - 在 官网的 complex_modifications (opens new window) 找到
SpaceFN
, 展开后有详细的组合键位说明。点击右侧的import
来下载下来,并导入到软件中。 - 重复第一步和第二步,将刚才添加的
SpaceFN
中的组合键添加进去 - 无法正常使用?其实官网展开后的键位使用说明最后有这么一句话:Please change your
simultaneous_threshold_milliseconds
setting in Karabiner-Elements → Complex Modifications → Parameters; A value between 150 and 500 is recommended for this mode. 说白了就是两个按键之间的等待值,默认是50ms
, 但一般人没法做到组合键这么小的间隔,就只能调高等待值,我一般设置为300
, 既不影响打字,也不影响组合键 - 如果不想要某一个组合键,点击右侧的
Remove
即可移除。下面的Up
和Down
可以排序 - 当然官网还有很多组合键,可以找到自己需要的
当然,如果你想自定义组合键,也是可以的,在这个网站 Karabiner Complex Rules Generator (opens new window) 我们可以根据自己的需求自定义按键,就是需要对这些配置代码了解,不推荐小白尝试
# Devices (opens new window)
显示此 Mac 中当前连接了哪些键鼠设备
如果连接了外部键盘,也可以禁用 MacBook 内置键盘。
在 Disable the built-in keyboard while one of the following selected devices is connected.
列表中选择需要使用的键盘,即可禁用内置键盘,如果都不勾选,默认都可以使用
# Virtual Keyboard
虚拟键盘
这个一般不需要修改
但如果使用了具有相同 vendor
(供应商) id (Ox16cO) 和 product
(产品) id (Ox27db) 的其他设备,那就需要修改了
# Profiles
配置列表
在界面上的 Profiles
标签内,可以添加、删除和选中某个配置,select
选中某个配置之后,所有对键位的更改都会保存在当前 select
的这套配置内,比如可以根据使用的键盘不同维护多套配置,以便在使用不同输入设备时切换。
另外,Karabiner 的所有配置都以 JSON
格式文件保存在:~/.config/karabiner/karabiner.json
目录,如果在网上看到别人给出的配置需要编辑 karabiner.json
文件加到其中,如果需要备份配置则可以直接备份这个目录。
也可以通过点击菜单栏图标来切换配置
# Misc (opens new window)
其他配置,包含重置 / 退出 / 更新 / 卸载等
# Log
日志,纪录软件运行的一些参数
# Karabiner-EventViewer
Karabiner 提供了查看每个键位代码名称的工具 Karabiner-EventViewer
, 打开该工具,随后的所有按键操作都会在界面上显示明细,如果有不清楚名称的按键,查看界面中 name
一栏,配置映射时选择对应名称的键位即可。