QMK固件开发环境完整搭建指南
【免费下载链接】qmk_firmwareOpen-source keyboard firmware for Atmel AVR and Arm USB families项目地址: https://gitcode.com/GitHub_Trending/qm/qmk_firmware
QMK固件是面向 Atmel AVR 和 Arm USB 芯片族的开源键盘固件,让你把机械键盘的每个键位、分层、宏都改成自己想要的样子。这篇指南带你走通四步:装好 QMK CLI、初始化编译环境、编出第一个固件 .hex 文件,中间卡住的坑也一并给了解法。
开始之前,先搞清楚三件事
- 一句话定位:QMK固件把键位映射(keymap)编译成 .hex 固件,刷进键盘上的微控制器(MCU,即键盘里跑程序的那颗芯片)。
- 最小准备清单:
- 一台可运行终端的电脑:Win10+/macOS/Linux
- 基础终端操作能力(cd、运行命令)
- 5GB 以上可用磁盘空间
- 一个能编辑纯文本的文本编辑器
- 稳定的网络(要下载工具链)
整体流程一张图:
上面这张图是 DIY 键盘的行列矩阵接线,QMK 固件驱动的就是这类硬件;理解"行×列"的矩阵概念,后面改键位会快很多。
一步步搭好你的环境
第1步:3分钟装好QMK CLI
① QMK CLI 是编译、刷写固件的统一入口,这步装它(Windows/macOS/Linux 安装命令相同)。
运行官方安装脚本:
curl -fsSL https://install.qmk.fm | sh预期输出:
预期输出 QMK CLI installed successfully. Run 'qmk setup' to initialize your build environment.④ 结果不对时:大概率是curl缺失或网络中断,换个网络重跑即可;Windows 用户也可直接改用官方打包好的 QMK MSYS 终端。
第2步:运行qmk setup初始化编译环境
② 这一步会自动克隆 qmk_firmware 仓库并下载 AVR、ARM 两套编译工具链(给不同芯片用的编译器)。这步要等几分钟,先喝口水。
运行初始化命令,所有提示都回答y:
qmk setup如果官方仓库克隆太慢,可以先手动克隆到 home 目录再重新执行 setup:
git clone https://gitcode.com/GitHub_Trending/qm/qmk_firmware qmk setup预期输出:
预期输出 Cloning qmk_firmware... done Installing toolchains (AVR, ARM)... QMK setup complete.工具链按芯片族选择:AVR 工具链编译 Arduino 系芯片,ARM 工具链编译 STM32、RP2040 这类 Arm 芯片——所以 setup 时两套都要下全。
④ 结果不对时:多半是工具链下载中断,直接重跑qmk setup会接着装完。
第3步:确认仓库与工具链就位
③ 花 10 秒验证 CLI 可用、仓库确实克隆下来了。
检查 CLI 版本,并看一眼仓库里的键盘目录:
qmk --version ls ~/qmk_firmware/keyboards | head -5预期输出:
预期输出 qmk/1.x.x 0_sixty 0xc7 0xcb 10bleoledhub 1k④ 结果不对时:如果报qmk: command not found,Debian/Ubuntu 上最常见,执行echo 'PATH="$HOME/.local/bin:$PATH"' >> $HOME/.bashrc && source $HOME/.bashrc修复。
第一次构建:一键验证编译环境
跑一条官方示例键盘的构建命令,确认整条工具链都能用:
qmk compile -kb clueboard/66/rev3 -km default预期输出(末尾几行是重点):
预期输出 Linking: .build/clueboard_66_rev3_default.elf [OK] Creating load file for flashing: .build/clueboard_66_rev3_default.hex [OK] Copying clueboard_66_rev3_default.hex to qmk_firmware folder [OK] Checking file size of clueboard_66_rev3_default.hex [OK] * The firmware size is fine - 26356/28672 (2316 bytes free)逐行看关键行:
Linking:把所有编译产物链接成一个程序映像Creating load file:生成可刷写的 .hex 固件Copying:固件被复制到仓库根目录,方便你找firmware size is fine:确认固件装得进芯片的 Flash
④ 失败时最可能卡在哪:工具链没装全,重跑qmk setup补装后再编译。
高频坑与解法
| 现象 | 原因 | 解法 |
|---|---|---|
bash: qmk: command not found | ~/.local/bin不在 PATH | 把 PATH 追加进 .bashrc 后重新加载 |
| WSL 里编译特别慢 | 仓库放在 /mnt 下(Windows 文件系统) | 把仓库放进 WSL 文件系统内 |
| 编译报莫名逗号错误 | 编辑 keymap.c 时多删/多加了逗号 | 逐个检查 LAYOUT 行的逗号数量 |
| Linux 刷写提示找不到设备 | 没有权限访问 USB 引导加载器 | 运行仓库内util/install_udev.sh装 udev 规则 |
| Windows 刷写提示 Unknown Device | 缺 DFU 驱动 | 重跑官方安装脚本或用 QMK Toolbox 装驱动 |
跑通之后,接着玩什么 🚀
- 运行
qmk new-keymap创建属于你自己的键位映射,把最烦人的那个键改掉 - 学几个量子键码(tap/hold、分层、宏),这是 QMK 最好玩的部分
- 用
qmk flash把编好的固件刷进自己的键盘,立刻见效
官方文档(仓库内):
- Building Your First Firmware
- Quantum Keycodes
- Flashing Firmware
【免费下载链接】qmk_firmwareOpen-source keyboard firmware for Atmel AVR and Arm USB families项目地址: https://gitcode.com/GitHub_Trending/qm/qmk_firmware
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考