### 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
```