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

需积分: 10 9 下载量 137 浏览量 更新于2024-08-30 收藏 133KB PDF 举报
"USB HID to PS2 Scan Code Translation Table.pdf" 这篇文档主要介绍的是USB HID(Human Interface Device)与PS/2接口键盘之间的扫描码转换表,对于进行键盘开发或者需要理解USB与PS/2键盘协议转换的工程师来说,这是一个非常实用的参考资料。文档详细列出了各种按键在USB HID和PS/2 Set1、Set2协议下的键值表示,有助于开发者在不同平台间实现键盘事件的兼容处理。 首先,让我们了解一下HID Usage Page和HID Usage ID。HID Usage Page定义了设备功能类别,例如通用键盘功能就属于“Generic Desktop” Usage Page (01)。而HID Usage ID则是在特定Usage Page内的具体功能标识,例如“System Power”(81)代表电源管理中的电源键。 在USB HID协议中,按键按下和释放通常分别对应Make Code和Break Code。例如,"SystemPower"的HID Usage Page是01,HID Usage ID是81,其对应的USB HID Make Code是E05E,Break Code是E0DE。而PS/2键盘有Set1和Set2两种编码方式,Set1通常用于早期键盘,Set2是后来的标准。"SystemPower"在PS/2 Set1的Make Code是E0F037,Break Code是E037;在Set2中,Make Code是E0F03F,Break Code是E03F。 文档还包含了系统级的控制键,如“SystemSleep”、“SystemWake”等,这些键在不同操作系统环境下可能有不同的作用,例如触发计算机进入休眠或唤醒状态。同时,也有错误处理相关的代码,如"OverrunError",当键盘缓冲区溢出时,USB设备会发送FF作为错误代码。 此外,文档详细列举了英文字母"a"到"z",数字"0"到"9",以及其他特殊符号的扫描码。例如,字母"a"在USB HID中的Make Code是1E,Break Code是9E,在PS/2 Set1中Make Code是1C,Break Code是F01C,而在Set2中Make Code是21,Break Code是F021。这样的转换表对于编写驱动程序或者处理键盘输入事件的软件开发者尤为重要。 总结来说,这份“USB HID to PS2 Scan Code Translation Table.pdf”提供了详尽的键值映射关系,对于理解和实现USB与PS/2键盘在硬件层面的交互,以及软件层面上的事件处理具有很高的参考价值。无论是硬件设计者还是软件开发者,都能从中获益,更好地理解和处理键盘输入的各种情况。