但愿草地干燥,无蚊虫

前两天,无痛升级到 macOS 10.12 Sierra,没感觉太大区别,忽然发现之前修改的键位失效了,没了 Command(Win) 与 Option(Alt) 键位互换,实在难受。

赶紧去 Karabainer官网 查看,只见赫然写着「Karabiner does not work on macOS Sierra at the moment.」,绝望之际,又看到一行「We are developing Karabiner-Elements which provides simple key modification for macOS Sierra at first.」顿时希望重生。

来到项目主页,看到有下载链接,版本似乎每天一更,有需要的同学,还是自己下载最新版吧。https://github.com/tekezo/Karabiner-Elements

用法,官方已经介绍的很清楚了。(尼玛,是今天才更新的吧,我第一次安装好之后,搞了好久都不会用)果然,今天才更新 使用用法

你看右上角的时间

那我来写个简单中文版用法说明。

  1. 下载并安装 Karabiner-Elements (参考上边地址)
  2. 编辑配置文件,参考 官方例子,比如我需要PC键盘映射Mac键盘,打开 pc_keyboard_to_mac….文件,复制json文件的内容
  3. 打开Mac的命令行,输入
    1
    vim ~/.karabiner.d/configuration/karabiner.json
    创建配置文件。在vim编辑器中,将复制内容粘贴保存即可。(vim使用提示:i 开始编辑,Comond+v 粘贴,:wq 保存退出)

修改配置文件 karabiner.json

大功告成!


当然,如果仅仅想替换 Command 与 Option键位, 系统已经支持了,请注意,要想系统生效,必须删除 Karabiner 软件。

Keyboard-Modifier Keys...

如何绑定「一对多」键位?

使用 complex_modifications 选项实现,Karabiner 官方提供了部分线上规则一键导入功能:Karabiner-Elements complex_modifications rules,如果有合适配置直接 import 。

那么如何手动设置自己的规则?简单!

1. 编辑自己规则 json 文件

可以参考文档或别人的配置文件,比如我想 f10 映射为 Mac 屏幕睡眠快捷键 left_control + left_shift + eject,新建一个 F10ToSleepMoniter.json 文件(名称随意),内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{
"title": "F10 to Sleep Monitor",
"rules": [
{
"description": "F10 to Sleep Monitor",
"manipulators": [
{
"from": {
"key_code": "f10",
"modifiers": {
"optional": ["any"]
}
},
"to": [
{
"key_code": "eject",
"modifiers": ["left_control", "left_shift"]
}
],
"type": "basic"
}
]
}
]
}

2. 放到 complex_modifications 文件夹

配置文件位置在 https://pqrs.org/osx/karabiner/json.html 有说明。

主配置:~/.config/karabiner/karabiner.json
complex_modifications 配置:~/.config/karabiner/assets/complex_modifications

放配置文件

打开 Karabiner / complex_modifications tab
打开 complex_modifications

点击 Enable 即可!
启用配置