具体操作
我们需要在取消 CAPS LOCK 键的原有功能,可通过系统设置面板完成。
然后我们打开 Seil,将 CAPS LOCK 键映射成 F19 键(也就是将下图为10的地方双击改为80),因为 Karabiner 有多套针对 F19 而设计的组合方案。
关闭 Seil ,打开 Karabiner ,在默认情况下,已经提供了很多种映射设置方案,看上去眼花缭乱,不过一般根据自己的需求只要挑选几个就行,生效的方案可以通过点击 Show enabled only 查看。强大的自定义功能可以让我们做更多定制的功能,使用起来很简单,只要按照自己的需求编写 Private.xml 即可,关于这个文件的说明可以参考官方的文档。下面是我自己的配置,为了勾选、升级覆盖方便我把很多内置方案都放在 Private.xml 中了。如不嫌弃,可以参考:
<?xml version="1.0"?> <root> <item> <name>F19 to F19</name> <appendix>(F19 to Hyper (ctrl+shift+cmd+opt) + F19 Only, F19)</appendix> <identifier>private.f192f19</identifier> <autogen> --KeyOverlaidModifier-- KeyCode::F19, KeyCode::COMMAND_L, ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L, KeyCode::ESCAPE </autogen> </item> <item> <name>Hyper+space To Enter</name> <appendix>Hyper(cmd+ctrl+shift+opt)+space, send enter</appendix> <identifier>private.hyperspace2enter</identifier> <autogen> --KeyToKey-- KeyCode::SPACE, ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L, KeyCode::ENTER </autogen> </item> <item> <name>Hyper+Tab To Capslock</name> <appendix>Hyper(cmd+ctrl+shift+opt)+tab, send capslock</appendix> <identifier>private.hypertab2capslock</identifier> <autogen> --KeyToKey-- KeyCode::TAB, ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L, KeyCode::CAPSLOCK </autogen> </item> <item> <name>Command_r To hyper+;</name> <appendix>Command right, send hyper+;</appendix> <identifier>private.command-r2hyper-semicolon</identifier> <autogen> --KeyToKey-- KeyCode::COMMAND_R, KeyCode::SEMICOLON, ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L </autogen> </item> <item> <name>Disable Sysdiagnose Dot Key</name> <appendix>Disable Sysdiagnose Key</appendix> <identifier>private.disable_sysdiagnosedot</identifier> <autogen> --KeyToKey-- KeyCode::DOT, ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L, KeyCode::VK_NONE </autogen> </item> <item> <name>Disable Sysdiagnose Comma Key</name> <appendix>Disable Sysdiagnose Key</appendix> <identifier>private.disable_sysdiagnosecomma</identifier> <autogen> --KeyToKey-- KeyCode::COMMA, ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L, KeyCode::VK_NONE </autogen> </item> <item> <name>Disable Sysdiagnose Foward Slash Key</name> <appendix>Disable Sysdiagnose Key</appendix> <identifier>private.disable_sysdiagnose_forward_slash</identifier> <autogen> --KeyToKey-- KeyCode::SLASH, ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L, KeyCode::VK_NONE </autogen> </item> </root>