这次更新的Sierra并不支持Karabiner和Seil而导致Hyper Key无法正常工作。现在在这里就为您介绍Hyper Key在macOS Sierra上失效的临时解决方案。利用Karabiner-Elements和Keyboard Maestro实现了与Hyper Key同样的应用效果,所以就在这和大家分享一下这个小窍门的具体细节。一起来了解一下Hyper Key在macOS Sierra上失效的临时解决方案吧。
由于当前版本的 Karabiner 还不支持 macOS Sierra,所以开发者加急赶制了一个名为 Karabiner-Elements 的程序包,可以帮助用户提供简单的改建功能,需要自己建立一个 .json 文件才行。目前 Karabiner-Elements 还在不断完善,等做完之后,全功能的 Karabiner for Sierra 才能开发,看来正式版的 Karabiner 还有很长的一段时间才能与我们见面啊。
下载 Karabiner-Elements
临时的解决方案设计原理就是利用 Karabiner-Elements 先把 Caps Lock 转为一个虚拟的按键(就像 Hyper Key 里的 F18 和 F19),然后再到 Keyboard Maestro 建立 marco,通过 Hot Key Trigger 和 KM 特有的 shortcut key 实现与 Hyper Key 一样的工作效果。来看具体步骤:
设置 karabiner.json 文件
安装 Karabiner-Elements 后我们需要在 Finder 里打开目录:“~/.karabiner.d/configuration/” 在里面新建一个 karabiner.json,然后加入以下内容:
{ “profiles”: [ { “name”: “Default profile”, “selected”: true, “simple_modifications”: { “caps_lock”: “f18” } } ] }
保存后重新启动 Karabiner-Elements,此时你的 Caps Lock 又变为一个不存在的 F18 了。
接着启动 Keyboard Maestro,新建一个 Hyper Key Group,然后针对你的需求建立多个 macros,在 trigger 上选择 This hot key,然后按下(is pressed)Caps Lock 键,此时 F18 显示在输入框内;然后在 following action 里选择 activate last application,选择你需要激活的应用程序,最后在 macro 名称内以 [X]: [MacroName] 的格式命名,这是 Keyboard Maestro 的特殊命名方式,比如你输入:“0:safari” 后,每次按下 F18,紧接着按下 0 这个数字键,safari 浏览器就会自动启动。
同样道理,以此类推,你可以在一个 group 里建立多个 marco,逐一对各个键进行映射,然后每次按下 F18 就会弹出一个 Conflict Palette,不过目前这个小伎俩还无法涉及到 Tab 与 Delete 这个两个键。
以下就是一个 F18 的 Conflict Palette,看上去是不是和 Hyper Key 相差无几?