|
发表于 2014-12-5 23:31:44| 字数 1,256| - 中国–四川–成都 电信
|
显示全部楼层
|阅读模式
大家如果对我做的USB键盘模块有兴趣,就加入群424031784,来讨论DIY的想法.此模块我最多再做3个,需要的朋友请在群里告诉我。
X宝链接 Thinkpad 内置键盘转USB键盘模块 X61 T61 T410 T41 T42 T22 X220
这段时间我一直在段段续续的完善我做的Thinkpad笔记本转USB键盘的模块,目前经过一段时间的使用,已经基本稳定.
设计的过程可以参考我以前的一个贴子: DIY Thinkpad USB键盘
写那个设计的贴子时键盘还没有完成,做到现在,已经有了一些可玩性了,主要的功能有:
1.键盘工作在USB2.0全速模式,提供microUSB接口
2.支持BOOT启动
3.支持除Fn和开关键以外的所有按键重映射.
4.支持软件升级
5.支持按键脚本
6.完美支持指点杆
7.支持部分多媒体控制,比如音量,播放/暂停等
8.支持通过串口进行键盘管理
9.两个键盘接口,同时支持T410系列键盘和T41系列键盘
模块实物
连接X61键盘
连接S31键盘
连接T41键盘
连接X220键盘
对于Thinkpad键盘的Fn组合键的功能,有些是需要上位机软件,也就是键盘驱动配合的,所以Fn键的功能没有去实现.
关于指点杆,完全模拟成了一个USB鼠标,按下中键后上下移动指点杆为滚动操作,单独按中键无响应.加快了鼠标移动速度,还是比较合适的.
我做的这个模块,为了图剩事,就没有写上位机的软件,所以用了串口来进行控制管理,包括软件升级,按键重映射,脚本编写这些功能,都是通过串口来通信的,可能有的朋友从来都没有用过串口呢
按键映射功能可通过串口进行设置
关于按键脚本,我为了图简单,就只做了一个类似于汇编语言的脚本解析和执行的虚拟机,门槛比较高.
Fn+1执行脚本1,这是脚本执行结果,输出高为10的一个正三角形
关于按键冲突,之前我说大话了,我不可能办到任意6键无冲,只有不在相同的两行两列中的键,才能无冲,这个是矩阵键盘的通病,软件没有办法解决.
要想按键无冲,只能选择带二极管的机械键盘,我现在算是明白了机械键盘存在的意义了
普通的薄膜矩阵键盘,只要是在相同的两行两列的键,都会冲突,只不过键盘控制器为了避免出现鬼键,只输出先按下的两个键,宁可杀错一千,不放过一个.
大家可以试试,依次按下A,S,W,Q,你会发现,只有A,S被响应了,当然不光这4个键,只要是冲突位的键,都只能同时按键两个,剩下的都被吃掉了.
但是我没有处理这个鬼键,懒得管他.如果我按下ASW,那么Q就会自动被按下,按三送一啊,赚了
再给大家分享一张我整理的按键矩阵表,这是从Thinkpad键盘上得出来的,我发现我的其他键盘矩阵也很相似,很有参考价值
最后,有朋友跟贴说也想要一个模块,我也愿意帮大家做,但是,量太少的话,成本太高,还要我自己焊接调试,很累的说.
如果有10个以上的量,我可以做一批,因为是纯手工制作,工期会比较长.
另外如果各位朋友真心想要,那就提供一些不同型号的键盘接口,我会重新画板,争取最大的兼容性.
[ Edited by zmingwang on 2015-1-2 15:04 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
x
评分
-
查看全部评分
|