Mac键盘神器 Karabiner的使用,及脚本编写

参考资料:

  • Mac机械键盘的设置和技巧

  • 官网上private.xml的语法教程

  • 附上官网链接:Karabiner官网

  • 安装完成后有一个解锁的功能,按照步骤完成即可。

  • 安装完成后桌面上菜单栏会有一个正方形图标,点击后选择『pereference』


    Mac键盘神器 Karabiner的使用,及脚本编写_第1张图片
    图一

重点讲一下脚本的编写

  • 找到脚本文件的位置,点击 Open private.xml 按钮,在弹出的界面打开 private.xml;


    图二
  • 说明一下语法,功能写在两个root之间


  
    Swap Space and Tab
    private.swap_space_and_tab
    __KeyToKey__ KeyCode::SPACE, KeyCode::TAB
    __KeyToKey__ KeyCode::TAB, KeyCode::SPACE
  

  
    Change Right Command Key to Escape
    private.right_command_to_escape
    __KeyToKey__ KeyCode::COMMAND_R, KeyCode::ESCAPE
  

\
 \ 设置名称 \
 \副标题(非必要的)\
 \
 \按键定义\
 \按键定义\
 \

的用法

  • 你要更改哪个键: __KeyToKey__ KeyCode::
  • 你要改成的功能: ConsumerKeyCode::
  • 你要改成 —— 组合键中后按的键: KeyCCode::
  • 你要改成 —— 组合键中先按的键: ModifierFlag::
    • TIPS:对于多个组合按键,可以用 | 隔开,比如

    • KeyCode::M, ModifierFlag::CONTROL_L|ModifierFlag::OPTION_L|ModifierFlag::COMMAND_L
  * **_含义就是,你要把(原始按键)F10 改成 (功能)左Ctrl + 左Option + 左Cmd_**

## 举例:
* 例如把F10改成四指右扫向右移动一个space的功能(组合键是control+→):


KeyToKey KeyCode::F10,
KeyCode::CURSOR_RIGHT,ModifierFlag::CONTROL_R


## TIPS: 如何获取键值
* 我们可以看出上述代码都需要按键对应的KeyCode,那么如何知道这些按键的代码呢,其实像F1,F2。。。或普通字母键这样简单的按键,按键本身就是它的代码,比如A键的代码就是KeyCode::A。

* 而对于比较复杂的按键如control,option,或者是像方向键这种没有字母标注的键,『Karabiner』提供了eventviewer组件,Eventviewer 可以捕捉你的按键动作并给出相应的按键信息,其中就包括按键代码。
![访问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)
* 此时每按下一个键,表格里都会出现相应的键的信息,注意我们这里需要的KeyCode不在『code』栏中,而是『misc』栏中显示的内容。如上图显示,左ctrl的代码就是CONTROL_L。

## 写好的脚本如何载入
### 因为重新载入一个private.xml很麻烦,所以建议将源文件备份。
* 通过上面说的open private.xml定位到对应的路径
* 修改该路径
* ![示意图](http://upload-images.jianshu.io/upload_images/1180547-04bbda80bd76850e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

## 附上RK61 键盘改动代码
```xml

    RK61 Fucking ArrowBtn
    ←↓→↑
    private.ArrowSuitableForRK61
    __KeyToKey__ KeyCode::COMMAND_R, KeyCode::CURSOR_LEFT  
    __KeyToKey__ KeyCode::CONTROL_R, KeyCode::CURSOR_RIGHT 
    __KeyToKey__ KeyCode::PC_APPLICATION, KeyCode::CURSOR_DOWN 
    __KeyToKey__ KeyCode::SLASH, KeyCode::CURSOR_UP 
**
    __KeyToKey__ KeyCode::CURSOR_LEFT, KeyCode:: COMMAND_R 
    __KeyToKey__ KeyCode::CURSOR_RIGHT, KeyCode:: CONTROL_R
    __KeyToKey__ KeyCode::CURSOR_DOWN, KeyCode::PC_APPLICATION 
    __KeyToKey__ KeyCode::CURSOR_UP, KeyCode::SLASH 
   
Mac键盘神器 Karabiner的使用,及脚本编写_第2张图片
键盘示意图

你可能感兴趣的:(Mac键盘神器 Karabiner的使用,及脚本编写)