USB HID与PS/2键盘扫描码转换详解

4星 · 超过85%的资源 需积分: 35 16 下载量 28 浏览量 更新于2024-10-24 收藏 133KB PDF 举报
"USBHIDtoPS/2ScanCodeTranslationTablePage1of5©2004MicrosoftCorporationRevised4/2/2004" 本文介绍的是USB Human Interface Device (HID) 到PS/2扫描码的转换表,这对于理解不同键盘输入设备在不同接口间的通信至关重要。在早期的计算机系统中,PS/2接口广泛用于键盘和鼠标,而随着技术的发展,USB接口逐渐成为主流,但为了兼容旧系统,需要将USB HID键盘的信号转换为PS/2扫描码。 首先,我们来看一下表格中的各个列名的含义: - KeyName: 表示按键名称,例如字母键、功能键等。 - HIDUsagePage: HID设备使用的页面,用于定义设备功能的类别,例如通用控制设备(01)。 - HIDUsageID: 在选定的Usage Page内的唯一标识符,代表具体的按键或功能。 - PS/2Set1Make*: 当按下键时,PS/2键盘发送的扫描码。 - PS/2Set1Break*: 当释放键时,PS/2键盘发送的扫描码。 - PS/2Set2Make: 对于某些扩展的PS/2键盘,按下键时发送的扫描码。 - PS/2Set2Break: 对于某些扩展的PS/2键盘,释放键时发送的扫描码。 表格中的数据列出了各种常见按键及其在USB HID和PS/2接口下的对应扫描码。例如,'SystemPower'键的HIDUsagePage是01,HIDUsageID是81,当按下时,PS/2Set1Make*发送的扫描码是E05E,释放时发送E0DE。对于字母键,如'aA',其HIDUsagePage和HIDUsageID分别为07和04,按下时PS/2Set1Make*发送的扫描码是1E,释放时发送9E。 这个转换表对于软件开发者,特别是驱动程序开发者和硬件工程师来说非常有用,他们需要确保USB HID键盘在连接到使用PS/2接口的系统时能正常工作。此外,这个表还涵盖了特殊键和系统控制键,如'SystemSleep'、'SystemWake'以及错误处理代码,如'OverrunError'和'POSTFail',这些都对系统级别的交互有直接影响。 USB HID到PS/2扫描码的转换是实现跨接口键盘兼容性的重要步骤。通过理解和使用这个转换表,我们可以更好地理解不同键盘设备如何与计算机进行通信,并解决可能的兼容性问题。在实际应用中,这种转换通常由硬件层面的适配器或者操作系统中的驱动程序自动完成。