
最丐17+4TPRO机械键盘
简介
2026年5月12日稳定性更新: 1. 修改休眠底层,在主函数休眠关灯,后台扫描键盘以唤醒电脑 2. 优化内存空间分配,堆栈空间提升 3. 修复内存溢出问题
简介:2026年5月12日稳定性更新: 1. 修改休眠底层,在主函数休眠关灯,后台扫描键盘以唤醒电脑 2. 优化内存空间分配,堆栈空间提升 3. 修复内存溢出问题开源协议
:GPL 3.0
描述
星火计划的B站参赛视频:
https://space.bilibili.com/555199816/channel/series
记得三连加评论,获奖了才有动力持续更新,谢谢大家!!!
以贩养吸键盘名单:
【腾讯文档】丐中丐小键盘授权ID以及授权费记账
https://docs.qq.com/sheet/DSXd2bm5rdVh2aHVk
前言
说实话,我的开源项目中最火爆的就是小键盘项目了,因为成本低,而且触摸条功能独具特色,所以做的人非常多。
当然浏览量刷高也有可能是键盘宏自动打开开源网址有关,本意是方便大家浏览使用说明和强调该工程的开源性质。并无恶意刷搞浏览量!
在和读者互动中看到了形形SeSe的人,有的把焊接当成拼高达一样的乐趣,居然还嫌我的项目焊接量少,要求我加大难度。
有的不看说明,希望布局舍去突出的一部分。经过解释这是触摸条后才感慨“功能这么NB,只要这个价格”。
也见过有不是电类专业的同学,为了这个项目第一次购置烙铁。叫我sell焊接工具。
甚至有带娃的叔叔,翻出封尘已久的烙铁开焊。(辈分是这么叫没错,但是玩电子的都不服老,可能觉得拿起烙铁就回到学生时代了吧😂)
这都得感谢讨论群群主让大家知道这个开源项目成本能这么低,闲鱼出货了100套后工作调动要出差半年,放大家鸽子,剩下还没上车的都唯有自己动手了。
也感谢b站up,秋山向阳的宣传。这个项目的参赛视频也是由他来投稿。
| 大致价格 | 名称链接 | 个人点评 |
|---|---|---|
| 37 | 一代丐PAD | 性价比和普及度都是最高的,缺点是有明显的按键冲突 |
| 50 | 二代丐PAD | 支持OpenRGB,无触摸,也有sell对应商品的淘宝店,被群友吐槽我深得黄氏刀法得真传,给了RGB但是阉割了触摸。分出价格区间。对此我表示冤枉,这是有热心读者画好了PCB找上门要求适配程序的,我以成果开源为要求接下了适配程序的任务。 |
| 100以内? | 三代丐PAD | 支持OpenRGB也有触摸,标配HUB,暂时无人量产,闲鱼有个人焊接产品,你也不想你的小键盘固件迟迟不更新吧,目前该项目正在比赛,给我点赞收藏评论,顺便把B站的也点了,获奖之后我才会更勤劳给你们更新啊!!! |
| 500 | ROG魔导士 | 丐PAD的idear来源,据我所知最早一款也是目前唯一带触摸功能的量产键盘 |
| 1400 | Ankh NumPAD | 经常被群员调侃,如果丐PAD的包装惊艳点,然后sell它一半的价格,就能躺在数钱了 |
| 2000 | 瀚文75 | 本来DIY的核心就不一定是省钱,工具这些自己用得顺手就行了,哪像我这么有追求。丐系列,流水的外设,铁打的551 |
关于sell项目应做到以下几点
1. 咸在鱼描述中如果有网址会导致限流的话,至少应该提到【开源】。
2. 我反对单sell空PCB这种空手套白狼的搞法,会带坏很多有近似想法的人,如果不想焊接至少以带电子元件的套件形式sell。
3. 关于授权费(打赏),原则上是获得资金以升级体验,但考虑有些是爱好者留一套出四套来回本我也不会主动追究授权费。如果你sell了大于等于5套那么我就能判断你是为了牟利而使用该工程。老老实实以每套2元上缴授权费。(除非你焊接技能菜,把PCB焊坏,实际只能做出4套能用的,全sell了我也不管你。甚至还有人反馈焊接五套板只成功一套的😂)
4. 如果程序更新了,成品sell方有义务向使用者通知软件更新内容。可能还要指导刷新固件的过程。除非使用者家说算了,操作不来,新功能不是很想要,我是米6钉子户。
5. 如果使用者遇到什么软件上的问题,应该第一时间和你沟通,你解决不了的再来找我。比如bug,建议之类的。
原理图设计说明
第一代老是被人“教育”升级方向,现在不就所有愿望一次满足,甚至我还在触摸区下方塞进去一个HUB。
在单片机不变的前提下,由于键盘多要了一个io,只能从触摸区扣回一个io。
后期还在触摸区下方塞入RGB,利用玻纤板半透明的特性进行匀光,于是便有了现在开源的版本。
PCB说明
为了满足参赛要求,主板是用专业版重新画的,差分线还挺好用就是进焊盘的过渡有些小瑕疵,
最好是焊盘出来就过孔,然后过孔到过孔走差分就好看了。
定位板下面的灯光焊接如图所示,手动掰弯反贴LED的引脚,再扣上去焊接。

