2022 年 7 月,B 站硬核科技区 UP 主稚晖君(彭志辉)发布新视频《我做了一把模 块 化 机 械 键 盘!》,迅速冲上全站热门。这位被华为「天才少年」计划招募的 90 后工程师,此前已经用自动驾驶自行车、迷你机械臂、钢铁侠机械臂等项目反复证明过自己的软硬件全能——这一次,他把目标对准了每天摸得最多的外设:键盘。
项目名叫「瀚文」(HelloWord-Smart Keyboard)。它在极客圈刷屏,报道标题里甚至用上了「引起极客圈地震」的说法,评论区一片「这才是真正的客制化」。和传统客制化键盘只做换轴、换键帽、换填充的思路不同,瀚文的电路、固件、结构、上位机全部从零设计,并且完整开源在 GitHub。更关键的是,它把键盘定义成了一台「可编程的智能硬件」,而不只是一块手感工具。两个月后,装备前线社区的键友「大男孩」(Rain_Q)把它做成了量产套件发起开团。这篇文章把整件事的来龙去脉、技术原理与开源生态一次讲清。




为什么是「瀚文」:华为官号都来围观
这个项目的想法源于几个月前的居家办公经历。对程序员和玩家来说,键盘是「吃饭的家伙」,稚晖君接触客制化圈子后发现,很多「客制化」总以「换壳为本」——圈子里一般把工业设计当大头,软硬件大多拿现成的参考设计和开源固件。他想保证最大程度的开发自由度,于是从零设计电路硬件和固件代码,第一步就是把键盘本身的性能做到极致。
什么才算「智能」键盘?他的答案是参考智能手机:应该有各种传感器、能随时安装各种 APP、不断获取新能力。命名也藏着程序员的浪漫——「瀚文」的英文名就是 HelloWord,每个程序员写下的第一行代码。视频发布后迅速出圈,连华为官方账号都转发并评论「太厉害了」,评论区里网友喊着让华为量产。他还在视频里展示了几个构思中的场景模块:直播场景、3D 建模场景、视频剪辑场景、音乐制作模块,表示以后有空会尝试实现,而瀚文本体会作为他之后的主力设备使用。
按键扫描:绕开矩阵的移位寄存器巧思
想看懂瀚文的硬核,得从最基础的按键检测说起。每颗机械轴本质是一个开关,按下导通、弹起断开,控制器读到对应引脚的电平变化,就知道哪个键被按下了。但一把键盘动辄上百颗按键,如果每颗键都独占一个 IO 引脚,芯片根本供不起这么多引脚。
行业通行做法是矩阵扫描加二极管防鬼键:把按键排成行列,靠行列交叉定位,再用二极管挡掉「鬼键」误触发。举个直观的例子——4 行 4 列共 16 颗按键,单独连线要 16 个 IO,矩阵扫描只要 4 加 4 共 8 个。但问题在于,为了做减震,客制化 PCB 上要在建轴之间挖出很多长槽,矩阵布线在开槽板上走线极其痛苦,再叠一层二极管,电路复杂度直接爆表。稚晖君的方案干脆绕开矩阵和二极管:用移位寄存器实现按键扫描。
基于移位寄存器的「并行输入、转串行输出」特性,把每颗按键看作寄存器的一位,每加载一个时钟信号就依次读出所有按键状态。这样做极致省 IO,理论扫描速度达到每秒 5000 万键,还顺手省掉了全部二极管,电路简洁一大截。具体芯片选的是 74HC165,国产零售约 0.5 元一片,一片驱动 8 个按键,按你的按键数串联若干片即可;本项目扫描频率 4MHz 已完全够用,哪怕国产 16MHz 版本也绰绰有余。
自研固件:把全速 HID 拉到极限
固件层面,绝大多数客制化键盘跑 QMK、ZMK 这类开源固件,为了兼容海量型号,代码相当臃肿。稚晖君从零写了一套:主键盘固件基于 STM32F103,用硬件 SPI 加移位寄存器做高速按键扫描,RGB 灯控走 SPI 加 DMA 的总线方式,实现了全按键独立 RGB。成品指标是 1KHz 回报率、1 毫秒超低延迟,支持多层键位映射、非易失存储配置和 Bootloader 升级,后来还对接了 SignalRGB 灯效生态。固件连同源码一起开源,仓库里预编译好的 bin 用 ST-Link 之类的工具就能直接烧录。
几个工程亮点值得展开。其一是键位映射:固件把 PCB 走线和扫描顺序解耦,通过软件重映射——PCB 上按键可以任意走线,在 hw_keyboard.h 的 keyMap 二维数组里指定映射。第 0 层负责把 PCB 的随机布局映射到标准键盘布局,第 1、2、3……层是自定义布局,调用 keyboard.Remap(2) 就能切换。想改配列,只需增减几片 74HC165、改改第 0 层数字即可。其二是滤波:1KHz 报文下每秒要做 1000×2×按键数 次滤波,固件用「对称延迟独立滤波」——每个按键两次检测,间隔 N 微秒(可配置,大于典型抖动时间),两次一致才判定按下,靠异或运算高效处理,兼顾延迟与稳定。其三是 RGB:用单总线 ws2812b 灯珠,一根线串联一大堆,代码用 SPI-DMA 模拟时序拿到超高刷新率,通过 SetRgbBuffer 设值、SyncLights 下发。其四是 HID:配置两个 ReportID,ID-0 上报键位扫描数据(全键无冲),ID-1 预留给上位机改键软件通信。
结构:三大部分与客制化层叠
瀚文的结构由三大部分组成:扩展坞底座、键盘输入模块,以及可替换的多功能交互模块。键盘输入模块和交互模块通过若干接触式触点连在底座顶部。键盘本体则是一套标准客制化层叠结构,包含减震棉、PCBA、定位板、轴下垫等。工业设计基于 Xikii 的 S98 修改而来,是 75 键布局,想换布局可以自己改 PCB 和固件适配。套件侧保留了 gasket 结构加 poron 棉三件套的减震设计,敲下去的手感更「糯」。
| 板卡 / 模块 | 主控或关键芯片 | 核心职责 |
|---|---|---|
| 主键盘 PCB(HelloWord-Keyboard) | STM32F103CBT6 | 移位寄存器高速扫描、全键独立 RGB、常规输入 |
| Dynamic 组件 PCB | STM32F405 | FOC 力反馈旋钮、墨水屏、OLED、模块固件 |
| 磁编码器 PCB(HelloWord-Encoder) | AS5047P | 无刷电机位置反馈(可换 MT6816) |
| 触点 PCB ×2 | FFC 排线 | 键盘 / 模块与底座连接 |
| Hub1 / Hub2 转接板 | USB-HUB 芯片 | 底座扩展两个 USB-A 接口 |
| TypeC 接口板 | 电源管理芯片 | 连接电脑、充电、内置 HUB |
| TouchBar 模块板 | XW06A | 6 通道电容触摸条,大拇指快捷操作 |
左侧模块:墨水屏与 FOC 力反馈旋钮
瀚文真正「智能」的部分在键盘左侧——一个可以整块替换的多功能交互模块,默认搭载 Dynamic 组件:电子墨水屏、OLED 小屏,加一颗基于 FOC 控制的无刷电机旋钮。墨水屏可以自定义显示图片、天气、GitHub 贡献墙或电脑状态,配套上位机做到「拖图即换」,二次开发的通信协议和驱动封装成 SDK 开放给玩家。
旋钮是整个模块的灵魂。通过 FOC 磁场定向控制,无刷电机能模拟任意力反馈手感:零摩擦的惯性滚动、带阻尼的音量调节、多档开关甚至弹簧感,还能主动转动,配合 OLED 显示 CPU 占用之类的信息。模块和键盘本体各自有主控(STM32F405 加 F103),通过串口协议通信,拆开来也能单独使用。玩法例子很接地气:向上推旋钮打开任务视图、向下推显示桌面;或模拟成带阻尼旋钮调音量;或模拟成无摩擦惯性旋钮丝滑滚页面。
还有个工程细节很能体现功力:USB 2.0 只能提供 5V 500mA,远不够无刷电机瞬间发力。稚晖君借用了电磁弹射「先蓄能再放电」的思路,让电容先储能、动作瞬间集中释放,用键盘党想不到的方式解决了功率瓶颈。键盘右侧还贴了一条电容式触摸按键条(TouchBar)——打字时两个大拇指闲着也是闲着,设置好就能用它切窗口、切音乐、复制粘贴,大拇指的参与度一下子拉满。
无刷电机、指纹与芯片选型
为了让旋钮手感真实,电机选型也做了对比测试——视频里给出两种云台电机的 KV 值差异,最终配合磁编码器(AS5047P)做位置反馈,实现精细角度控制;电机用 2204 这类尺寸的无刷电机,KV 值最好低到 200 左右,转子上要手动装一枚径向充磁的永磁体用于编码器定位。磁编码器芯片也可换更便宜的 MT6816,代价是改固件驱动。电容触摸条用 6 通道触摸芯片 XW06A,读取方式和普通按键没区别,同样走 74HC165 扫描。电机 FOC 驱动电路从稚晖君自己的 Ctrl 驱动器移植而来,用 FD8288Q 作栅极驱动器,无需电流传感器。
更有意思的是集成在底座里的 USB HUB——除了扩展出额外 USB-A 接口,还塞进了一颗指纹识别模组。理由很生活化:手机早有人脸和指纹解锁,台式机却还在敲密码,那就让键盘来解决。如果电脑已有其他生物识别设备,这个位置也能换插鼠标接收器、手柄接收器等实用模块。
从开源项目到开团套件
原版瀚文是稚晖君基于 Xikii 的 S98 框架修改工业设计做出的手工孤品,普通人很难复刻。转机在 2022 年 9 月:装备前线社区用户 Rain_Q(大男孩)推出瀚文75 完整版套件并发起团购。套件保留 gasket 加 poron 棉三件套减震,外壳提供阳极氧化黑与涂层白两种工艺,PCB 为黑色沉金、带 RGB 下位灯、全键热插拔,主体板厚 1.2mm 并开槽优化手感,阳极版 1888 元、涂层版 1988 元,开团截止 9 月 30 日。固件烧录由开团方负责并配套教程,此前也联系过稚晖君,后续会有上位机与 SDK 持续输出。
功能测试交给 B 站 UP 主「三叶虫本虫」——他成功复现了瀚文键盘并演示扩展模块玩法,后续也牵头优化固件。开团方还承诺拿出部分利润反哺社区,鼓励技术党基于 SDK 开发新应用,把开源生态做厚。试做团首批收货的 Chiphell 网友开箱也很有信息量:包装盒上印着「HelloWord」和稚晖君与溪厂长(Xikii 厂长)的署名,套件下层附了拆装用的螺丝刀与螺丝收纳盘,PCB 除 F 区外全部做成下灯位,拿掉上盖板还能看到大面积 PC 导光板;装配时要先拆掉全部螺丝再逐层组装,仪式感和动手门槛都拉满。
社区生态跟进:QMK 固件与网页在线改键
开源项目的生命力,要看有没有人接棒。开团之后,社区开发者很快给瀚文75 移植了 QMK 固件:适配完矩阵后 QMK 的大部分功能都能用,支持全键无冲(NKRO,按住左右 Shift 再按 N 即可在 6KRO 与 NKRO 之间切换),触摸条也在改键界面里有了独立配置页。
刷机和改键的体验也被做到极简。刷机走「U 盘版 Bootloader」:按住 ESC 键插上键盘,把 UF2 格式的固件文件拖进弹出的 U 盘,等键盘重启就完成升级,全程不用装任何软件。改键则走网页——用 Edge 或 Chrome 打开 keeb.pro 的在线配置工具,像玩 VIA 一样在浏览器里直接改键、配 RGB、调触摸条,作者还把文档放在 docs.keeb.pro 持续更新,后期计划包括完善代码、优化触摸条手感、装配模块后打通整机体验。不想碰焊台和编译器的玩家,也能把这把键盘玩出花样。
二次开发与开源生态
打开 HelloWord-Keyboard 仓库,你能拿到 10 块 PCB 的设计源文件(立创 EDA 专业版格式,配 Gerber 光绘文件可直接发给厂家加工)、全套外壳结构、两套固件工程,以及开发中的 SDK。固件基于 STM32HAL 实现,附 .ioc 文件,可用 STM32CubeMX 打开生成 Keil 或 STM32IDE 工程,也能用 CLion 编译下载;_Release 里有预编译 bin,用 ST-Link Utility 或 STM32CubeProgrammer 直接烧录。烧录走 JLink / STLink,PCB 和外壳都预留了 SWD 调试口,没硬件经验的玩家后续也能用 Bootloader 走 USB 升级。软件侧,仓库提供拖图换墨水屏的傻瓜上位机,改键图形化软件和模块 APP 应用商店也在路上。
稚晖君在仓库里特意提醒:Issues 只讨论开发相关话题,灌水请去 Discussions,避免 watch 了仓库的人被邮件刷屏——这种对社区体验的在意,和硬件上的极致追求一样,是「真客制化」的一部分。
后记:写完这把键盘,他去做了人形机器人
键盘视频的结尾,稚晖君预告「下一个视频是一个大型机器人项目」。更大的变化发生在四个月后:2022 年 12 月 27 日,他宣布离开华为——彼时他是年薪 201 万元的「天才少年」,在上海 AI 研究所做昇腾 AI 芯片与算法研究。2023 年 2 月,他与前华为副总裁、计算产品线总裁邓泰华联合创立智元机器人,稚晖君出任总裁兼 CTO;同年 8 月,团队首台具身智能机器人「远征 A1」公开亮相。
这家公司的成长速度在国内机器人行业几乎没先例:2023 年营收约 30 万元,2024 年约 6000 万元,2025 年突破 10.5 亿元,2026 年一季度单季收入就超过 10 亿元,第 15000 台机器人也在 2026 年 6 月底下线。2026 年 9 月电子科技大学建校 70 周年,他回到母校,捐赠了超过 100 台、总价值超千万元的人形机器人开发平台;B 站账号的粉丝也涨到了 280 多万。回头看,那把用 108 天打磨出来的键盘更像一张名片——它证明了把一个想法从电路图一路做到量产生态需要什么能力,而这些能力后来全部用在了人形机器人上。
写在最后
截至发稿,HelloWord-Keyboard 的 GitHub 星标已经超过 6600。对客制化键盘圈来说,瀚文展示了一条和「换轴换帽」完全不同的路:键盘可以是一台可编程的智能硬件,而不仅是一块手感工具。原型愿意用 108 天打磨一颗键的手感,社区愿意为开源生态掏钱开团,第三方开发者接过固件继续迭代——这大概才是「真正的客制化」该有的样子。
项目仓库与演示视频全部设计资料都公开可查,感兴趣的朋友可以直接去翻。如果你也正琢磨给自己做一把「会思考」的键盘,瀚文的开源资料是一份相当完整的起点。





