news 2026/9/7 14:50:52

最快刷出第一个固件:QMK Firmware 机械键盘定制完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
最快刷出第一个固件:QMK Firmware 机械键盘定制完整指南

最快刷出第一个固件:QMK Firmware 机械键盘定制完整指南

【免费下载链接】qmk_firmwareOpen-source keyboard firmware for Atmel AVR and Arm USB families项目地址: https://gitcode.com/GitHub_Trending/qm/qmk_firmware

你手边的机械键盘,出厂键帽下面藏着的其实是一块可以完全重写的大脑。QMK Firmware 这套开源键盘固件,能让 Ducky、Keychron、Filco 这类主流型号以及 600+ 款键盘把每个键位都交到你手上——改布局、加宏、调灯光,全程自己编译、自己刷。

一句话看懂 QMK

一句话:QMK 是一套跑在 Atmel AVR 和 Arm USB 系列微控制器上的开源键盘固件,适合想摆脱厂商预设按键、又不太想啃硬件的朋友。你能做的事按熟练度排:入门是重排键位和加几层快捷键;进阶是一键宏(比如一个键打出完整邮箱)、媒体键控制;再往上是 RGB 灯效矩阵。项目仓库里keyboards/目录收录了所有支持的键盘定义,quantum/是核心功能代码所在,layouts/放的是社区共享布局模板,users/则是你自己新建布局的落点。

从零到第一次刷写:一条主线走通

整个过程就四步:装环境 → 建布局 → 编译 → 刷写。按顺序做,中途不用查任何资料。

第 1 步:装好编译环境

三个系统的安装方式不同,装完都要跑一次qmk setup

系统安装命令
Windows先装 QMK MSYS(微软官方子系统打包版),在终端里执行qmk setup
macOSbrew install qmk/qmk/qmk,然后qmk setup
Linuxpython3 -m pip install --user qmk,然后qmk setup

第 2 步:新建一个布局

qmk new-keymap -kb planck/rev6 -km my_layout

-kb换成你的键盘型号(在keyboards/目录里能查到),-km是布局名。命令跑完,会在users/下生成一个现成的keymap.c骨架,里面带好了你这颗键盘的布局宏。

第 3 步:改按键、编译固件

打开keymap.c,照着 docs/keycodes.md 把想改的键位换成对应键码(比如KC_QKC_F1),保存后:

qmk compile -kb planck/rev6 -km my_layout

几十秒后会在.build/里生成.hex文件,这就是你专属的键盘固件。

第 4 步:刷进键盘

用 QMK Toolbox(QMK 官方的刷写工具)打开.hex,按键盘自己的方式进入引导模式——多数 QMK 键盘是按着某个键插 USB,少数需要双击 Reset,具体查 docs/flashing.md。点 Flash,进度条走完,拔线重启,改键立刻生效。

3 个场景配方

刷通第一版之后,下面三个配方是社区里最常被抄走的做法。

程序员:一个键位切出第二层布局

MO(1)把某个键变成层切换开关,按住时整排键变成媒体和窗口控制:

#define _BASE 0 #define _FN 1 // 在 _BASE 层某个键位上写 MO(_FN),_FN 层里放 KC_MPLY、KC_LBRI 等

层与层之间的完整玩法见 docs/feature_layers.md。

办公党:一个键敲出整段文字

keymap.c顶部定义宏,正文里当普通键位用:

#define MACRO_MAIL M("your_name@example.com") // 在 _BASE 层:KC_SLSH 的位置改成 MACRO_MAIL

按一下就打出完整邮箱,签名档同理。细节在 docs/feature_macros.md。

游戏党:灯效跟着手感走

在你的rules.mk里加一行RGBLIGHT_ENABLE = yes重新编译,再往布局里塞几个控制键:

RGB_TOG, // 灯光开关 RGB_MOD, // 循环切换灯效 RGB_SPO // 调灯效速度

避坑指南

症状原因解法
编译报固件超限功能开太多,AVR 芯片空间小rules.mk关掉用不到的xxx_ENABLE = yes,AVR 上还可开SQUEEZE_ENABLE = yes,优化思路见 docs/squeezing_avr.md
Toolbox 识别不到键盘没进引导模式查键盘自带 readme(keyboards/下对应目录)确认引导键,再试一次插拔
刷到一半设备消失Windows 驱动占用用 Zadig 一类工具把驱动换成 WinUSB,换根数据线、换个 USB 口再试
布局改完没反应改错了文件确认改的是users/下自己那份,而不是仓库原始文件,然后重新编译

更多构建报错可以翻 docs/faq_build.md。

继续探索

  • 官方文档首页:所有功能的索引
  • 新手入门指南:比本文更细的官方教程
  • 按键码大全:查任何键码怎么写
  • 刷写说明:各引导模式详解
  • RGB 灯光文档:灯效矩阵与模式
  • 社区共享布局:看看别人都怎么摆键位
  • QMK 支持的全部键盘:确认你的型号在不在列表里
  • API 概览:想动手改固件本身从这里开始

下一步做什么

把上面那条主线走完,你的键盘就已经和出厂状态不同了。接下来最值的一件事:给最常用的工作流建一个_FN层,把媒体、窗口、输入法切换这类每周按几十次的操作挪上去,用一周再回来调。键盘改键没有标准答案,每一版固件都是你亲手写出来的。

【免费下载链接】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 14:50:00

iOS应用上架全流程指南:从开发者账号到App Store审核

记第一个iOS应用成功上线及流程和心得从写完最后一个git commit到App Store显示“可供销售”,我整整花了两个星期。这期间踩过的坑、推翻重来的配置、反复琢磨的审核条款,比写代码本身更让我长记性。如果你正准备上架自己的第一个iOS应用,这篇…

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

STM32与STC8单片机土壤温湿度检测计DIY方案:从探头选型到标定实战

/* 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 14:49:32

命定花种三宠路线攻略:属性克制与资源分配实战指南

/* 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 14:49:26

地平线征程芯片量产破1500万:智驾芯片量产背后的工程密码

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

作者头像 李华