关于触摸定位板和主板的电气连接,2.54排针焊死。建议方法为:
排针先焊接到定位板上,然后再装配轴体固定到主板上。这样定位板的排针没有剪切口和焊点比较圆滑。

软件说明
触摸状态机跳转,这部分实在太乱,代码很多判断,如果你觉得能优化请务必留言,最好带代码来,前提是编译后资源占用增量要少。

现在代码开源了,你能通过简单修改出如下内容
1. 个性化上报名称,比如可以定义为“XXX的小键盘”,位置在div_usb.c的194行,注意Unicode字符编码和首字节为总长度
2. 自定义键盘宏,main.c的179行,修改字符串里面的网址就能改变打开的网站。建议你们sell出去的硬件烧录我的发布固件,别改成定时触发,上电触发。以至于损害我的声誉。
3. 修改触摸区的功能,在main.c的374行,里面就有功能的注释以及宏定义,右键打开宏定义就能看到宏定义的集合
4. 修改按键功能,由于flash空间有限,不可能全部修改为自己想要的,现在改完重新编译就行,数组在keybord.c的26行
5. 使用自己认为最合理的消抖算法,现在的算法是基于自己的或逻辑算法,按下无延迟,松开延迟3ms,在keybord.c的257行
6. 【注意】开源协议为GPL3.0,商业使用需要授权,获利了别忘记请我喝奶茶
兼容OpenRGB
下面是灯位图,相对于二代多了右边触摸区的3个LED。

至于详细使用说明。请点击我头像查看立创电赛的68+3的键盘简介。如果文章区可以上传附件就再考虑重新排版。
这里遇到一个玄学问题,上位机发数据同时打开触摸按键外设会概率导致通讯端点卡死。但是其他端点通讯还正常。
解决方法是固件上检测到接收LED数据时,暂时触摸通道采样和灯光错开运行。经过问题已经解决。
但是缺点是开启灯光同步时,刷新率从90Hz下降到60Hz导致滑动跟手感会差点。
实物展示说明
配合亚克力底板照,螺母是亚克力螺母配合UV胶粘合(粘合并不好,轻微冲击螺母就会松脱)


3D打印外壳外壳:(建模:丐中丐键盘交流群-我是小K)

这个侧键键帽和外壳一体的设计和设计者沟通了很久,利用打印材料的弹性形变实现一个模型就有完整功能

底盘镂空花纹版本,小声BB:重量减轻,一次白嫖俩:(修改建模:丐中丐键盘交流群-竹本匕匕)

基于上面修改的配列,把原本的侧键飞线到侧面当作快捷键,而且新版本已经适配改键

基于左耳改的亚克力堆叠外壳:(设计:丐中丐键盘交流群-Care)



还有一个连同主板PCB也作修改的版本:(设计:丐中丐键盘交流群-山有扶苏)



顶部省力杠杆肩键,暂时还欠缺点外观细节优化(建模:丐中丐键盘交流群-猫腻)
设计甚至用上扭簧作压紧机构

后期版本


相对来说定位板采用紫黄白的油墨无覆铜的透光比较好,其他颜色未测试


微距特写




晶振可以学我用小一号的,方便手工焊接






感谢热心读者imksc编写的采购bom表
整理了一份BOM 采购清单:https://docs.qq.com/sheet/DWE5wYUZ2SkhiVFlE
遇到下图问题不要慌,大概率不是你我的问题,找板厂客服会妥善补发的


