前兩天,無痛升級到 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
用法,官方已經介紹的很清楚了。(尼瑪,是今天才更新的吧,我第一次安裝好之后,搞了好久都不會用)果然,今天才更新 使用用法!
那我來寫個簡單中文版用法說明。
- 下載并安裝 Karabiner-Elements (參考上邊地址)
- 編輯配置文件,參考 官方例子,比如我需要PC鍵盤映射Mac鍵盤,打開 pc_keyboard_to_mac….文件,復制json文件的內容
- 打開Mac的命令行,輸入
vim ~/.karabiner.d/configuration/karabiner.json
創建配置文件。在vim編輯器中,將復制內容粘貼保存即可。(vim使用提示:i 開始編輯,Comond+v 粘貼,:wq 保存退出)
大功告成!
當然,如果僅僅想替換 Command 與 Option鍵位, 系統已經支持了,請注意,要想系統生效,必須刪除 Karabiner 軟件。
如何綁定「一對多」鍵位?
2019.10.19 更新,Karabiner 官方已支持復雜鍵位映射
2017.04.29 更新,感謝 Weslie_6b9d 反饋
使用 complex_modifications
選項實現,Karabiner 官方提供了部分線上規則一鍵導入功能:Karabiner-Elements complex_modifications rules,如果有合適配置直接 import 。
那么如何手動設置自己的規則?簡單!
1. 編輯自己規則 json 文件
可以參考文檔或別人的配置文件,比如我想 f10
映射為 Mac 屏幕睡眠快捷鍵 left_control + left_shift + eject
,新建一個 F10ToSleepMoniter.json
文件(名稱隨意),內容如下:
{
"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
點擊 Enable 即可!
此部分已不推薦
如果需要綁定:一個按鍵 => 多個按鍵 映射,請在 Karabiner-Elements 下載支持此特性的 fork 版本。
然后在配置文件~/.config/karabiner/karabiner.json
,在one_to_many_mappings
里設置你要的映射,比如我綁定了 delete 鍵為 mac 中刪除的快捷鍵。
one_to_many_mappings
別忘了給大神的 Git 分支點贊啊,共享如此福利~~
如何查看按鍵名稱?
安裝 karabiner - Element 時代了一個 karabiner - EventViewer(圖標是查找),
點開后在此軟件下點任何你想知道名字的按鍵即可看到 name