
3步让普通机械键盘变成支持图层和蓝牙分体的ZMK键盘【免费下载链接】zmkZMK Firmware Repository项目地址: https://gitcode.com/gh_mirrors/zm/zmkZMK键盘固件是一个基于 Zephyr 实时操作系统、采用 MIT 协议开源的键盘固件项目解决的核心问题是让你手里那块按键功能写死、分体要自己折腾、蓝牙连多台设备不行的机械键盘变成可以按自己习惯重新定义每一个键的键盘。无论你是有线键盘还是无线分体键盘它都支持。 一、普通键盘固件卡在哪大多数键盘出厂固件的按键功能是固定的Fn 层最多两三个没有宏不能做复杂的 hold-tap更谈不上把左右手拆成两块独立蓝牙配对。常见卡点有三个想给某个键加短按切层、长按出 Shift这类行为固件里根本没有对应机制想做无线分体市售方案要么延迟高要么只允许单一连接想一键切换手机、平板、电脑三个设备很多键盘做不到ZMK 的思路是把按键抽象成行为同一个物理键可以挂接 30 多种行为类型包括普通按键、图层切换、组合键combo、宏、点按舞蹈、鼠标键等源码里每种行为都是独立模块位于 app/src/behaviors/ 目录想改就改对应文件。⚡ 二、第一步选板子烧录固件ZMK 在 app/boards/ 目录下内置了 26 个厂商的板卡支持从 nRF52 系列到 RP2040 都有现成的设备树配置比如 nordic 的 nrf52840、adafruit 的 KB2040、raspberrypi 的 Pico。拿到板卡后先用它自带的开发板型号烧一个最小配置验证环境。编译烧录走 Zephyr 官方的 west 工具链一条命令west build -b nrf52840dk/nrf52840/zmk --pristine意思是把固件编译成针对 nRF52840 的镜像然后按 docs/docs/troubleshooting/ 里的 flashing 章节把 hex 文件写进板子。能进 bootloader、能连上电脑这一步就算通了。️ 三、第二步图层怎么配图层是 ZMK 键盘固件里最常用的一套机制物理矩阵不变逻辑上叠 N 层每层给同一个位置定义不同的输出。配置思路建议这样走第 0 层放 QWERTY 基础键位第 1 层放 F 区、媒体键、方向键用一个低层的 hold-tap 键负责按住进第 1 层。这样 40 多键的键盘能塞进 100 多个逻辑功能不用外接任何旋钮。图层、图层内键码、行为绑定这些规则在设备树dts 文件里写不用写 C 代码。每个行为的参数表都在 docs/docs/keymaps/ 目录下配一个新行为前翻一下对应 yaml 绑定文件比查论坛快。️ 四、ZMK Studio不想改文本时的替代路径如果你不想碰 dts 文件ZMK Studio 提供了一个网页化的可视化编辑器左边是键盘布局图点击任意键位就能直接给它挂行为右侧实时预览键码。它走的是 GATT RPC 通道键盘上电后直接连进去改改完自动同步回固件不用重新编译。适合两类场景先可视化把基础布局拖出来再导出成 dts 片段合进自己的配置仓库以及临时在别人的键盘上快速验证一个行为组合不想动编译链。 五、无线分体和蓝牙多设备怎么开ZMK 原生支持无线分体左手作为 central右手作为 peripheral走 Zephyr 的 BLE 协议栈配对配对一次之后断连自动重连。多设备侧它用 BLE profile 的方式做设备切换默认 profile 数量可以在 prj.conf 里调切设备用 outputs 行为绑一个键就行。电池上报、低功耗睡眠、软关机soft-off这些周边能力也是内置的不需要自己写驱动。 六、下一步该做什么三件事按顺序做从官方仓库拉代码git clone https://gitcode.com/gh_mirrors/zm/zmk打开 docs/docs/user-setup.mdx照着建自己的 user-config 仓库把板卡型号填进去从 app/boards/ 目录里翻一个和你手搓键盘最接近的板卡定义改 dts 里 keymap 节点遇到烧录、配网、连不上的问题先查 docs/docs/troubleshooting/ 下的四篇文档覆盖了 building、flashing、connection、hardware 四个最常见的坑。【免费下载链接】zmkZMK Firmware Repository项目地址: https://gitcode.com/gh_mirrors/zm/zmk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考