PS2/USB键盘扫描码转换表:底层开发者必备

5星 · 超过95%的资源 需积分: 35 18 下载量 127 浏览量 更新于2024-09-18 收藏 133KB PDF 举报
本文档是一份详细的"USB HID to PS/2 Scan Code Translation Table",它解释了在USB Human Interface Device (HID) 接口的键盘与传统的PS/2键盘之间进行扫描码转换的过程。扫描码是电子设备用来识别输入设备(如键盘)键位状态的编码方式,对于底层硬件开发者和上层应用编程而言,理解这种转换关系至关重要。 首先,文档概述了HIDUsagePage和HIDUsageID,这两个标识符用于区分不同类型的键盘事件,比如按键按下、释放、特殊功能键等。例如,"aA" 的HIDUsageID是0704,对应于PS/2 Set1Make的1E,表明这是小写字母"a"的按键码。这些数值是根据通用键盘布局的标准定义的,比如ASCII码。 表格中列出了常见的键位,如字母"A"到"Z",数字"0"到"9",以及特殊字符如"Shift"、"Control"等。每个键对应着不同的PS/2 Set1Make和PS/2 Set2Make/Break值,这些值在PS/2键盘上被用于发送特定的键码组合,以便系统识别并解析输入。 例如,"Enter"键在PS/2 Set1Make中对应的是E0DE,而在PS/2Set2Break中没有定义,说明在按下Enter时只触发Set1。此外,还有一些特殊状态的键码,如SystemPower、SystemSleep和SystemWake,它们分别对应系统的电源操作和不同的唤醒状态。 在处理这些转换时,底层开发者可能需要编写驱动程序来将接收到的HID扫描码映射到正确的PS/2码,而上层应用则可以根据这些码进行逻辑处理,比如在接收文本输入时正确地显示字符。这份转换表为这两种角色提供了宝贵的参考数据,确保了跨接口间的键盘输入能够无缝对接。理解并运用好这份扫描码转换表对于保证计算机交互的稳定性和兼容性具有重要意义。