這次更新的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 相差無幾?