
前兩天,無(wú)痛升級(jí)到 macOS 10.12 Sierra,沒(méi)感覺(jué)太大區(qū)別,忽然發(fā)現(xiàn)之前修改的鍵位失效了,沒(méi)了 Command(Win) 與 Option(Alt) 鍵位互換,實(shí)在難受。
趕緊去 Karabainer官網(wǎng) 查看,只見(jiàn)赫然寫(xiě)著「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.」頓時(shí)希望重生。
來(lái)到項(xiàng)目主頁(yè),看到有下載鏈接,版本似乎每天一更,有需要的同學(xué),還是自己下載最新版吧。https://github.com/tekezo/Karabiner-Elements
用法,官方已經(jīng)介紹的很清楚了。(尼瑪,是今天才更新的吧,我第一次安裝好之后,搞了好久都不會(huì)用)果然,今天才更新 使用用法!

那我來(lái)寫(xiě)個(gè)簡(jiǎn)單中文版用法說(shuō)明。
- 下載并安裝 Karabiner-Elements (參考上邊地址)
- 編輯配置文件,參考 官方例子,比如我需要PC鍵盤(pán)映射Mac鍵盤(pán),打開(kāi) pc_keyboard_to_mac….文件,復(fù)制json文件的內(nèi)容
- 打開(kāi)Mac的命令行,輸入
vim ~/.karabiner.d/configuration/karabiner.json
創(chuàng)建配置文件。在vim編輯器中,將復(fù)制內(nèi)容粘貼保存即可。(vim使用提示:i 開(kāi)始編輯,Comond+v 粘貼,:wq 保存退出)

大功告成!
當(dāng)然,如果僅僅想替換 Command 與 Option鍵位, 系統(tǒng)已經(jīng)支持了,請(qǐng)注意,要想系統(tǒng)生效,必須刪除 Karabiner 軟件。

如何綁定「一對(duì)多」鍵位?
2019.10.19 更新,Karabiner 官方已支持復(fù)雜鍵位映射
2017.04.29 更新,感謝 Weslie_6b9d 反饋
使用 complex_modifications 選項(xiàng)實(shí)現(xiàn),Karabiner 官方提供了部分線上規(guī)則一鍵導(dǎo)入功能:Karabiner-Elements complex_modifications rules,如果有合適配置直接 import 。
那么如何手動(dòng)設(shè)置自己的規(guī)則?簡(jiǎn)單!
1. 編輯自己規(guī)則 json 文件
可以參考文檔或別人的配置文件,比如我想 f10 映射為 Mac 屏幕睡眠快捷鍵 left_control + left_shift + eject,新建一個(gè) F10ToSleepMoniter.json 文件(名稱隨意),內(nèi)容如下:
{
"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 有說(shuō)明。
主配置:~/.config/karabiner/karabiner.json
complex_modifications 配置:~/.config/karabiner/assets/complex_modifications

打開(kāi) Karabiner / complex_modifications tab

點(diǎn)擊 Enable 即可!

此部分已不推薦
如果需要綁定:一個(gè)按鍵 => 多個(gè)按鍵 映射,請(qǐng)?jiān)?Karabiner-Elements 下載支持此特性的 fork 版本。
然后在配置文件~/.config/karabiner/karabiner.json,在one_to_many_mappings里設(shè)置你要的映射,比如我綁定了 delete 鍵為 mac 中刪除的快捷鍵。
one_to_many_mappings
別忘了給大神的 Git 分支點(diǎn)贊啊,共享如此福利~~
如何查看按鍵名稱?
安裝 karabiner - Element 時(shí)代了一個(gè) karabiner - EventViewer(圖標(biāo)是查找),
點(diǎn)開(kāi)后在此軟件下點(diǎn)任何你想知道名字的按鍵即可看到 name

