Advertisement

PS/2 Scan Code与USB HID转换表

  • 5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:PDF


简介:
本资料详细列出了PS/2扫描码和USB HID报告之间转换对照关系,帮助开发者理解和实现键盘输入兼容性。 ### USB HID到PS2扫描码转换表:深入解析 #### 概述 在计算机外设领域,USB(通用串行总线)和PS2接口是两种常见的连接方式,分别用于键盘、鼠标等输入设备的连接。尽管随着USB技术的发展与普及,许多现代设备不再支持传统的PS2接口,但在某些情况下,如旧系统或特定环境需求中,仍需使用PS2接口进行兼容性操作。为了确保这两种不同标准之间的互换性和无缝衔接,需要一种机制将USB HID(Human Interface Device)协议下的数据转换为PS2扫描码,并反向处理这些编码信息。本段落深入探讨了这一转换过程的关键概念和细节。 #### USB HID与PS2接口 **USB HID**:作为一种允许个人计算机与其外部设备进行通信的标准化协议,HID支持包括键盘、鼠标以及游戏控制器等在内的多种外设类型。通过使用通用的数据格式及通讯规则,这些设备能够直接连接到主机上的USB端口,并且无需额外安装驱动程序即可正常工作。 **PS2接口**:最初由IBM公司开发设计的一种6针式物理接头标准,主要用于键盘和鼠标的连接操作中。与即插即用的USB技术相比,使用PS2接口的设备通常需要特定的操作系统支持或专用驱动才能顺利运行;并且在数据传输过程中采用的是扫描码编码形式来表示按键的状态信息。 #### 转换表结构 转换表格内包含了多个重要字段: - **KeyName**:具体代表了某个键位名称,例如“aA”即指代英文字母“A”的大小写状态。 - **HIDUsagePage**:定义了一组逻辑相关的功能集合编号;如07表示主键盘文本输入控制类别。 - **HIDUsageID**:用于标识特定功能或按键的唯一数字代码。 - **PS2Set1Make/Break** 和 **PS2Set2Make/Break** :分别对应于两种不同编码体系下,当某个键被按下或释放时所生成的具体扫描码。 #### 详细解析 以“aA”为例,在HID使用页面编号为07(主键盘)的情况下,“aA”的具体标识符是04。用户按压“A”键时,设备会发送包含该特定使用ID的HID报告;而在PS2协议中则分别对应第一组和第二组扫描码中的1E/9E与1C/F01C作为按键按下及释放状态。 对于其它类似“1!”这样的特殊字符键位,“其在USB HID下的标识符为1E,而具体对应的两个不同编码体系下(PS2 Set 1 和 PS2 Set 2)的扫描码分别为:02/82和16/F016。” #### 错误处理 转换表中还包括了错误代码部分,“OverrunError”、“POSTFail”及“ErrorUndefined”。这些特定于设备在数据传输过程中可能出现的问题,如缓冲区溢出或加电自检失败等。它们分别由FF、FC和UNASSIGNED来表示;而HID协议则通过不同的使用标识符进行识别。 #### 结论 USB HID到PS2扫描码的转换表是实现不同接口间兼容性的关键工具之一。理解并运用该表格,有助于开发者设计出更加灵活且适应性强的输入设备驱动程序,从而确保用户能够在各种类型的硬件连接标准之间自由切换,并提升整体使用体验和系统的稳定运行能力。尽管USB技术已逐渐成为主流选择,但掌握这种转换机制对于维护旧系统或特定应用场景下的兼容性仍然至关重要。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • PS/2 Scan CodeUSB HID
    优质
    本资料详细列出了PS/2扫描码和USB HID报告之间转换对照关系,帮助开发者理解和实现键盘输入兼容性。 ### USB HID到PS2扫描码转换表:深入解析 #### 概述 在计算机外设领域,USB(通用串行总线)和PS2接口是两种常见的连接方式,分别用于键盘、鼠标等输入设备的连接。尽管随着USB技术的发展与普及,许多现代设备不再支持传统的PS2接口,但在某些情况下,如旧系统或特定环境需求中,仍需使用PS2接口进行兼容性操作。为了确保这两种不同标准之间的互换性和无缝衔接,需要一种机制将USB HID(Human Interface Device)协议下的数据转换为PS2扫描码,并反向处理这些编码信息。本段落深入探讨了这一转换过程的关键概念和细节。 #### USB HID与PS2接口 **USB HID**:作为一种允许个人计算机与其外部设备进行通信的标准化协议,HID支持包括键盘、鼠标以及游戏控制器等在内的多种外设类型。通过使用通用的数据格式及通讯规则,这些设备能够直接连接到主机上的USB端口,并且无需额外安装驱动程序即可正常工作。 **PS2接口**:最初由IBM公司开发设计的一种6针式物理接头标准,主要用于键盘和鼠标的连接操作中。与即插即用的USB技术相比,使用PS2接口的设备通常需要特定的操作系统支持或专用驱动才能顺利运行;并且在数据传输过程中采用的是扫描码编码形式来表示按键的状态信息。 #### 转换表结构 转换表格内包含了多个重要字段: - **KeyName**:具体代表了某个键位名称,例如“aA”即指代英文字母“A”的大小写状态。 - **HIDUsagePage**:定义了一组逻辑相关的功能集合编号;如07表示主键盘文本输入控制类别。 - **HIDUsageID**:用于标识特定功能或按键的唯一数字代码。 - **PS2Set1Make/Break** 和 **PS2Set2Make/Break** :分别对应于两种不同编码体系下,当某个键被按下或释放时所生成的具体扫描码。 #### 详细解析 以“aA”为例,在HID使用页面编号为07(主键盘)的情况下,“aA”的具体标识符是04。用户按压“A”键时,设备会发送包含该特定使用ID的HID报告;而在PS2协议中则分别对应第一组和第二组扫描码中的1E/9E与1C/F01C作为按键按下及释放状态。 对于其它类似“1!”这样的特殊字符键位,“其在USB HID下的标识符为1E,而具体对应的两个不同编码体系下(PS2 Set 1 和 PS2 Set 2)的扫描码分别为:02/82和16/F016。” #### 错误处理 转换表中还包括了错误代码部分,“OverrunError”、“POSTFail”及“ErrorUndefined”。这些特定于设备在数据传输过程中可能出现的问题,如缓冲区溢出或加电自检失败等。它们分别由FF、FC和UNASSIGNED来表示;而HID协议则通过不同的使用标识符进行识别。 #### 结论 USB HID到PS2扫描码的转换表是实现不同接口间兼容性的关键工具之一。理解并运用该表格,有助于开发者设计出更加灵活且适应性强的输入设备驱动程序,从而确保用户能够在各种类型的硬件连接标准之间自由切换,并提升整体使用体验和系统的稳定运行能力。尽管USB技术已逐渐成为主流选择,但掌握这种转换机制对于维护旧系统或特定应用场景下的兼容性仍然至关重要。
  • STM32F103C8 UART到USB HID键盘鼠标
    优质
    本项目是一款基于STM32F103C8微控制器设计的UART到USB HID键盘鼠标转换工具,实现串口数据向PC端键盘、鼠标操作信号的无缝传输。 STM32F103C8通过串口(UART)转USB HID键盘鼠标 使用Composite Device组合设备: - 一个Device -> 一个Configuration -> 两个Interface (Keyboard & Mouse) - Keyboard Interface: 使用HID boot模式,有两个Endpoint(IN_0x81和OUT_0x01),不使用Report ID - Mouse Interface: 使用HID boot模式,有一个Endpoint(IN_0x82),同样不使用Report ID 通过这种方式可以确保在计算机设置BIOS时的操作兼容性。 串口接收命令: - UART协议:波特率 115200, 数据位 8, 停止位 1 - 每帧发送的字符串格式,以{开始; }结束;使用逗号分隔。共9个十进制数字例如: {1,2,3,4,5,6,7,8,9} - 第九位区分Keyboard(64)或Mouse(128)命令 - 示例: - 发送 Keyboard 命令: {0,0,0,0,0,0,0,0,64} - 发送 Mouse 命令:{0,0,0,0,0,0,0,0,128} 发送Keyboard命令时: - 第一位表示按键释放和各种控制键的状态 - 示例: - {8} 表示Win键被按下或松开 - {128} 发送 WinApp_Key 键(右Windows) - {32} 右Shift键按住状态 发送Mouse命令时: - 第一位表示鼠标按钮的状态,包括左、中和右按键。 - 示例: - 左点击:{1} - 右点击: {2} - 中间滚动或点击:{4} - 后面的位用于指定鼠标的移动距离(X,Y)及滚轮转动量(Wheel): - X轴范围从-127到+127,Y轴同样。 - 滚轮数据也使用相同范围。 按键码可参考HID Usage ID标准文档。
  • C++USB HID
    优质
    本课程介绍如何使用C++编程语言开发USB HID设备的应用程序和驱动程序,涵盖HID协议原理、数据传输机制及实际项目案例。 标题中的C++ USB HID指的是使用C++编程语言与USB人机交互设备(Human Interface Device,简称HID)进行通信的技术。USB HID是USB设备类规范的一部分,它定义了一种通用接口,允许诸如键盘、鼠标和其他输入输出设备与计算机进行通信。在C++中实现USB HID通信涉及到对USB协议的理解、HID类库的使用以及设备驱动程序的开发。 我们需要理解USB通信的基础。USB是一种串行接口标准,用于连接各种外部设备到个人电脑。它提供了数据传输、电源供应以及设备管理功能。USB设备分为多个类,HID类就是其中之一,专为简单的输入输出设备设计,如游戏控制器、键盘和鼠标。 C++ USB HID编程通常涉及以下几个关键点: 1. **库的使用**:开发者通常会利用现有的库来简化USB HID编程,例如libusb、hidapi或WinUSB等。这些库封装了USB协议的细节,并提供了更友好的API供开发者调用。 2. **枚举和识别设备**:在C++代码中,需要通过枚举USB总线来发现并识别HID设备。这包括获取设备描述符和配置描述符以确定设备类型、功能及能力。 3. **打开与关闭设备**:一旦找到目标设备,就需要使用特定的API打开一个句柄来进行通信,并在完成任务后正确地关闭该句柄以释放资源。 4. **读写操作**:通过已建立的连接可以进行数据传输。对于HID设备而言,通常会发送控制传输(报告标识符和相应数据)或接收中断传输(获取输入报告)。 5. **错误处理**:硬件交互过程中可能出现各种问题,因此良好的错误处理机制至关重要。这包括异常捕获、检查返回码及适当的日志记录等措施。 6. **同步与异步通信**:根据应用需求选择合适的通讯方式——简单直接的同步方法可能会阻塞主程序执行;而更高效的异步模式则需要应对回调函数和线程同步带来的复杂性。 7. **设备描述符解析**:理解报告描述符是关键,因为它定义了设备支持的数据格式。 文件名HID USB 201408可能指的是一个关于2014年8月的USB HID相关的项目或教程。该文档可能包含源代码示例、详细说明或者教学指南,帮助开发者学习如何在C++中实现与各种HID设备之间的交互功能。 总之,C++ USB HID编程是一项技术含量较高的任务,需要掌握有关USB协议和驱动程序开发的知识,并且熟悉特定库的使用方法。通过实践探索及持续学习,可以构建出能够灵活定制用户界面的应用程序,从而提供更加个性化的人机互动体验。
  • HID-Relay: Arduino项目,将有线USB HID设备为蓝牙(通过蓝牙HID模块传输USB HID报告)
    优质
    HID-Relay是一款基于Arduino的创新项目,能够将有线USB HID设备转换并通过蓝牙HID模块进行无线传输,实现便捷的数据交换与远程控制。 HID继电器让有线USB设备能够使用蓝牙功能。Arduino项目通过蓝牙HID模块将USB Host Shield中的USB HID报告经由管道发送出去。所需组件包括Arduino Pro Mini(3.3V版本)、带有UART的迷你版USB Host Shield以及RN-42或已转换固件的HC-05/HC-06 蓝牙HID模块。 软件方面,你需要安装Arduino/Genuino IDE,并确保使用最新版本的库文件。建议从GitHub获取这些库文件,因为通过Arduino IDE下载器获得的版本可能已经过时。 硬件设置上,请为项目供电:给Arduino和蓝牙模块提供电力(请注意检查你的规格书以确认电源需求),并且USB Host Shield的所有电压均需设定在3.3V;但插入到该屏蔽层中的设备应能承受5V。为了处理上述问题,你需要通过RAW引脚来调整电压供应。
  • USB HID
    优质
    USB HID(Human Interface Device)库是一套用于开发和实现USB人机接口设备的软件工具包,简化了键盘、鼠标等外设与计算机之间的通信。 这个压缩包包含三个文件:hidapi.dll,hidapi.h 和 hidapi.lib。在 Qt 工程中可以直接包含头文件,并且在 pro 文件里添加库就可以使用这些文件中的方法。
  • VGA、DVI、PS/2USB、RJ45、HDMI接口连线图
    优质
    本资料详细展示了计算机及外设常见的VGA、DVI、PS/2、USB、RJ45和HDMI等接口的连线方式,帮助用户轻松搭建电脑周边设备。 VGA、DVI、PS2、USB、RJ45、HDMI等各种引线图和接线规范图仅供学习使用。
  • STM32F103C8T6 USB HID通信USB调试助手
    优质
    本文介绍了如何使用STM32F103C8T6微控制器实现USB HID通信,并展示了利用USB调试助手进行开发和调试的方法。 STM32f103C8T6枚举成HID设备与PC通信,实测速度可达64K/s,USB口D+需要上拉1.5K电阻。压缩包内包含一个USB调试助手,可以用于调试HID通信。
  • USB HID监控
    优质
    简介:USB HID(Human Interface Device)监控是指对符合人机接口设备规范的USB设备进行监测和管理的技术,用于保障系统安全及优化用户体验。 USB HID通信监控有助于USB HID开发或编写代码。