USB HID到PS/2扫描码转换表详解

需积分: 35 5 下载量 123 浏览量 更新于2024-09-09 1 收藏 133KB PDF 举报
"USBHIDtoPS/2ScanCodeTranslationTablePage1of5©2004MicrosoftCorporationRevised4/2/2004" 本文档提供了一个USB Human Interface Device (HID) 到PS/2扫描码转换表,这对于理解不同输入设备(如键盘)如何在不同接口下工作至关重要。HID是USB设备类规范的一部分,用于定义用户界面设备,如鼠标、键盘和其他输入设备。PS/2接口则是一种早期的计算机接口,主要用于连接键盘和鼠标。 在表格中,每个条目对应一个特定的键或系统事件,列出了其在HID使用页(Usage Page)、HID使用ID(Usage ID)、以及在PS/2的两种扫描码集(Set1和Set2)中的“Make”(按下)和“Break”(释放)代码。这些代码用于在设备和主机之间传输按键信息。 - KeyName:表示具体的按键或系统事件,例如“SystemPower”,“SystemSleep”,“aA”,“bB”等。 - HIDUsagePage:定义了按键或事件的类别。例如,对于键“aA”,Usage Page 07表示基本键盘输入。 - HIDUsageID:在Usage Page内的唯一标识符,用于区分不同的按键或事件。 - PS/2Set1Make和PS/2Set1Break:是PS/2接口的Set1扫描码,分别表示按键按下和抬起时发送的值。 - PS/2Set2Make和PS/2Set2Break:是PS/2接口的Set2扫描码,同样代表按键的按下和抬起状态。 表格中的某些条目代表特殊事件或错误情况,例如: - NoEvent:表示没有事件发生,通常表示无效或未定义的扫描码。 - OverrunError:当设备数据传输速率超过主机接收能力时发生的错误。 - POSTFail:POST(加电自检)失败,通常发生在计算机启动过程中硬件检测失败。 - ErrorUndefined:未定义的错误,可能指示扫描码未被识别或不适用于当前设备。 对于键盘上的字母和数字键,如"aA"到"xX",每个键都有对应的HID Usage ID和PS/2扫描码,这使得键盘能在USB和PS/2接口间无缝切换。例如,“aA”的HID Usage ID是04,Set1 Make码是1E,而Set2 Make码是9E。 这个转换表对于驱动程序开发者、硬件工程师和那些需要处理USB和PS/2设备交互的软件开发者来说是极其有价值的参考资料,它确保了不同接口标准下的键盘输入能被正确解析和处理。