Kanata

Posted by Adam on August 24, 2022
### kanata 配置結構 (Tree View) * **Defcfg**: 基本配置(處理作業系統相容性) * **Defsrc**: 原始鍵位定義(映射基準) * **Defalias**: 核心邏輯定義(含 `tap-hold` 與 `layer-toggle`) * **Deflayer**: * `default`: 平時打字狀態 * `numpad`: 啟動後的數字層級 ### kanata 配置實作 (Clean Code) ```lisp (defcfg ;; 處理 Linux 環境下的輸入裝置 process-unmapped-keys yes ) (defsrc ;; 定義我們會用到的原始鍵位 caps a s d f j k l ; m , . / ) (defalias ;; 將 CapsLock 映射為 Esc (Tap) 與 數字層切換 (Hold) ;; 符合 Vim 使用者將 CapsLock 視為核心功能鍵的習慣 num (tap-hold 200 200 esc (layer-toggle numpad)) ;; 也可以定義主鍵位持久化切換,按住 f 切換到數字層(可選) ;; f_num (tap-hold 200 200 f (layer-toggle numpad)) ) (deflayer default ;; 預設層級:將 CapsLock 替換為我們定義的別名 @num @num a s d f j k l ; m , . / ) (deflayer numpad ;; 數字層級配置:將右手 JKL 區塊轉化為 3x3 數字鍵盤 ;; 符合資料庫維運時頻繁輸入 ID 或 Port 的直覺 _ _ _ _ _ 4 5 6 _ 1 2 3 0 ;; 映射邏輯如下: ;; U I O -> 7 8 9 (未在 src 定義則依序類推) ;; J K L -> 4 5 6 ;; M , . -> 1 2 3 ;; / -> 0 ) ``` ### 執行與維護 (Linux Service) ```bash # 執行 sudo kanata --cfg ~/.config/kanata/kanata.kbd ```