
cap4k-仿wooting电容轴4k快速触发键盘
简介
利用电容轴实现wooting键盘的快速触发效果
简介:利用电容轴实现wooting键盘的快速触发效果开源协议
:CERN Open Hardware License
描述
Wooting 键盘是什么,可以看这个视频介绍:https://www.bilibili.com/video/BV1kG4y1U7Xm
简单来说就是在机械轴体里塞了磁铁,把普通机械键盘变成了霍尔键盘,这样可以拿到每个按键的行程数据。
这样最容易想到的应用就是键盘可以改变触发行程了。但能否做更多的事情呢?Wooting给广大音游玩家上了一课,它直接改掉了按键触发逻辑。
正常键盘是超过行程时触发按键,低于行程时断开,wooting改成了向下按的时候触发,向上松的时候断开。直观来看这样操作省掉了达到触发行程需要的时间,看起来输入延迟就大幅降低了。当然手指也更好抖出高bpm了。
理论上任何模拟输入的轴体(目前主要是磁轴光轴电容轴)都可以做到这个事情,但显然磁轴精度最高,可惜国内磁轴不太好搞到,本文用阿米洛电容轴(樱花粉 45g)做了一个4k的小音游键盘,大概能实现7成的wooting键盘效果。
原理:samd21 系列单片机有片上电容触摸引脚(10bit adc),可以直接读到轴体电容值,实测信噪比还可以,但和磁轴动辄14bit+要差远了。注意本方案也兼容普通机械轴体,但是不能实现快速触发效果。
目前的触发算法:用一个ringbuffer维护近期的电容值,求差分后根据上升或下降的次数判定触发。同时为避免极端情况,设置上下死区,死区内必定触发或释放。初始的死区电容值请自行测试得到,不同的环境差异还是比较大的。
必须的材料:
电路板x1(厚度1.2mm到1.6mm都行)
定位板x1(定位板也是fr4电路板做的,注意厚度选1.2mm)
m3 10mm螺丝x4
m3 螺母x8
m3 1mm高垫片x8 (两个垫片+1个螺母刚好够定位板到电路板的空隙)
电容轴体和键帽x4(我在闲鱼弄到的拆机轴)
seeeduino xiao 单片机
轴座x4
可选材料:
at24cxx 存储(用于存储自定义配置,二次开发可用)
ws2812b 3528反贴灯 x4(用于灯效)
6x6轻触按键(用于其他功能按键)
4.7k 0805电阻x3(用于i2c上拉和功能键上拉,没有用到不需要)
4.7k 0805电阻x4(用于接普通机械轴体时的下拉电阻,只用电容轴的话可以一坨锡盖上)
最丐的版本只需要焊接单片机+轴座+4个跳线共26个焊点。
代码:https://github.com/MaticsL/cap4k
视频演示:
设计图
BOM
ID | Name | Designator | Footprint | Quantity |
---|---|---|---|---|
1 | 6*6*3.5轻触开关250GF四脚 | KEY1 | KEY-SMD_4P-L6.6-W6.4-P4.00-LS9.4 | 1 |
2 | 4.7kΩ | R1,R2,R3,R4,R5,R6,R7 | R0805 | 7 |
3 | Seeeduino XIAO | U1 | SEEEDUINO_XIAO | 1 |
4 | AT24C16 | U2 | SOP-8_L5.0-W4.0-P1.27-LS6.0-BL | 1 |

评论