程序更新日志
Ver0.1
- 适配键盘
Ver0.2
- 适配触摸
Ver0.3
- 开启RGB,但经常闪烁
- 修复触摸灵敏度问题
Ver0.4
- 修复闪灯的问题
Ver0.5
- 通过数据帧同步,修复USB中断导致闪灯的问题
Ver0.6
- 添加灯效,unlock时数字5控制
- 添加flash功能保存灯效
- 20秒无变化后保存
- 添加上报名称
Ver0.7
- 修复偶尔numlock不正确跳转的bug
- 添加端点4做收发接口
- 上位机可读写每个LED
- 开启flash加速模式
- 重写WS2812底层,修复摁住numlock闪烁的问题
- 非numlock下4连击[5]打开开源网页
Ver1.0
- 修改输入命令行的大小写字母切换方法
- 在线模式时重新设置灯效会回到离线模式
- 把2812时序设置为最高优先级,防止闪灯
- 上电先发送关灯数据,防止初始化完成前几个灯一直亮
- led数量从17添加到20
- 非numlock下5连击[5]复位单片机
- 在更新LED数据时自动关闭触摸扫描1.1秒
Ver1.1
1. 通过OpenRGB同步灯光期间和触摸刷新率同步达到实现同时使用(灯光同步刷新率越高越好)
2. 上电等待初始化完成再执行代码,否则会被看门狗咬复位
3. 修改上电枚举判断逻辑,100ms查询一次,重复5次未完成则复位
4. 触摸区灯效独立于按键区,默认为相差120度的RGB三色,恒定最高亮度
5. 触摸区灯效会与触摸功能互动,点击时对应区间亮起白灯
6. 触发点击事件时对应区间灯光3Hz闪烁两秒
7. 滑动/惯性时,呈流水灯样式
8. 顶部侧键修改为ESC,TAB,灯控,BREAK
Ver1.2
1. 修改端点2为多合一端点,为改键做准备,取自[https://github.com/Jackadminx/Keyboard_nano]
2. 消除USB发送DMA内存地址重叠的bug,应该不再会无端端发送错误按键码
3. 精简上报名称为"丐17+4TPRO"(解释:T指带触摸条,PRO指有RGB)
4. 修复触摸打断滚轮惯性无法触发点击的bug
Ver1.21
1. 修复内存重叠导致序列号上传不正常的BUG
2. 触摸触发阈值加入迟滞比较特性,抬手不容易触发点击事件
Ver1.22
1. 为了部分电脑不会闪绿灯初始化失败,移除插充电头不亮灯的特性
2. 为兼容苹果系统5连击[5]进入NumLock解耦模式
3. 兼容苹果系统的解耦模式加入掉电保存
4. 关灯时(亮度设置为0),NumLock指示灯映射当前键盘状态
Ver1.9:
1. 添加快速控制RGB,换层的上位机指令
2. 修复切换灯效关闭苹果模式的bug
3. 修改EEPROM存储底层
4. 添加上电检测和校准流程,摁住numlock上电进入重新校准,期间4Hz闪烁3秒
5. 添加上位机修改触摸灵敏度的接口(默认为10,下限为5,上限为15)
6. 非NumLock下六击[5]降低触摸阈值(灵敏度提升),七击[5]反之,每次修改2个单位
7. 大改按键底层,适配改键功能
8. 苹果模式下修改数字区的按键映射,映射为大键盘区对应的下标功能
9. 修改非numlock逻辑,[/]替换为shift+TAB,[*]替换为TAB,[+]替换为shift+enter。对应excel里面的表格上下左右
10. 长按[numlock]进入自定义按键模式,期间显示自定义灯光,默认为俄罗斯国旗图案
11. 顶部4键的功能改为默认win+1/2/3/4,全局为改键模式,可自定义
12. 改键模式下触摸区为dial功能
13. 添加改键层交互快捷方式,摁住触摸时再按按键触发改键层操作
14. 因堆栈空间不足,将部分data类型的全局变量分配到idata区
Ver1.91:
1. 精简上报端点里重复部分
2. 批量flash写入中读取待写入数据,如果相同则不写入
3. 修复了部分改键命令不响应的BUG
4. 修复了摁住触摸触发快捷键后抬手仍然触发触摸区的BUG
Ver1.92:
1. 精简1,3端点,降低中断的数量和内存占用
2. 按键回报率设定为1000Hz(多种功能共用)
3. 进入苹果模式前会同步当前numlock状态
4. 通过按键译码时关闭中断,降低了误码窜键率
5. 修复了摁住触摸区触发快捷键灯光不恢复的bug
6. 改良触摸区滑动的上下移灯效
7. 修复了惯性中会触发改键层的问题
8. 修复了4连击[5]概率打不开开源网的bug
9. 打开开源网的过程加入了字符串输入速度变化的效果,过程更耐人寻味
Ver1.93:
1. 休眠恢复后检测ready位,避免概率插电开机无法使用
Ver1.9F:
1. 惯性衰减优化为整数来计算
2. 延长消抖时间3ms->5ms
3. 回报率下调1000Hz->250Hz
4. 特制小容量低回报率固件,适用于551或者有兼容性问题
Ver2.00:
1. 回报率改回1000Hz
2. 修复上报长度丢失的bug
3. 滚轮模式下添加双指放大缩小的操作
4. 音量模式下双指放大手势为进入改键层(不太灵敏,暂时无法优化)
5. 改键层中双指缩小手势为退出改键层
Ver2.01:
1. 修复触摸灯效动画
2. 添加触摸双指灯效
3. 修复了按键扫描不稳定的问题
Ver2519:
1. 适配WIN11动态灯效
2. 触摸条暂时只保留多媒体功能
Ver2541
1. 修复上报32位坐标溢出的问题
2. 每次W11_LAMP更新时切换到在线模式
3. 屏蔽休眠恢复后的重加载功能
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程工程成员
知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。


评论