突然想起键位冲突问题 看到某大神的帖子 去测试了一下
http://www.microsoft.com/appliedsciences/KeyboardGhostingDemo.mspx
发现刷好默认固件的GH60居然只支持6键无冲。。。超过6个之后 后按的会把先按的顶替掉。简直不能忍
说好的全键无冲呢
然后上网查了一下usb hid协议 理解了一些
突然想起键位冲突问题 看到某大神的帖子 去测试了一下
http://www.microsoft.com/appliedsciences/KeyboardGhostingDemo.mspx
发现刷好默认固件的GH60居然只支持6键无冲。。。超过6个之后 后按的会把先按的顶替掉。简直不能忍
说好的全键无冲呢
然后上网查了一下usb hid协议 理解了一些
后面又研读了知乎某大神的回答
“USB协议下,键盘会以某个固定的回报率(每秒125-1000次),定期向主机发送当前按键的状态,每次发送8个字节,这8个字节的具体内容则是:
第一个字节:8位分别表示左右的Ctrl、Shift、Alt、Win各自是否被按下。这8个键统称为(modifer key),因为规范已经事先定义好每一位的含义,从而得以能够只用一个字节就表示8个键的状态。
第二个字节:保留(无用)
其余6个字节:当前正按下的6个(一般按键,比如字母、数字等)(如果按了7个以上,根据键盘主控芯片内置的程序,可能取最先按的6个,也可能取最后按的6个)。
即每1-8ms,可以发送最多14个按键的状态信息。
最多能发送14个按键,扣除Ctrl、Alt、Win、Shift一共8个键外,还剩下6个字母、数字等按键。
”
懂了 原来是因为hid 协议 限制了键盘的6键无冲
那么问题来了,如何修改固件实现全键无冲。。。。
打赏帖 | |
---|---|
宏定义和const关键字定义被打赏5分 | |
【功率监测与控制系统DIY活动成果贴】DIY功率计与LabVIEW数据采集被打赏100分 | |
【Freertos】任务管理被打赏10分 | |
分享博世的两种不同的喷射系统模式被打赏5分 | |
汽车+开路实验与短路实验被打赏10分 | |
多点式电子控制汽油喷射系统知识分享被打赏10分 | |
分享机械控制式汽油喷射系统被打赏5分 | |
【分享开发笔记,赚取电动螺丝刀】解决基于CH341制作无线模块时芯片发热问题被打赏31分 | |
【分享开发笔记,赚取电动螺丝刀】使用STM32F103ZE主控调试RS485通讯的避坑经验被打赏36分 | |
【分享开发笔记,赚取电动螺丝刀】移植xprintf模块被打赏27分 |