突然想起键位冲突问题 看到某大神的帖子 去测试了一下
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键无冲
那么问题来了,如何修改固件实现全键无冲。。。。
打赏帖 | |
---|---|
【换取手持数字示波器】CH32X035的定时器以及外部中断体验被打赏50分 | |
【换取手持数字示波器】CH32X035搭建开发环境(RISC-V)被打赏50分 | |
【换取手持数字示波器】了解一下自带晶振的实时时钟RX8130被打赏40分 | |
【换取手持数字示波器】PCB布局设计技巧之开关电源被打赏50分 | |
【换取手持数字示波器】带PD协议的MCU(CH32X035)开箱被打赏40分 | |
【换取手持数字示波器】浅谈FSMC控制LCD过程中的注意事项被打赏40分 | |
【换取手持数字示波器】驱动设计——玩转BME280被打赏50分 | |
【学习笔记】RK3568简单helloword程序被打赏50分 | |
搭建STM32H503的Keil开发环境被打赏50分 | |
高云FPGA(GW1NR-LV9)使用串口IP无法通信被打赏20分 |