用了 PreonicPlanck 好幾年後,我最近買了 Geonix rev.2 這把 40% 正交鍵盤 (鍵帽使用 NuPhy Shine-through White for Air60 V2) 方便隨身攜帶用。

geonix-rev2.jpg

這篇就來記錄一下我目前穩定使用的配置吧,包含四層設計的思路,還有實際的鍵位安排。

為什麼是 40% 正交鍵盤

從標準鍵盤轉到正交排列,最直接的好處就是手指移動更直覺。傳統 row-stagger 鍵盤那種錯位設計其實是打字機時代的遺留,對現代打字沒什麼實質幫助,反而還逼著左手手指斜斜地移動。正交排列讓每根手指都在垂直的軌道上跑,肌肉記憶實在是好建立多了。

40% 鍵盤(60 鍵)乍看之下頗極端,不過透過分層設計,所有按鍵都能在手指不離開 home row 太遠的情況下觸及。少了數字行跟功能鍵行,雙手的移動範圍大幅縮小,長時間打字反而更輕鬆喔。

配置總覽

我的配置採用四層設計(完整配置檔可在此下載:geonix_rev_2.layout.json):

  • Layer 0:基礎層,QWERTY 搭配 Home Row Mods
  • Layer 1:符號層,透過左手拇指啟動
  • Layer 2:數字與功能鍵層,透過右手拇指啟動
  • Layer 3:系統層,RGB 控制與其他功能

Layer 0:基礎層

以下圖表中,A/Ctl 代表「短按是 A,長按是 Ctrl」,這就是 Home Row Mods 的核心概念。

- T E / L a s S 3 b c f t A / C Q C Z t t l l S / A W A X l l t t D / G E G C u u i i F / L R S V 1 f t T G B S Y H N p c J / L U S M 2 f t K / I G , u i L / O A l t ; / P C t l ' B E / s n S p t f t

Home Row Mods

基礎層最核心的設計是 Home Row Mods:把 Ctrl、Alt、Gui(Command/Win)、Shift 四個修飾鍵放在 home row 的位置。按住時是修飾鍵,輕點則輸出原本的字母。

左手:

  • A = Ctrl(按住)/ a(輕點)
  • S = Alt(按住)/ s(輕點)
  • D = Gui(按住)/ d(輕點)
  • F = Shift(按住)/ f(輕點)

右手採對稱配置,不過有個小細節:我用了 MOD_LSFT | MOD_RSFT 這樣的雙邊修飾鍵設定。這讓同手組合鍵(例如右手按 J + K 輸出 Shift+Gui)更容易觸發,不會因為 timing 問題就被誤判成連續輕點。

其他設計選擇

  • 方向鍵保留在基礎層:很多 40% 配置會把方向鍵丟到其他層,但我發現導航的時候常常得快速切換,放在右下角這個位置,右手小指跟無名指自然就摸得到。

  • -' 是 Shift-Tap:這兩個符號用得頻繁,放在角落當 Shift-Tap 鍵,既保留了符號本身,又順便多了兩個 Shift 鍵可用,一舉兩得。

  • Esc 在 Caps Lock 位置:經典的 Vim 使用者配置,這個就不用多說了吧。

Layer 1:符號層

透過左手拇指按住 MO(1) 進入:

S E h ~ s i c f t ! @ # $ % [ ] & = H o m e P g { D n P g } U p S D h E e i n l f d t

符號層的設計邏輯:

  • 頂排是 Shifted 數字!@#$%^&*() 維持跟標準鍵盤一樣的位置對應,學習成本幾乎是零。
  • 括號集中在右手(), [], {} 三組括號都擺在右手區域,寫程式的時候實在是順手。
  • 巨集:寫程式常用的箭頭符號 (->),一鍵就輸出。
  • 導航鍵:方向鍵的位置變成 Home, PgDn, PgUp, End,拿來快速跳轉。

Layer 2:數字與功能鍵層

透過右手拇指按住 MO(2) 進入:

S E h ` s i c f t F F 1 1 7 F F 2 2 8 F F 3 3 9 F F 4 4 1 0 F F 5 5 1 1 F F 6 6 1 2 7 H M o u 8 m t e e V E o 9 [ n l d - V o 0 ] l + P P P D g g l e U D a l p n y

這一層的設計重點:

  • 數字在頂排:維持標準鍵盤的數字位置,直覺又好記。
  • F1-F12 在 home row 和下排:通通擺在左手區域,跟數字分開。
  • 媒體控制在右下角:靜音、音量、播放暫停,用右手小指那一帶操作就好。
  • 額外的方向鍵和導航, 放在 J, K 位置(沒錯,又是 Vim 風格),搭配 Home, End, PgUp, PgDn。

Layer 3:系統層

透過左下角的 MO(3) 進入:

C 4 C 1 C 2 C 3 C 0 R G B M C 9 R S G P B D + - R C G 5 B - S P D + C 8

系統層主要用於 RGB 控制:

  • RGB M:切換 RGB 模式
  • RGB+ / RGB-:調整亮度
  • SPD+ / SPD-:調整動畫速度
  • C0 - C9:自定義功能(大概是 RGB 預設或其他 custom keycode 吧,老實說我自己也不太常碰…)

使用心得

這套配置我已經用了好幾年,從 Preonic 到 Planck 再到 Geonix rev.2,核心邏輯基本上沒什麼大改,頂多是隨著不同鍵盤的物理配置做點微調而已。

分享幾個心得:

  1. Home Row Mods 需要調整 timing:預設的 tapping term(按鍵判定時間)通常太短,很容易誤觸發。我把它調到比較長的數值之後才穩定下來,這個真的得自己慢慢試。

  2. 分層設計要符合使用情境:左手拇指給符號層(寫程式時左手常按 modifier),右手拇指給數字層(打數字時右手主導),我想這樣的分配比較貼近我自己的使用習慣啦。

  3. 不要一次改太多:剛開始調配置的時候,很容易就想一次到位,但肌肉記憶這種東西是需要時間養的。每次只動一兩個地方,適應了再繼續,反而比較快。

  4. 40% 的限制反而是優點:它逼著你去思考每個按鍵到底多常用,最後得到的配置,我覺得比全尺寸鍵盤還要有效率。

當然,這些都是我個人的偏好,我不建議你盲目照抄。如果你也正在考慮入坑小型鍵盤或正交配置,希望這篇能給你一點參考囉 :-)