QMK 韌體是開放原始碼的韌體,已經支援許多鍵盤,了解一下目錄的結構您就知道如何自訂鍵盤配置。
下載 QMK
從 QMK Configurator 下載
QMK 的目錄架構
下載 QMK 解壓縮後,進入目錄後,就是主目錄,我們介紹兩個主要常用的目錄:
./qmk_firmware +-- util/ +-- keyboards/ +-- ......
QMK 工具集 (util/)
util 目錄底下是 QMK 所提供的工具集,您可以透過這些工具來協助您管理或安裝,以下是一些常用範例:
安裝 QMK
# util/qmk_install.sh
建立新鍵盤的韌體檔
# util/new_keyboard.sh
建立鍵盤的新設定檔 (config.h 與 rules.mk)
# util/new_keyboard.sh crkbd/rev1 example2
例如你要自訂 Corne/Crkbd 的新鍵盤配置圖,輸入上方指令之後系統會自動幫你建立新的 keymap,您就可以開始自訂配置。
QMK 鍵盤設定檔 (keyboards/)
在 QMK 的 keyboards 目錄底下會列出所有支援的鍵盤,某些鍵盤會以別名的方式存在,譬如 Corne/crkbd 的目錄是 crkbd/,進入 crkbd 後會看到此鍵盤的版本,crkbd 只有 rev1:
{15:49}:@~/qmk_firmware/keyboards/crkbd]$ ls
config.h crkbd.h i2c.h keymaps readme.md rules.mk serial.h ssd1306.h
crkbd.c i2c.c info.json lib rev1 serial.c ssd1306.c
目錄中會有 keymaps 的資料夾,就是每一個自訂的設定檔。預設有 default 資料夾,就是若您在編譯 QMK 時若沒有指定 keymap 就會預設使用 default 資料夾內的設定。
每一個資料夾就是一份設定檔,資料夾內會有 config.h、rules.mk 與 keymap.c 三個檔案。
config.h 的主要設定有:
#define MASTER_LEFT #設定左手或右手為主鍵盤
// #define MASTER_RIGHT
rules.mk 的主要設定有:
AUTO_SHIFT_ENABLE = yes #啟用 AutoShift
BACKLIGHT_ENABLE = yes #啟用按鍵背光
RGBLIGHT_ENABLE = yes #啟用底光
COMBO_ENABLE = yes #啟用組合鍵
AUDIO_ENABLE = yes #啟用音效
ENCODER_ENABLE = yes #啟用旋鈕
KEY_LOCK_ENABLE = yes #鎖住按鈕 (持續長壓)
MOUSEKEY_ENABLE = yes #啟用滑鼠
keymap.c
keymap.c 就是你自訂的鍵盤配置,您可以直接修改。
範例
進入 QMK firmware 的主目錄後,建立 crkbd 的新配置檔,命名為 example3:
# util/new_keymaps crkbd/rev1 example3
會在 keyboards/crkbd/keymaps/ 看到新建立的目錄 example3。
修改 example3 底下的 config.h 與 rules.mk 檔。
修改 example3/keymap.c 檔來自訂鍵盤配置。若是從 qmk configurator 下載的 keymap.c,可以直接覆蓋即可。
注意!QMK firmware 的 keymap.c 與 QMK Configurator 下載的 keymap.c 不能混用。
編譯與燒錄
# make crkbd:example3:avrdude