Karabiner Elements 鍵位定製神器
Karabiner 是一款 macOS 平台修改鍵位映射的開源程序。
Karabiner
Karabiner 是一款 macOS 平台修改鍵位映射的開源程序,有任何需要更改鍵位默認行為的需求都可以嘗試用 Karabiner 做相應的映射,開源且免費。
Karabiner Elements
在 macOS 更新到 Sierra 版本後原來的 Karabiner 版本失效了,於是作者起了一個新的項目 Karabiner Elements,簡易的實現了原版本的核心功能,讓 macOS Sierra 以上的用戶在原 Karabiner 新版開發完成之前先湊合用上。
主要功能
- 普通鍵位映射:將鍵盤上的某個鍵位映射為任意指定的其他鍵位。
- 功能鍵位映射:將鍵盤上的功能鍵(Fn)映射為任意指定的其他鍵位。
- 可以同時對連接到 Mac 的多個鍵盤設備生效。
- 可以選擇僅對特定鍵盤設備生效。
- 支持虛擬鍵盤(ANSI, ISO, JIS)等。
- 支持多套偏好設置,可根據場景切換使用。
安裝
除了官方 Github 上提供的版本外,建議安裝 這個 PR 里的分支版本,提供了多個鍵位映射到一個鍵位的功能,目前還沒有被合併到官方主分支。
下載:https://github.com/wwwjfy/Karabiner-Elements/releases
安裝完成後打開 Karabiner Elements,主界面如下:
應用
鍵位映射
在 Mac 上使用外接鍵盤一般都會遇到部分鍵位和 Mac 鍵盤布局不匹配的問題,系統本身提供了對於功能鍵的映射功能,但如果你的鍵盤有 App、Fn 等特殊按鍵,系統自帶的配置功能就搞不定了。
而在 Karabiner 里提供的選擇非常多,基本可以覆蓋絕大多數外接鍵盤可能用的鍵位。
簡單配置 From Key 和 To Key 即可完成一條鍵位映射的配置:
比如上圖就是把 App 鍵映射到 右 Command 鍵。
需要注意的是 Karabiner 的配置會覆蓋 macOS 自身的鍵盤配置,如果之前用默認的設置修改過修飾鍵等映射,使用 Karabiner 後都需要在 Karabiner 里配置一套相同的設置。
多套配置
在界面上的 Profiles 標籤內,可以添加、刪除和選中某個配置,select 選中某個配置之後,所有對鍵位的更改都會保存在當前 select 的這套配置內,比如可以根據使用的鍵盤不同維護多套配置,以便在使用不同輸入設備時切換。
另外,Karabiner 的所有配置都以 JSON 格式文件保存在:
~/.config/karabiner/karabiner.json
目錄,如果在網上看到別人給出的配置需要編輯 karabiner.json 文件加到其中,如果需要備份配置則可以直接備份這個目錄。
Karabiner Elements 目前並不支持一個鍵位映射只對某一個鍵盤設備生效,所以使用不同的鍵盤設備需要手動切換配置來啟用。這裡有 一個 PR 提供了單個映射只對指定設備生效的支持,目前還沒有被合併到 master,可以關注一下。
Hyper Key
所謂的 Hyper Key 就是將 左 Control + 左 Option + 左 Command + 左 Shift 這四個鍵的組合鍵映射到某一個鍵上,一般映射到對大多數人都不太常用的 CapsLock(大小寫鎖定鍵)上,按下 CapsLock鍵就相當於按下了以上 4 個鍵的組合鍵,這樣一來可以使用 CapsLock + 任意鍵 組合出一整套新的快捷鍵,而且幾乎不會和所有第三方 App 或系統快捷鍵衝突,可以說是拯救了 Mac 上十分不夠用的快捷鍵配置。
如果安裝了上述非官方分支的版本,可以按以下步驟來設置 Hyper Key:
- 用任意文本編輯器打開 ~/.config/karabiner/ 文件。
- 將下面的代碼複製粘貼到紅框中的位置。
- 保存文件。
代碼:
"one_to_many_mappings": { "caps_lock": [ "left_control", "left_shift", "left_option", "left_command" ] },
複製到下圖紅框中的位置:
這段配置即可把 左 Control + 左 Shift + 左 Option + 左 Command 映射到 CapsLock 鍵上。
可以看到 Karabiner 所有的配置描述都並列的寫在了 profiles 這個 key 裡面。
添加配置描述的時候需要看清楚當前添加的是哪套配置文件,比如上面例子里添加的配置就屬於 PCKeyboard 這套配置文件。
有了 HyperKey 再配合上 Keyboard Maestro 這樣的工作流效率工具,基本上就是圖形界面版的 AHK(AutoHotKey)。
Alfred Workflow
很多時候都可能需要維護不止一套配置,比如在辦公室或家裡會用外接鍵盤,帶著筆記本出門一般只會用 Mac 自帶的鍵盤,而 Karabiner 默認是通過點擊菜單欄圖標來切換配置:
不僅需要滑鼠精確操作而且常駐一個除此之外並沒有太多卵用的菜單欄圖標,這裡提供一個快速切換配置的 AlfredWorkflow:
https://github.com/Newt0n/newt0n.github.io/raw/master/2017/06/24/karabiner-elements/Karabiner%20Elements%20Profile.alfredworkflow
默認關鍵詞 kep,選擇配置名稱完成切換,全鍵盤操作:
工具
Karabiner EventViewer
Karabiner 提供了查看每個鍵位代碼名稱的工具 Karabiner-EventViewer,打開該工具,隨後的所有按鍵操作都會在界面上顯示明細,如果有不清楚名稱的按鍵,查看界面中 name 一欄,配置映射時選擇對應名稱的鍵位即可。
對我而言 Karabiner 最主要的用途就是用配置的 HyperKey 配合 Keyboard Maestro 來實現各種定製化快捷操作,相比以前在 Win 上用 AHK,給我的感覺是功能和靈活性不輸,圖形界面則更佳方便易用,有空會再分享一篇 Keyboard Maestro 的使用場景。
參考
- https://github.com/tekezo/Karabiner-Elements/
- https://github.com/wwwjfy/Karabiner-Elements/
- https://github.com/tekezo/Karabiner-Elements/pull/752
- https://github.com/tekezo/Karabiner-Elements/pull/247
原文地址
推薦閱讀:
※第一代 Mac 電腦是在怎樣的情況下開發出來的?
※你可能不知道的 Mac 技巧 - 文本操作
※這些Mac神器也許你正需要
※如何評價 OS X Yosemite 跟 iOS 7 一致的全新的外觀設計?
※修改MacOS的mac地址