如何用好 Mac 上最好的改鍵工具 Karabiner
編者注:本文作者以 Poker 鍵盤為例,介紹了他如何通過 Karabiner 這款軟體來達到自定義鍵位的目的,以此來提高鍵盤使用的效率。不過,Karabiner 並不僅僅適用於 Poker 鍵盤,它適用於幾乎所有內建和外接的鍵盤,如果你也有類似的需求,也可以試試用作者介紹的方法來改造你自己的鍵盤。
Poker 鍵盤以其小巧、精緻、可程式設計深受廣大使用者的喜愛,更關鍵的是,它顏值還很高。時常作為 Mac 的外接鍵盤日常使用。

然而往往小巧與極客的事物便意味著會有一些操作方式讓使用者不夠習慣,因而會產生一些痛點,比如沒有直接的方向鍵等等。
網上有一些文章介紹了 Poker 底部開關的設定,以及 Mac 基本的幾個功能鍵修改功能,筆者進行過嘗試,然而其修改過於基礎,依然不夠好用。
本篇介紹了筆者使用 Mac 上的改鍵軟體 ofollow,noindex" target="_blank">Karabiner 對 Poker 鍵盤進行自定義化設定,從而優化其作為 Mac 外接鍵盤體驗的具體實施方案。
通過本文所舉的 case,掌握了 Karabiner 的使用方法之後,便可以對任意鍵盤進行任意程度的自定義設定了,可謂一通百通,解放你的手指,在 Mac 上馳騁,效率提升一個數量級。
功能鍵的調整
功能鍵一般要左手去按,Poker 左下角的功能鍵佈局如圖所示:

調整左 Ctrl 與左 Command
位於鍵盤最左下角的鍵按鍵方式是使用 左手掌外側 按下,這樣不需要移動扭曲小指或是移動手在鍵盤上的位置,可減少對手指的傷害,非常自然。
然而,Poker 最左下角的鍵是 Ctrl,而在 Mac 系統上,最常用的 儲存、複製、貼上 三個操作的按鍵卻是 ⌘Command + S \ C \ V
來實現的。
左 Command 鍵位於左 Ctrl 右邊,依然使用左手掌外側來按,但這就不那麼自然了,需要左手下部往右側稍稍移動一個鍵位來夠到。
根據頻次來講,在 Mac 上,使用 Ctrl + Key
組合鍵的常用操作不能說沒有,但遠比不上上述儲存、複製、貼上三兄弟,因此,果斷將二者調換位置。
將 Capslock 改為左 Option
筆者沒有使用 Capslock 的需求,大寫字母通過 ⇧Shift + A
這樣的方式來實現,完全可以將它替換為更常用的按鍵。
在 Mac 上,使用 Option 的頻次較多的操作主要有兩個,喚起 Alfred 用 ⌥Option + Space
的快捷鍵,以及在 Emacs 中執行函式用 ⌥Option + X
的快捷鍵。
而在 Poker 上左 Option 位於左 Command 的右側,左手掌移一個鍵已經夠難受了,移兩個鍵更是不可取,若使用大拇指去往裡勾,筆者認為和使用小指去勾 Ctrl 一樣,長久而言對手指有損傷,故果斷將 Capslock 改為左 Option,這樣對於上述所提到的兩個操作都方便與自然了許多,使用小指從 A 移到 Capslock 是很輕鬆的事。

