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

需积分: 35 12 下载量 97 浏览量 更新于2024-09-11 收藏 133KB PDF 举报
"USBHIDtoPS/2ScanCodeTranslationTablePage1of5©2004MicrosoftCorporationRevised4/2/2004" 本文档提供了一个USB Human Interface Device (HID) 到PS/2扫描码转换表,这对于理解不同设备之间的键盘输入信号转换至关重要。在计算机硬件领域,USB和PS/2接口是两种常见的键盘和鼠标接口,尽管USB已成为现代设备的主流标准,但PS/2接口仍然在某些系统中使用。HID协议是USB设备中用于处理用户输入设备(如键盘和鼠标)的标准。 在表格中,每一行都对应一个特定的按键或系统事件,并列出了与该事件相关的几个关键数据点: 1. **KeyName**:这是按键的名称或系统事件的标识,例如"SystemPower"、"aA"、"bB"等。 2. **HIDUsagePage**和**HIDUsageID**:这两个字段一起定义了USB HID报告中的具体使用页面和使用ID。它们用于识别特定的按键或系统事件,按照USB HID规范进行编码。 - **HIDUsagePage** 是一个16位整数,表示一组相关联的使用项。例如,01代表"Generic Desktop Controls",这包括键盘和指针设备。 - **HIDUsageID** 是同一页面内使用项的唯一标识,如81对应"System Control",而04对应"a"键。 3. **PS/2Set1Make**和**PS/2Set1Break**:这些是PS/2接口的扫描码,用于表示按键按下(Make)和释放(Break)事件。PS/2键盘通常使用两种扫描码集(Set1和Set2),其中Set1适用于IBM XT和AT兼容的键盘,而Set2则用于更现代的设备。 - **PS/2Set1Make** 是按键按下时发送的扫描码。 - **PS/2Set1Break** 是按键释放时发送的扫描码。 4. **PS/2Set2Make**和**PS/2Set2Break**:与Set1类似,这些是Set2下的扫描码。 这个转换表对于软件开发者和硬件工程师来说非常有用,他们需要确保USB HID设备和旧式的PS/2接口之间能正确通信。例如,当一个USB HID键盘按下"a"键时,它会按照HID协议发送特定的数据,然后由USB到PS/2桥接器将这些数据转换成PS/2接口可以理解的扫描码,使得操作系统能够识别并处理键盘输入。 此外,还有一些特殊的系统事件,如"SystemPower"、"SystemSleep"、"SystemWake",它们分别对应电源管理中的开机、休眠和唤醒操作。这些事件在USB和PS/2接口之间也有相应的转换规则。 总结起来,这个转换表是理解和实现USB HID设备与PS/2设备间兼容性的重要参考资料,它揭示了两种不同接口间键盘输入信号的转换过程。这对于硬件设计、驱动程序开发以及系统级兼容性测试具有重要意义。