參考資料:
附上官網(wǎng)鏈接:Karabiner官網(wǎng)
安裝完成后有一個解鎖的功能民傻,按照步驟完成即可。
-
安裝完成后桌面上菜單欄會有一個正方形圖標软能,點擊后選擇『pereference』
重點講一下腳本的編寫
-
找到腳本文件的位置,點擊 Open private.xml 按鈕,在彈出的界面打開 private.xml;
- 說明一下語法举畸,功能寫在兩個root之間
<?xml version="1.0"?>
<root>
<item>
<name>Swap Space and Tab</name>
<identifier>private.swap_space_and_tab</identifier>
<autogen>__KeyToKey__ KeyCode::SPACE, KeyCode::TAB</autogen>
<autogen>__KeyToKey__ KeyCode::TAB, KeyCode::SPACE</autogen>
</item>
<item>
<name>Change Right Command Key to Escape</name>
<identifier>private.right_command_to_escape</identifier>
<autogen>__KeyToKey__ KeyCode::COMMAND_R, KeyCode::ESCAPE</autogen>
</item>
</root>
\<item\>
\<name\> 設(shè)置名稱 \</name\>
\<appendix\>副標題(非必要的)\</appendix\>
\<identifier本設(shè)置的標簽查排,通常要加一個private.的前綴 \</identifier\>
\<autogen\>按鍵定義\</autogen\>
\<autogen\>按鍵定義\</autogen\>
\</item\>
<autogen>
的用法
- 你要更改哪個鍵:
__KeyToKey__ KeyCode::
- 你要改成的功能:
ConsumerKeyCode::
- 你要改成 —— 組合鍵中后按的鍵:
KeyCCode::
- 你要改成 —— 組合鍵中先按的鍵:
ModifierFlag::
TIPS:對于多個組合按鍵,可以用 | 隔開抄沮,比如
-
* **_含義就是跋核,你要把(原始按鍵)F10 改成 (功能)左Ctrl + 左Option + 左Cmd_**
## 舉例:
* 例如把F10改成四指右掃向右移動一個space的功能(組合鍵是control+→):
<autogen>
KeyToKey KeyCode::F10,
KeyCode::CURSOR_RIGHT,ModifierFlag::CONTROL_R
</autogen>
## TIPS: 如何獲取鍵值
* 我們可以看出上述代碼都需要按鍵對應(yīng)的KeyCode,那么如何知道這些按鍵的代碼呢叛买,其實像F1砂代,F(xiàn)2。率挣。刻伊。或普通字母鍵這樣簡單的按鍵椒功,按鍵本身就是它的代碼捶箱,比如A鍵的代碼就是KeyCode::A。
* 而對于比較復(fù)雜的按鍵如control动漾,option丁屎,或者是像方向鍵這種沒有字母標注的鍵,『Karabiner』提供了eventviewer組件旱眯,Eventviewer 可以捕捉你的按鍵動作并給出相應(yīng)的按鍵信息晨川,其中就包括按鍵代碼。
![訪問launch EventViewer](http://upload-images.jianshu.io/upload_images/1180547-107fa0857ec7e993.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![示意圖](http://upload-images.jianshu.io/upload_images/1180547-9ef4e66bebfaf8d0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* 此時每按下一個鍵删豺,表格里都會出現(xiàn)相應(yīng)的鍵的信息共虑,注意我們這里需要的KeyCode不在『code』欄中,而是『misc』欄中顯示的內(nèi)容呀页。如上圖顯示妈拌,左ctrl的代碼就是CONTROL_L。
## 寫好的腳本如何載入
### 因為重新載入一個private.xml很麻煩赔桌,所以建議將源文件備份供炎。
* 通過上面說的open private.xml定位到對應(yīng)的路徑
* 修改該路徑
* ![示意圖](http://upload-images.jianshu.io/upload_images/1180547-04bbda80bd76850e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
## 附上RK61 鍵盤改動代碼
```xml
<item>
<name>RK61 Fucking ArrowBtn</name>
<appendix>←↓→↑</appendix>
<identifier>private.ArrowSuitableForRK61</identifier>
<autogen>__KeyToKey__ KeyCode::COMMAND_R, KeyCode::CURSOR_LEFT </autogen>
<autogen>__KeyToKey__ KeyCode::CONTROL_R, KeyCode::CURSOR_RIGHT </autogen>
<autogen>__KeyToKey__ KeyCode::PC_APPLICATION, KeyCode::CURSOR_DOWN </autogen>
<autogen>__KeyToKey__ KeyCode::SLASH, KeyCode::CURSOR_UP </autogen>
*<!-- replace them all -->*
<autogen>__KeyToKey__ KeyCode::CURSOR_LEFT, KeyCode:: COMMAND_R </autogen>
<autogen>__KeyToKey__ KeyCode::CURSOR_RIGHT, KeyCode:: CONTROL_R</autogen>
<autogen>__KeyToKey__ KeyCode::CURSOR_DOWN, KeyCode::PC_APPLICATION </autogen>
<autogen>__KeyToKey__ KeyCode::CURSOR_UP, KeyCode::SLASH </autogen>
</item>