USB键盘到PS/2扫描码转换表

4星 · 超过85%的资源 需积分: 35 29 下载量 34 浏览量 更新于2024-11-13 收藏 133KB PDF 举报
该资源提供了一份详细的USB人机交互设备(HID)与PS/2键盘扫描码转换表,用于解释不同按键在两种接口下的表示方式。这份文档由微软公司于2004年修订,旨在帮助开发者理解并实现USB键盘与使用PS/2接口的系统之间的兼容性。 在USB键盘中,人机交互设备类(HID)是通用串行总线(USB)定义的一种标准设备类型,用于处理各种输入设备,如键盘和鼠标。HID设备通过特定的使用页(Usage Page)和使用ID(Usage ID)来定义其功能。例如,键位"aA"在HID使用页07,使用ID04下被识别。 转换表列出了USB HID的键值以及它们在PS/2接口的两种扫描码模式(Set1和Set2)中的“Make”(按下)和“Break”(释放)值。“Make”事件对应于键的按下,而“Break”事件对应于键的释放。在PS/2接口中,Set1通常用于旧式83键键盘,而Set2适用于101/102键键盘。 例如,"aA"键的HID Usage Page是07,Usage ID是04。当用户按下"aA"键时,对应的PS/2 Set1 Make码是1E,Set1 Break码是9E,Set2 Make码是AE,Set2 Break码是F021。而"F0"前缀的扫描码通常是用来表示扩展的键,例如Fn键或功能键的组合。 此表格还包括了一些系统级的控制键,如“SystemPower”、“SystemSleep”和“SystemWake”,这些键的操作可能会触发计算机的电源管理状态改变。例如,"SystemPower"在HID中使用01,81,对应的PS/2 Set1 Make码是E05E,Break码是E0DE。 此外,还有一些错误和无事件的标识,如"OverrunError"(07,01),表示数据传输超时或接收错误;"NoEvent"(07,00)则表示没有发生的事件。 这个转换表对于那些需要编写驱动程序或者处理USB键盘与PS/2系统间兼容性的软件开发者来说,是一份非常宝贵的参考资料。通过理解这些扫描码,开发者可以确保键盘输入在不同接口之间的一致性和正确性。