進階設定
方向鍵的改進
Poker 並無自帶的方向鍵,然而就算自帶方向鍵,將右手抬起來去按這個操作還是蠻糟心的,況且還容易按錯。
Poker的原生方案是 Fn + W \ A \ S \ D
,這當然很極客了,然而這卻也是筆者使用 Karabiner 的直接原因。
問題在於這個操作需要兩個手,而通過自定義 Karabiner 的 Complex Modifications,可以將 Fn + W \ A \ S \ D
這種方案改為 ⌥Option + W \ A \ S \ D
,加上之前將 Capslock 改為了 Option,則僅使用左手便可以使用方向鍵。
Complex Modifications 是 Karabiner 的一個進階功能,通過 json 配置的方式,可以實現任意的鍵盤行為方式的自定義,絕對超出你的想象。
官方提供了 一些例子 ,比如將 Capslock 進行修改,當它與其他鍵一起使用時發揮 Ctrl 的功能,當它單獨被按下時,發揮 Esc 的功能。
這些例子中並沒有更改 Poker 方向鍵的 case,然而通過參考其例子的 json 配置方式,完全可以實現自己想要的任何行為。
其配置檔案在 ~/.config/karabiner/assets/complex_modifications
目錄,新建 guerbai-keymap.json
檔案,內容如下:
{ "title": "poker arrow keys", "rules": [ { "description": "holing left alt and asdw use arrow keys.", "manipulators": [ { "type": "basic", "from": { "key_code": "a", "modifiers": { "mandatory": ["left_Option"] }, "Optional": ["any"] }, "to": [ { "key_code": "left_arrow" } ] } ] }
以上只舉了將 ⌥Option + A
改為左方向鍵的配置,配置的 key 是自解釋的,即當 A 被按下時,若此時 Option 也是被按下的,則實現 left_arrow
的行為,很易懂就不再多解釋,同樣的格式在 rules 裡來四份分別對應 W \ A \ S \ D
到四個方向鍵即可。
Backspace 與 Enter
在使用 Evernote 等軟體編輯文字或瀏覽網頁時,通常是右手握滑鼠,左手在鍵盤,這個過程中通常會遇到要按 Backspace 或 Enter 的情況,這時便不得不將右手從滑鼠拿開,去按退格或回車,再放回到滑鼠上,極其不爽。
在上述姿勢下,自然可以想到若是左手可以直接按到 Backspace 與 Enter 的話便會方便許多。
這裡的配置與方向鍵的改進很像,筆者採取的策略是,當 Option(已被改到 Capslock)被單獨按下時,呈現出 Backspace 的作用,而 Command(已被改為左 Ctrl)+ Space
則呈現為 Enter。配置如下:
{ "title": "poker arrow keys", "rules": [ { "type": "basic", "from": { "key_code": "spacebar", "modifiers": { "mandatory": ["left_Command"] }, "Optional": ["any"] }, "to": [ { "key_code": "return_or_Enter" } ] }, { "type": "basic", "from": { "key_code": "left_Option", "modifiers": { "Optional": ["any"] } }, "to": [ { "key_code": "left_Option" } ], "to_if_alone": [ { "key_code": "delete_or_Backspace" } ] } ] }
左右切換全屏程式
Mac 觸控板的四指橫掃是切換全屏程式的利器,而外接鍵盤卻並不那麼方便。 ⌘Command + Tab
自然是一種方案,然而卻不夠精確,同時要反向切 ⌘Command + ⇧Shift + Tab
是極難按的,筆者通常更喜歡使用 ⌘Command + 方向鍵
來進行切換。
在未改造方向鍵時,這個操作在Poker上簡直麻煩,需要左手掌外側壓住 Command,右手掌外側壓住 Fn,左手指按 A 或 D,然而上述改方向鍵的方案並不能直接與 Command 配合來進行切換,因為它僅指定了 mandatory 為 Command,還需要進一步改造。
筆者的設計是將這個操作改為左手一隻手可以進行,使用 ⌘Command + ⌥Option + A \ D
來進行切換,這樣比如在網頁上看到一段話,可以右手用滑鼠進行復制,左手切到旁邊的 Evernote,右手滑鼠點選選擇筆記,左手貼上,不需要做任何大幅度的移動。
在上述 Karabiner 配置資料夾下再建一個檔案命名為 guerbai-change-application.json
,內容輸入:
{ "title": "change application", "rules": [ { "description": "change application use poker", "manipulators": [ { "type": "basic", "from": { "key_code": "a", "modifiers": { "mandatory": [ "left_Option", "left_Command" ] }, "Optional": [ "any" ] }, "to": [ { "key_code": "left_arrow", "modifiers": [ "left_Command" ] } ] } ] } ] }
可以注意到將 mandatory 改為 Option 和 Command,這樣就可以僅使用左手方便地切換程式了。
設定介面如下圖:

最後
相信經過上述示例,已經可以體會到 Karabiner 的強大了,通過簡單而又強大的 json 配置,來實現任意鍵盤上任意自己想要的行為,簡直不要太爽。
這裡 是上述配置的完整版,放到配置資料夾下後,使用 Complex Modifications 的 「Add rule」 新增檔案使其生效即可。
> 想要了解更多提升 Mac 使用幸福感的小工具,閱讀少數派專題 :wrench:
> 下載少數派客戶端、關注少數派公眾號 ,瞭解更多有趣的應用 :rocket: