⌨️ 猶如城市的燈火
鍵盤內的燈光效果如同城市裡縱橫交錯的路燈,道路早已鋪好,電線也早已接通,但夜晚來臨時,所有街燈卻固定按照工廠預設的次序點亮,沒有節奏,直到我請 AI 照我的需求編寫了 QMK 韌體 (Quantum Mechanical Keyboard) 刷入鍵盤,那一刻,每顆按鍵下的 LED燈都照著我想要的節奏亮起舞,猶如城市的燈火閃爍。
我讓 Enter鍵和 Esc 鍵可以像水波一樣向外擴散,開啟大寫按鍵 CapsLock 的提示燈不再侷限於一個小亮光,而是全部開啟,照亮整支鍵盤。
這篇文章記錄的是我如何把 Keychron K Max 系列鍵盤的燈光完全交給 QMK 控制,並寫出符合自己需求的燈光邏輯,這過程其實不難,但有幾個關鍵點可能會踩坑,如果沒避開,很容易卡住。
📟 CapsLock 鍵是遺跡
使用鍵盤打字時,很好奇為什麼鍵盤左邊會有一顆 Caps Lock?這是一個使用率不高卻又佔據著鍵盤好位置的按鍵,它在那裡常常讓人不小心按到而開啟字母大寫的功能,這在輸入密碼時容易誤觸而未察覺,很不方便。
原來,這是打字機時代留下來的遺跡,早期打字機要換大寫時,並沒有像現在這樣方便,輕輕一按 Shift 鍵 + 字母即可暫時輸出大寫字母,直到放開為止,所以,需要一個鎖定大寫的功能,於是出現了 Caps Lock 鍵,按下它時,所有字母都會變成大寫,不過,在現代電腦世界很少需要長時間輸入大寫,也頗常誤按 CapsLock,那麼,該拿這顆鍵怎麼辦呢?
把 CapsLock 改成 Esc;
原 CapsLock 移至 FN 層
因為在 Linux 作業系統和 終端機 裡,很常需要用到 Esc 鍵,使用文字編輯器 vim 寫腳本時也很常用到 Esc, 反而很少使用 CapsLock ,所以,把 CapsLock 改成 Esc 的好處是不會誤觸 CapsLock,在 保護手腕 上,讓 Esc 變得更好按、手指移動距離更短。
透過 VIA 改鍵
原來的 CapsLock 則移到 FN 層,也就是按下組合鍵Fn鍵 + CapsLock = 開啟字母大寫。
鍵位配置可以透過鍵盤
官網
Keychorn Laucher 的 VIA 修改 (VIA configurator 重新對應鍵盤配置),或者像我在該網頁上匯入寫好的鍵位腳本 Keymap-K3 Max White-6-18-12.json。總之,透過 VIA 改鍵的好處是 keymap 存在鍵盤 EEPROM,往後更新韌體也不會消失。
🖥️ 自由軟體 QMK
修改燈光的邏輯則透過 QMK 來操作。
QMK 是 Quantum Mechanical Keyboard 的縮寫,是一個完全開源的鍵盤韌體,開源(Open Source)是開放源始碼的意思,也是 自由軟體 在做的事,這讓任何人都可以查看程式碼、修改、編譯、分享自己的程式,讓各種功能配合著燈光閃爍,可以當作提示,非常實用。簡言之,QMK 就像鍵盤世界的 Linux 高度自由,可以隨您的需要客製化專屬的鍵盤。
💡 燈光設計
這次設計三個按鍵的燈光效果,不論在何種燈光模式按下:
💯 FN + Caps Lock
整個鍵盤會恆亮且亮度中等,藉此提醒目前是大寫模式。
💯 Enter
按 Enter 觸發 白色燈光 / RGB是淡綠色波浪紋,燈光從 Enter 鍵向整個鍵盤擴散,像湖泊水花濺出。
💯 Esc
按 Esc 觸發 白色燈光 / RGB是紅色波浪紋,燈光從 Esc 鍵向右下擴散,像雨水落入湖面。
📄 自動化腳本
整個流程其實可以通用且自動化,只要您有 Keychron K MAX 系列的鍵盤,不論是何種燈光皆適用。
我請 AI 寫了一支腳本 keychron_kmax_qmk.sh 功能包括:
- 自動偵測鍵盤型號(適用於 K MAX 系列)
- 自選鍵盤為 RGB 或 白光
- 生成燈光程式
- 編譯
- 手動 DFU 後刷入 QMK
腳本完整內容放在 Github 的 repo
在腳本所在的目錄開啟終端機輸入檔名即完成了,真的很好用:
./keychron_kmax_qmk.sh
🔌 進入 DFU 模式
鍵盤刷入 QMK firmware (韌體。想成是硬體和軟體中間的那一層中介角色) 之前需要進入 DFU (Device Firmware Update),步驟如下:
- 拔掉鍵盤 USB
- 按住 Esc鍵約3秒
- 插回 USB
- 持續按住約 3 秒
- 放開 Esc鍵
然後在終端機輸入指令確認:
lsusb | grep df11
如果看到 0483:df11 代表鍵盤已進入 DFU。
💾 刷入韌體
進入 DFU後,刷入指令如下:
sudo dfu-util \
-a 0 \
-d 0483:df11 \
-s 0x08000000:leave \
-D firmware.bin
成功刷入後,鍵盤重新啟動就完成了!
💡 光的軌跡
每一次按鍵,都會在這親手打造的城市裡留下光的軌跡,而這一切之所以可能,是因為 QMK 是開源的,沒有專有軟體設計好的按鈕,讓人只能照著規定好的設計走,因此,QMK 帶來獨一無二的城市設計圖不屬於某家公司,乃是屬於所有願意動手的人。
✏️ 後記:
可能的坑
在寫腳本時發現燈光程式寫好了,但完全沒有反應,一問之下得知 Keychron K Max 系列的鍵盤預設 LED Matrix LED1 是關閉的,也就是是少了一行:
LED_MATRIX_ENABLE = yes
如果沒有這行,QMK 的燈光引擎根本沒有啟動,所以程式存在但永遠不會執行,這是最常見的坑。
寫入 LED_MATRIX
LED_MATRIX_ENABLE = yes 這條指令要寫在 keymap 目錄建立的 rules.mk,我的路徑是 ~/qmk_firmware/keyboards/keychron/k3_max/ansi/white/keymaps/bengju_a/rules.mk
用文字編輯器 vim 確認並寫入以下指令:
VIA_ENABLE = yes
LED_MATRIX_ENABLE = yes
LED_MATRIX_CUSTOM_USER = yes
這三行是整個燈光系統的開關。
-
註譯:LED Matrix LED 矩陣控制系統,它知道每顆 LED 的位置、亮度和顏色並負責動畫。 ↩︎
上次修改於 2026-03-13