华为|华为天才少年做了把模块化机械键盘 震撼极客圈:这才是真客制化

他来了他来了,一人顶一个团队的稚晖君又一次带着一项硬核(虽然他强调是“软核”)黑科技来了!
稚晖君,真名彭志辉,三次元身份是华为于 2020 年招募的天才少年,二次元身份却是B站硬核科技UP主,坐拥 100 多万粉丝 。
稚晖君最为人称道的是软件硬件机械一通到底,亲手落地实操过多个高人气项目 。他的历史投稿「造了一台钢铁侠的手臂」、「把自行车做成了自动驾驶」、「做了个能动的电脑配件」等均吸引了大量极客,每次整新活都能 get 数十万次「一键三连」 。
而这次稚晖君带来的新项目则是:一把完全客制化、带屏幕模块的机械键盘!
键盘本身的性能
既然是客制化,稚晖君想要最大限度发挥自己的设计自由度,于是,他从头设计了键盘电路硬件以及固件代码 。没错,不只是换壳,是真的完全客制化!
基于移位寄存器的电路
先从电路硬件说起,怎么检测某个按键是否被按下了呢?
很简单,中学物理告诉我们,每个建轴是一个独立的开关,按下和弹起会分别导通 0 和 1,控制器芯片就可以检测按键的高低电平 。但是......现实没有这么简单 。
一个键盘有大约 100 个按键,要是给每个按键都接一根导线到 MCU 的引脚,就需要 100 多个引脚,这也太浪费了 。有解决办法吗?有,用矩阵键盘形式来检测按键就可以了嘛 。
但这样一来,按键之间就存在耦合,所以会出现「鬼键」现象 。有解决办法吗?当然还是有,我们可以在每个按键下面添加一个二极管来防止误触发 。
然而,问题又来了 。我们在设计 PCB 的时候,一般都要做减震处理,在 PCB 建轴之间挖出很多长槽 。但矩阵键盘和一堆二极管的模式会导致 PCB 的走线变得非常麻烦 。
有解决办法吗?稚晖君说有,而且是一个完美方案:使用移位寄存器来实现按键扫描 。
华为|华为天才少年做了把模块化机械键盘 震撼极客圈:这才是真客制化
文章图片

具体来说,基于移位寄存器的并行输入、转串行输出功能,把每个按键都看作是寄存器的一位,那么每加载一个时钟信号就可以依次读出每个按键的状态 。
这种方案不仅非常节省 IO,而且扫描速度极快,理论上每秒能扫描 5 千万个按键 。再来,褪下二极管,电路也变得极其简单 。网友直呼:碾压行业!
全新固件
将客制化进行到底,稚晖君还自己开发了一套键盘固件!
目前市面上绝大多数客制化键盘都是使用 QMK、ZMK 这样的开源固件,为了适配更多的键盘型号,它们的代码通常都很臃肿 。
而稚晖君开发的这套固件,基本上把全速HID设备的性能都拉到顶了 。
华为|华为天才少年做了把模块化机械键盘 震撼极客圈:这才是真客制化
文章图片

1KHz 的回报率,1 毫秒的超低延迟,超高刷新率的全按键独立 RGB 灯控制,支持 Bootloader 更新固件等等,简直梦中情键了 。稚晖君表示,这套固件的代码会开源给大家~
说了这么多,这键盘到底长啥样呢?
稚晖君的老粉都知道,在之前的自行车、机械臂项目中,外壳零件都是 up 主 @Xikii厂长帮助加工的,而这次的客制化键盘恰巧就是 Xikii 的老本行 。稚晖君这款键盘的工业设计便是基于之前 Xikii 发布的 S98 键盘修改而成 。
全貌长这样:
华为|华为天才少年做了把模块化机械键盘 震撼极客圈:这才是真客制化
文章图片

实用就罢了,还这么好看,坐等量产~