由于 Mac 的键盘和主流布局不一致,许多人都会遇到外接键盘布局不适应的情况;即便是 Mac 的内置键盘,也有人觉得其设计不够合理,不符合自己的工作习惯。好在键盘和使用者之间是可以磨合的,Karabiner-Elements 就是 Mac 上一款非常好用的开源改键利器,能让键盘顺着你的意愿来工作。
基本介绍
安装 完后会有两个应用,一个是 Karabiner-Elements
,另一个是 Karabiner-EventViewer
。
第一个是改键用的主程序,第二个是键鼠事件的监听器,当你不知道目前键盘的某个物理按键对应的是哪个键位, 可以使用这个查看。
Karabiner-Elements
Simple Modifications
简单改键: 将某一个键位更改为另一个键位
用法:
- 先在
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
复杂改键, 修改组合键位来实现自定义事件
这里主要介绍一下用 Karabiner-Elements
打造 Vim
风格的方向键。也许你对这个词感到陌生,还会奇怪,干嘛放着 MacBook 上好好的方向键不用?其实,Mac 自带键盘的方向键位于右下角,打字时把爪子挪过去点很不方便,而 Vim
式的操作中,可以挪用 HJKL
四枚按键,调教一下充当方向键,打字时手掌都不用抬起,就能实现光标的移动,很快捷。
- 点击左下角的
Add rule
来添加组合键 - 软件自带的
Vim
风格的方向键为right_command + hjkl
来代替方向键, 在Examples
中可以找到, 点击右侧的Enable
即可加入到组合键位中, 但实际使用起来有点费劲 - 在 官网的 complex_modifications 找到
Vi Mode (rev 5)
, 展开后有详细的组合键位说明. 点击右侧的import
来下载下来, 并导入到软件中. - 重复第一步和第二步, 你可以选择
s
作为触发键, 也可以选择d
作为触发键, 或者两者都作为触发键 - 无法正常使用? 其实官网展开后的键位使用说明最后有这么一句话: 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
可以排序 - 当然官网还有很多组合键, 可以找到自己需要的
Devices
显示此 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
其他配置, 包含重置 / 退出 / 更新 / 卸载等
Log
日志, 纪录软件运行的一些参数
Karabiner-EventViewer
Karabiner 提供了查看每个键位代码名称的工具 Karabiner-EventViewer
,打开该工具,随后的所有按键操作都会在界面上显示明细,如果有不清楚名称的按键,查看界面中 name
一栏,配置映射时选择对应名称的键位即可。