用 Karabiner Elements 自定义你的键盘

用 Karabiner Elements 自定义你的键盘
Sandy情提要
罗技的 k708 键盘坏了,这几年过的很苦。就不浪费钱了。买了个 100 多的键盘应付着,还不错也挺舒服的,就是 win 的键盘键位有点乱,比较遗憾,想着能不能在软件层面改一改键,继承之前 k708 的键位设置。
于是就找到了 Karabiner Elements 这个改键神器
Karabiner Elements
「 Karabiner Elements 」 是 macOS 上一款强大的改键软件,从简单的单键映射,到复杂的组合键映射全部都有,还可以自己定义映射规则,灵活性很高,然后还免费!
完美符合我的需求有木有!
先介绍下我之前的键位设置。
最大的变化是将 CAPSLOCK 键改成了 Fn 键,然后以此为基础新加了许多 Fn + X 形式的组合键。
感觉 CAPSLOCK 不是很常用,就把它换成常用的功能键 Fn 了。CAPSLOCK 则变成了 Fn + /
之后就是方向键 ⬆️ ⬇️ ⬅️ ➡️ 和编程常用的 ~ 和 ` 键了。
如果熟悉 vim 键位的话,可以把方向键绑到 H,J,K,L 键位上,即 Fn + H / J / K / L。
阿米洛默认是 Win 布局,对于 macOS 用户,可以交换 Win 和 ALT 键,正好就和 MacBook 上的 Option 和 Command 键对应了。
还有几个比较方便编程的快捷键,比如说光标的快速移动
光标移动到行首:Fn + M
光标移动到行尾:Fn + .
光标向前跳过一个单词:Fn + F
光标回退一个单词:Fn + B
最后就是 PageUp 和 PageDown 的设置了。
改键步骤
设计好自己习惯的快捷键后,就可以用 Karabiner Elements 进行改键了。
开整前照例先看看官方 doc 。
Karabiner 的安装和简单键的映射修改,可以参考这篇博文 「Karabiner Elements 安装及简单按键映射」。
因为我们自定义快捷键要改的键有点多,就直接选择 Use more complex rules。
在步骤 Step1 里,如果你有看到合适的 rules,可以直接从云端导入别人写好的。
不过我们身为程序员,当然是选择自己造轮子啦。
配置文件
把 Karabiner 的自定义配置文件 custom.json 放在 ~/.config/karabiner/assets/complex_modifications/文件夹下,Karabiner 会自动加载这些自定义配置。
custom.json 的数据结构
Karabiner 采用 json 格式储存键位配置,大致的 数据结构 如下
1 | { |
编写 varmilo.json
如何知道某个按键对应的 key_code 呢?
Karabiner Elements 提供另一个 app,「 Karabiner EventViewer 」,通过它我们可以看到每一个按键对应的 key_code。
终于可以开始写阿米洛的快捷键配置了。
举个例子吧,将 CapsLock 键重新定义为 Fn 键
在 Karabiner EventViewer 中找到 CapsLock 和 Fn 的 key_code,caps_lock 和 fn,填入之前的数据结构中。
1 | { |
是不是很简单!
再举个例子吧,将 Fn -> H 重新定义为 左箭头 ⬅️
如何表示组合键呢?
我们要在 json 里加上 modifiers,表示对基础键的修饰。
mandatory 表示必须与基础键一起出现的键,这里是 Fn。
1 | { |
加载自定义快捷键
当我们写好了所有规则后,保存 custom.json 到 ~/.config/karabiner/assets/complex_modifications/ 文件夹下,打开 Karabiner Elements。
选择 Complex modifications,点击 Add rule。
这时我们就能看到 Karabiner 已经自动加载我们刚刚写好的所有键位设置了。
就可以开始愉快地写码 打游戏 了。
最后
如果有小伙伴需要键位配置,在这里 拿走不谢。


