news 2026/9/7 7:21:06

QMK固件开发环境完整搭建指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
QMK固件开发环境完整搭建指南

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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/7 7:21:03

视觉定位新范式:从弱标签到城市级地图的规模化之路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/7 7:19:38

电力负荷预测实战:数据清洗、特征工程与模型选型全解析

简介:电力负荷预测分析资源包,面向电力系统从业人员、数据分析与机器学习学习者,聚焦短期、中期、长期负荷预测任务。负荷预测是电网规划与调度的重要基础,短期结果影响机组启停,中长期结果支撑运营检修与扩容决策。包…

作者头像 李华
网站建设 2026/9/7 7:18:57

豆包AI漫剧全流程实战:从脚本、分镜到新海诚风格成片

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/7 7:17:48

网盘直链解析助手:8大网盘一键获取真实下载链接

网盘直链解析助手:8大网盘一键获取真实下载链接 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 /…

作者头像 李华
网站建设 2026/9/7 7:17:17

OSX-KVM GPU硬件加速实战:AMD独显直通与OpenCore配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华