资讯动态

QMK固件30分钟上手:从零到你的第一份定制键位表

发布时间:2026/10/3 8:20:34 来源:尧图企业网站定制
QMK固件30分钟上手从零到你的第一份定制键位表【免费下载链接】qmk_firmwareOpen-source keyboard firmware for Atmel AVR and Arm USB families项目地址: https://gitcode.com/GitHub_Trending/qm/qmk_firmware键盘明明是键盘为什么还要给它装固件 很少用的 Caps Lock 却占着第二排退格键按起来总差一口气复制粘贴还得老老实实 CtrlC 再 CtrlV——如果键位能重排一次每天省下的时间都是零花钱。QMK 固件Quantum Mechanical Keyboard开源机械键盘固件恰好干这个改一个文本文件、跑两条命令就能改键、切层、写宏。→ 装环境 → 首次编译 → 写键位 → 刷进键盘 → 进阶玩法 → 排错第一次把QMK固件编译出来 ️先把源码和qmk命令行工具落到你的工作区git clone https://gitcode.com/GitHub_Trending/qm/qmk_firmware cd qmk_firmware pip install -r requirements.txt前两条把源码拉下来并进入目录第三条装 QMK 构建环境会顺带注册qmk命令。成功的标志是pip install无报错且qmk --help能打出帮助信息。接着直接编译 Planck 的默认固件验证整条链路是通的qmk compile -kb planck/rev5 -km default这条命令把指定键盘-kb的指定键位表-km编译成固件。成功的标志是终端打印QMK Firmware successfully compiled并且keyboards/planck/rev5/下出现planck_rev5.hex——这份.hex就是待会儿要写进键盘的东西。仓库结构顺带混个脸熟keyboards/收所有键盘型号本例的planck/rev5就在其中quantum/是层、宏这些核心功能的实现docs/放全部官方文档。链路通了下一步认识你唯一的操作台。看懂 keymap.c你键位表的指挥所 改键这件事全部集中在一个文件里。先跑一条命令生成自己的键位表qmk new-keymap -kb planck/rev5 -km my_custom它会在keyboards/planck/keymaps/my_custom/下生成keymap.c这就是以后所有定制的主战场。成功的标志是文件存在打开后开头就是keymaps数组。如果你只想改某个键输出什么就去keymap.c里找keymaps矩阵const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] { [_QWERTY] LAYOUT_planck_grid( KC_TAB, KC_Q, KC_W, /* … 第一行省略 … */ KC_BSPC, KC_CAPS, /* ← 改这里换成任意键码 */ KC_S, KC_D, KC_F, /* … 第二行省略 … */ KC_QUOT, KC_LSFT, KC_Z, KC_X, /* … 第三行省略 … */ KC_ENT, /* … 底部功能行省略 … */ ) };每个KC_XXX就是键码完整清单见 基础按键码 和 量子按键码。不想写代码的话网上有 Keyboard Firmware Builder画一遍布局就能生成键位表原理与这份keymap.c完全一致。能对上哪个键在矩阵的第几格就可以动第一刀了。把 Caps Lock 变成第二个退格键 选一个改动成本最低、成就感最强的首改Planck 的KC_CAPS孤零零挂在第二排顶部手一抖就误触平时几乎用不上——把它换成一个额外的退格键多一根手指都能删字符。改之前按下去 Caps Lock 灯亮光标乱跳还得再按一次关掉。 改之后双手在家位附近都能退格删字动作少走一半路。打开刚才的keymap.c把KC_CAPS改成KC_BSPC然后编译qmk compile -kb planck/rev5 -km my_custom成功的标志是终端无报错planck_rev5.hex重新生成。接下来要把这份固件写进键盘本体。DFU模式三种进入方式键盘只有在 DFU固件刷写模式下才接收新固件常见三种进入方式用回形针轻触 PCB 上的 RESET 复位小孔——最常用不依赖任何键位组合部分键盘的默认组合键如双 Shift 加 Pause 或 B各板不同看对应型号目录的 readme拔掉 USB 线按住 Space 再重新插入。进入 DFU 后键盘会以一个新设备出现在系统里此时执行刷写qmk flash -kb planck/rev5 -km my_custom -bl dfu这条命令先编译再刷写-bl dfu指定走 DFU 通道。成功的标志是键盘自动重启、设备从 DFU 变回普通键盘。Windows / macOS 同理用 QMK ToolboxOpen 选中.hex设备被识别后点 Flash 即可。刷完别急着往下走先按一遍全键盘每个键逐一按过确认改动键和它上下左右的邻居都响应正常。全量验证通过才谈得上进阶。层切换、宏与RGB灯光三个进阶点 ✨这三样组合价值最高而且有先后关系先配好层宏键和灯光快捷键就有地方安放主层才能保持干净。让 MO(1) 当第二层的大门同一块键盘存多套布局按一下键就换。在任意键位填入下面三者之一MO(1) /* 按住临时进第1层松手回原层 */ TG(1) /* 按一下切换第1层开关再按关掉 */ TO(2) /* 按一下直接跳去第2层并停住 */踩坑提醒第 1 层里没填键的位置切过去就是死键用KC_TRNS透传下层对应键。展开看 层功能说明。用一个键打出整串字符宏把一串按键打包成一个键。在keymap.c里加一个回调键位上绑KC_MACRO(0)即可const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { if (record-event.pressed id 0) { SEND_STRING(Hi, QMK!); } return MACRO_NONE; }踩坑提醒默认发送速度对部分输入法偏快宏里加set_keyboard_post_send_delay_ms(10)降速。给键盘装上会呼吸的灯在keymap.c同目录的rules.mk里写一行RGBLIGHT_ENABLE yes再在keymap.c的初始化回调里点亮void init(void) { rgblight_enable(); rgblight_mode(1); /* 呼吸效果 */ }之后用rgblight_sethsv()随时调颜色。踩坑提醒RGB 与老的BACKLIGHT_ENABLE二选一同开会编译冲突。三者串起来才是完整工作流灯光跟着层变色、宏键安静地待在调整层一块键盘真正有了多副面孔。卡住了怎么排查 如果你看到编译报错 → 大概率是keymap.c语法问题逗号漏了或括号没配对 → 对着终端指出的行号数一下该行矩阵是否键数齐全、分隔符都在。展开看 编译FAQ。如果你看到刷写失败、找不到设备 → 大概率键盘没真正进 DFU 模式 → 换 RESET 小孔方式重新进入再刷一次。展开看 调试FAQ。如果你看到按键无响应、或者只在某一层有反应 → 大概率是层定义漏键或矩阵位置对不上 → 逐键按一遍定位到具体格子核对每层键数与矩阵一致。展开看 测试调试指南。如果你看到刷写失败后键盘彻底没反应 → 先别慌bootloader 不会丢 → 用 RESET 小孔重新进 DFU引导程序还在就能刷回来。展开看 通用FAQ。从改一个键到换整套布局你已经握住机械键盘固件定制的主线。再往深走编码器、OLED 显示、自定义键码这些方向都写在 官方文档总入口所有可配置开关查 配置选项参考 就有答案实在卡住就先翻 通用FAQ。【免费下载链接】qmk_firmwareOpen-source keyboard firmware for Atmel AVR and Arm USB families项目地址: https://gitcode.com/GitHub_Trending/qm/qmk_firmware创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