Mac下的按键映射软件Karabiner简单教程(Mac下的AutoHotKey)
下载地址:https://pqrs.org/osx/karabiner/
官方xml配置说明文档:https://pqrs.org/osx/karabiner/xml.html.en
在官方xml配置说明文档里面,介绍了自定义映射的基本语法,很简单。
mac平台上的Karabiner虽然可能没有Windows上的AutoHotKey那么多面全能,但是在修改按键映射上是一样强大的。xml的语法也很简单。
相关作用可以参考之前的文章:AutoHotKey 教程
需要打开 Preferences,打开 misc & uninstall ,点击 open private.xml 进行编辑配置
编辑成功后,保存,进入change key,点击 reload xml 使 private.xml 生效,然后把自己编写的项目一个个勾选使之生效就可以了。
最后,奉上自己简单的按键映射作为示例以供参考:
<?xml version="1.0"?>
<root>
<item>
<name>使用command+i作为ESC退出</name>
<identifier>private.escape</identifier>
<autogen>
__KeyToKey__
KeyCode::I , ModifierFlag::COMMAND_L ,
KeyCode::ESCAPE
</autogen>
</item>
<item>
<name>使用command+f新建文件夹</name>
<identifier>private.new_folder</identifier>
<autogen>
__KeyToKey__
KeyCode::F , ModifierFlag::COMMAND_R ,
KeyCode::N , ModifierFlag::COMMAND_R | ModifierFlag::SHIFT_R
</autogen>
</item>
<item>
<name>使用command+d向后删除字符</name>
<identifier>private.back_delete</identifier>
<autogen>
__KeyToKey__
KeyCode::D , ModifierFlag::COMMAND_R ,
KeyCode::D , ModifierFlag::CONTROL_L
</autogen>
</item>
<item>
<name>使用fn+delete立刻倾倒废纸篓</name>
<identifier>private.dumping_trash</identifier>
<autogen>
__KeyToKey__
KeyCode::DELETE , ModifierFlag::FN ,
KeyCode::DELETE , ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L | ModifierFlag::OPTION_L
</autogen>
</item>
<item>
<name>使用command来修饰hjkl作为方向键</name>
<identifier>private.direction_key</identifier>
<autogen>
__KeyToKey__
KeyCode::H, ModifierFlag::COMMAND_L,
KeyCode::CURSOR_LEFT
</autogen>
<autogen>
__KeyToKey__
KeyCode::J, ModifierFlag::COMMAND_L,
KeyCode::CURSOR_DOWN
</autogen>
<autogen>
__KeyToKey__
KeyCode::K, ModifierFlag::COMMAND_L,
KeyCode::CURSOR_UP
</autogen>
<autogen>
__KeyToKey__
KeyCode::L, ModifierFlag::COMMAND_L,
KeyCode::CURSOR_RIGHT
</autogen>
</item>
<item>
<name>使用command来修饰逗号和句号翻页</name>
<identifier>private.page_turning</indentifier>
<autogen>
__KeyToKey__
KeyCode::COMMA , ModifierFlag::COMMAND_L ,
KeyCode::CURSOR_UP , ModifierFlag::FN
</autogen>
<autogen>
__KeyToKey__
KeyCode::DOT , ModifierFlag::COMMAND_L ,
KeyCode::CURSOR_DOWN , ModifierFlag::FN
</autogen>
</item>
<item>
<name>使用optioin来修饰hjkl在字符间快速移动</name>
<identifier>private.moving_between_characters</identifier>
<autogen>
__KeyToKey__
KeyCode::H , ModifierFlag::OPTION_L ,
KeyCode::CURSOR_LEFT , ModifierFlag::OPTION_L
</autogen>
<autogen>
__KeyToKey__
KeyCode::J , ModifierFlag::OPTION_L ,
KeyCode::CURSOR_DOWN , ModifierFlag::OPTION_L
</autogen>
<autogen>
__KeyToKey__
KeyCode::K , ModifierFlag::OPTION_L ,
KeyCode::CURSOR_UP , ModifierFlag::OPTION_L
</autogen>
<autogen>
__KeyToKey__
KeyCode::L , ModifierFlag::OPTION_L ,
KeyCode::CURSOR_RIGHT , ModifierFlag::OPTION_L
</autogen>
</item>
<item>
<name>使用option来修饰逗号和句号切换标签页</name>
<identifier>private.change_tab</identifier>
<autogen>
__KeyToKey__
KeyCode::COMMA , ModifierFlag::OPTION_L,
KeyCode::TAB , ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L
</autogen>
<autogen>
__KeyToKey__
KeyCode::DOT , ModifierFlag::OPTION_L,
KeyCode::TAB , ModifierFlag::CONTROL_L
</autogen>
</item>
<item>
<name>使用fn来修饰hjkl在行首、行尾、页首、页尾间移动</name>
<identifier>private.moving_between_start_and_end</identifier>
<autogen>
__KeyToKey__
KeyCode::H , ModifierFlag::FN ,
KeyCode::CURSOR_LEFT , ModifierFlag::COMMAND_L
</autogen>
<autogen>
__KeyToKey__
KeyCode::J , ModifierFlag::FN ,
KeyCode::CURSOR_DOWN , ModifierFlag::COMMAND_L
</autogen>
<autogen>
__KeyToKey__
KeyCode::K , ModifierFlag::FN ,
KeyCode::CURSOR_UP , ModifierFlag::COMMAND_L
</autogen>
<autogen>
__KeyToKey__
KeyCode::L , ModifierFlag::FN ,
KeyCode::CURSOR_RIGHT , ModifierFlag::COMMAND_L
</autogen>
</item>
<item>
<name>使用fn来修饰逗号和句号切换程序</name>
<identifier>private.switching_program</identifier>
<autogen>
__KeyToKey__
KeyCode::COMMA , ModifierFlag::FN ,
KeyCode::TAB , ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L
</autogen>
<autogen>
__KeyToKey__
KeyCode::DOT , ModifierFlag::FN ,
KeyCode::TAB , ModifierFlag::COMMAND_L
</autogen>
</item>
,
<item>
<name>command+enter或\,跳出当前行,新建下一行或上一行</name>
<identifier>private.command_enter</identifier>
<autogen>
__KeyToKey__
KeyCode::RETURN ,ModifierFlag::COMMAND_L ,
KeyCode::CURSOR_RIGHT,ModifierFlag::COMMAND_L ,
KeyCode::RETURN
</autogen>
<autogen>
__KeyToKey__
KeyCode::BACKSLASH , ModifierFlag::COMMAND_L ,
KeyCode::CURSOR_UP,
KeyCode::CURSOR_RIGHT,ModifierFlag::COMMAND_L ,
KeyCode::RETURN
</autogen>
</item>
</root>
