fbpx

QMK 的目錄結構:config.h、Keymap.c 與 rules.mk 鍵盤設定檔

QMK 韌體是開放原始碼的韌體,已經支援許多鍵盤,了解一下目錄的結構您就知道如何自訂鍵盤配置。

下載 QMK

從 QMK firmware 下載

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


Show CommentsClose Comments

Leave a comment