突然想起键位冲突问题 看到某大神的帖子 去测试了一下
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键无冲
那么问题来了,如何修改固件实现全键无冲。。。。
打赏帖 | |
---|---|
【Zephyr】使用Zephyr外设初始化过程解析被打赏30分 | |
【S32K146】S32DS watchdog 配置使用被打赏20分 | |
【Zephyr】使用 IAR 调试 Zephyr 镜像被打赏20分 | |
赚取电动螺丝刀+电源电路理论知识分享1被打赏5分 | |
我想要一部加热台+分享常见运算放大器电路的应用被打赏5分 | |
【Zephyr】MCXN947 Zephyr 开发入门适配shell被打赏20分 | |
我想要一部加热台+常见的MOS管驱动电路被打赏5分 | |
【我要开发板】6.联合MATLAB记录数据被打赏50分 | |
【换取手持数字示波器】MicrochipMPLABHarmony框架下串口调试printf输出记录被打赏29分 | |
【瑞萨RA2E1开发板】:使用ADC功能实现位移传感器采集方案被打赏20分 |