百科问答小站 logo
百科问答小站 font logo



PS2 接口键盘和 USB 接口键盘间有何区别? 第1页

  

user avatar   shi-guo-huai 网友的相关建议: 
      

参考这个回答吧:

为什么 USB 键盘会有键冲而 PS2 的键盘能全键无冲?

简单的说:USB键盘的一个数据包只有8个字节(为什么只有8个,这是因为协议规定,为什么协议这么规定,是因为早期的时候USB速度慢,使用中断传输一个包最大就8个字节),其中2个字节标记状态,其余6个字节用来记录当前按下或者弹起的按键的扫描码,所以,USB键盘最多同时描述6个按键的状态。

USB键盘的这种坑爹的设计规范导致了它只能做到最多6个按键无冲。

要想解决这个问题,必须重新设计USB键盘的规范,但我估计没人愿意这么做,因为这东西用的好好的,大多数人没事也不会一起按6个键。

至于PS/2键盘,用的不是这种规范,PS/2是:按下什么就报告什么,弹起什么也报告什么,如果同时按下10个键,就依次报告10个按下事件,至于能同时记录多少个按键的状态,协议没有限制,取决于操作系统本身,所以PS/2键盘理论上可以做到无限按键无冲。

当然,确实有人见过USB键盘突破了6个按键的限制,可能的原因之一是:这种键盘内置的USB设备是多个键盘+USB HUB的方式,因为USB允许多级设备连接,这样就可以突破6个的限制了。当然,USB键盘自己自带驱动也是一个办法,因为虽然中断传输只有6个字节,但Bulk传输传256个字节都没问题。(注:我自己百度了一下,发现虽然很多厂商实现了USB全键无冲,但似乎bug也不少,看来技术还有待发展啊)

总之,规范是规范,也总有不受规范限制的办法。

附上USB HID的键盘规范:


摘自:《Device Class Definition for Human Interface Devices (HID) Version 1.11》




  

相关话题

  电脑键盘上的截图键(Print Screen)是谁发明的? 
  用电脑usb给手机充电,一种情况就插着啥事不干,一种情况持续往里拷大文件,充电速度会有影响么? 
  USB 雷电 DP这些接口标准文档都定义了哪些内容? 
  电脑的USB接口可以做成typec接口吗? 
  房间里只有一个usb接口 但吹风机只能插插头 什么转换器能转化? 
  ubuntu下,最多可以挂载多少个USB-U盘? 
  电脑主机后面的VGA或DVI接口,可以转换成USB接口吗? 
  电脑外接 USB,当需要拔出 USB 设备时,直接物理性拔出与「安全退出硬件并弹出媒体」有何差别? 
  电脑接口与 USB 连接时工作原理是怎样的? 
  ubuntu下,最多可以挂载多少个USB-U盘? 

前一个讨论
刘涛到底是怎样的人呢?
下一个讨论
你捡到过的最贵的东西是什么?





© 2024-05-18 - tinynew.org. All Rights Reserved.
© 2024-05-18 - tinynew.org. 保留所有权利