鼠标发送给PC的数据每次4个字节
BYTE1 BYTE2 BYTE3 BYTE4
定义分别是:
BYTE1 --
|--bit7: 1 表示 Y 坐标的变化量超出-256 ~ 255的范围,0表示没有溢出
|--bit6: 1 表示 X 坐标的变化量超出-256 ~ 255的范围,0表示没有溢出
|--bit5: Y 坐标变化的符号位,1表示负数,即鼠标向下移动
|--bit4: X 坐标变化的符号位,1表示负数,即鼠标向左移动
|--bit3: 恒为1
|--bit2: 1表示中键按下
|--bit1: 1表示右键按下
|--bit0: 1表示左键按下
BYTE2 -- X坐标变化量,与byte的bit4组成9位符号数,负数表示向左移,正数表右移。用补码表示变化量
BYTE3 -- Y坐标变化量,与byte的bit5组成9位符号数,负数表示向下移,正数表上移。用补码表示变化量
BYTE4 -- 滚轮变化。
由于手上没有USB鼠标,对BYTE1的4-7位没有测试,对于BYTE2 BYTE3做个测试,BYTE1的4-7全为0的时候,BYTE2 BYTE3的正负表示鼠标移动方向
键盘发送给PC的数据每次8个字节
BYTE1 BYTE2 BYTE3 BYTE4 BYTE5 BYTE6 BYTE7 BYTE8
定义分别是:
BYTE1 --
|--bit0: Left Control是否按下,按下为1
|--bit1: Left Shift 是否按下,按下为1
|--bit2: Left Alt 是否按下,按下为1
|--bit3: Left GUI 是否按下,按下为1
|--bit4: Right Control是否按下,按下为1
|--bit5: Right Shift 是否按下,按下为1
|--bit6: Right Alt 是否按下,按下为1
|--bit7: Right GUI 是否按下,按下为1
BYTE2 -- 暂不清楚,有的地方说是保留位
BYTE3--BYTE8 -- 这六个为普通按键
键盘经过测试。
例如:键盘发送一帧数据 02 00 0x04 0x05 00 00 00 00
表示同时按下了Left Shift + ‘a’+‘b’三个键
对于键码和PS2的键盘有所不同,具体请看附件。
USB HID to PS2 Scan Code 对照表.pdfourdev_651088NZ5EKW.pdf(文件大小:133K) (原文件名:USB HID to PS2 Scan Code Translation Table .pdf)
2011.6.23补充说明
补充对于键盘BYTE2的说明:
参照百合网(http://www.baiheee.com/OpenSource/Easy%20USB%2051%20Programer/Easy%20USB%2051%20Programer12.htm)键盘的报告描述符,如下
/*******************************************************************************************/
//这里只列出了第二个字节的说明
//这样的数据段个数为1
0x95, 0x01, // REPORT_COUNT (1)
//每个段长度为8bits
0x75, 0x08, // REPORT_SIZE (8)
//输入用,常量,值,绝对值
0x81, 0x03, // INPUT (Cnst,Var,Abs)
//上面这8个bit是常量,设备必须返回0
/*******************************************************************************************/
这里只是指明了这是一个以字节为单位的输入数据,并没有指明它的取值范围。
在HID1.11协议的Appendix B-->B.1 Protocol 1 (Keyboard) 的报告描述符中也有这样的说明(HID1.11协议的59页)
/*******************************************************************************************/
Report Count (1),
Report Size (8),
Input (Constant), ;Reserved byte
Report Count (5),
Report Size (1),
/*******************************************************************************************/
在注释中说明,这个字节是保留字节。
相关推荐
USB-HID鼠标、键盘通讯格式
详细介绍了,鼠标键盘的数据格式。 鼠标发送给PC的数据每次4个字节 BYTE1 BYTE2 BYTE3 BYTE4
鼠标发送给PC的数据
鼠标发送给PC的数据每次4个字节 BYTE1 BYTE2 BYTE3 BYTE4 定义分别是: BYTE1 -- |--bit7: 1 表示 Y 坐标的变化量超出-256 ~ 255的范围,0表示没有溢出 |--bit6: 1 表示 X 坐标的变化量超出-256 ~ 255的范围,0表示没有
基于STM32F103的USB键盘程序代码
基于STM32F103C8的USB键盘程序代码,Keil,与电脑相连后被识别为键盘并周期发送‘a’,主程序可变。
USB键盘常用码值表
00 00 Reserved (no event indicated)9 N/A √ √ √ 4/101/104 1 01 Keyboard ErrorRollOver9 N/A √ √ √ 4/101/104 2 02 Keyboard POSTFail9 N/A
基于stm32f103c8t6的USB-HID键盘示例程序
基于stm32f103c8t6最小系统板,内容配置USB-HID键盘测试程序-基于keil的标准库函数,连接上电脑后,设备管理器会USB-keyboard,固定键盘发送a 间隔200ms ,键盘具体协议格式可在网上自行查找
STM32 STM32F103仿真USB键盘的例程
STM32F103 例程 仿真USB键盘 仿真了四个按键 Caps/Shift/A/Ctrl 其它的按键可以据此自行增添 软件开发工具 KEIL4
STM32F103 CubeMX 使用USB生成键盘设备
需要注意的是,如果按键松开了,则需要将按键松开的信息发送过去。否则的话会默认按键一直按下。从而产生多余的信息。#include “usbd_hid.h” 文件中的申明文件,修改一下。这里调用函数:USBD_HID_SendReport,发送数据给电脑。配置信息的时候,主要配置了外部时钟,debug口,USB这三个。stm32F103C8T6最小系统板,如下图所示的最简原理图。这部分第一个是因为要调用“usbd_hid”中的函数所以引用。另外也需要使用到usb是这个数据。
usb键盘数据格式,键盘按下后,向主机发送的数据。
usb键盘数据格式,每个键位按下之后,USB口向主机发送的数据,都是固定的。通过这个文档,可以直接查找。
USB鼠标键盘数据格式以及按键键值(转载)
鼠标发送给PC的数据每次4个字节BYTE1 BYTE2 BYTE3 BYTE4定义分别是:BYTE1 -- |--bit7: 1 表示 Y 坐标的变化量超出-256 ~ 255的范围,0表示没有溢出 |--bit6: 1 表示 X 坐标的变化量超出-256 ~ 255的范围,0表示没有溢出 |--b...
stm32f103 USB的HID和MSC复合设备官方源码
本源码是stm32f103官方提供的USB的HID和MSC复合设备库文件源码
无人机蜂群联合指挥作战技术详解
随着人工智能、通信技术、新材料等领域的不断进步,无人机蜂群联合指挥作战技术将迎来更加广阔的发展前景。未来,无人机蜂群将更加智能化、自主化,能够执行更加复杂、精细的作战任务。同时,加强国际合作,共同制定国际规则和标准,将是推动无人机蜂群技术健康发展的重要方向。无人机蜂群技术,是指通过先进的通信技术、自主导航与决策算法,将大量小型、低成本、功能各异的无人机组织成一个高度协同的群体,执行复杂多样的军事任务。2. 通信与数据链:采用高速、低延迟、抗干扰的通信技术,保障群体内无人机间的信息交换。
STM32F103之USB鼠标、键盘数据格式
鼠标发送给PC的数据每次4个字节 BYTE1 BYTE2 BYTE3 BYTE4 定义分别是: BYTE1 -- |--bit7: 1 表示 Y 坐标的变化量超出-256 ~ 255的范围,0表示没有溢出 |--bit6: 1 表示 X 坐标的变化量超出-256 ~ 255的范围,0表示没有溢出
为什么传统CNN在视网膜分割中败给Mamba?从血管拓扑学揭秘Serp-Mamba的蛇形扫描黑科技
本文深入分析了传统CNN在视网膜血管分割任务中的局限性,特别是在处理高分辨率图像和复杂血管拓扑结构时。针对这些问题,文章重点介绍了Serp-Mamba模型的核心创新——蛇形交织自适应扫描(SIA)机制,该机制通过让扫描路径自适应地贴合血管曲率,并结合模糊驱动双重校准(ADDR)模块应对极端类别失衡,从而在视网膜血管分割任务上实现了性能的显著突破。
USB键盘鼠标描述符及数据格式分析
USB HID 键盘鼠标 描述符分析及数据格式解析
从‘全步’到‘微步’:一张图看懂步进电机细分控制,选对模式让你的项目更丝滑
本文深入解析步进电机细分控制技术,从全步到微步的演进过程,帮助工程师根据项目需求选择最优控制模式。通过对比不同细分等级的性能特点和应用场景,提供3D打印、实验室自动化等领域的黄金配置方案,实现更精准、平稳的电机控制效果。
利用ArcMap实现遥感图像语义分割标注的完整流程解析
本文详细解析了利用ArcMap进行遥感图像语义分割标注的完整工作流。从工程创建、数据导入、SHP文件创建,到实战勾画地物、要素转栅格,再到最终的裁剪对齐,提供了每一步的关键操作与避坑指南。该方法特别适合处理大尺寸、带地理坐标的遥感影像,能高效产出精准对齐的图像-标签对,为后续深度学习模型训练奠定可靠的数据基础。
USB鼠标键盘数据格式以及按键键值
鼠标发送给PC的数据每次4个字节BYTE1 BYTE2 BYTE3 BYTE4定义分别是:BYTE1 -- |--bit7: 1 表示 Y 坐标的变化量超出-256 ~ 255的范围,0表示没有溢出 |--bit6: 1 表示 X 坐标的变化量超出-256 ~ 255的范围,0表示没有溢出...
2025软考信息安全工程师真题
2025信息安全工程师软考真题
STM32USB鼠标+键盘串口控制
USB鼠标键盘数据格式以及按键键值 网上相关的资料很多 ,有点分散,我没事就边学习边整理了下,供大家参考``: 原文来自https://blog.youkuaiyun.com/u013771867/article/details/51465193 鼠标发送给PC的数据每次4个字节 BYTE1 BYTE2 BYTE3 BYTE4 定义分别是: BYTE1 – |–bit7: 1 表示 Y 坐标的...
【ros2】从零认识URDF:机器人模型描述的“说明书”
visual>子节点只负责机器人在RViz2中的可视化效果,不参与任何物理计算,就像给零件“穿衣服”。<origin>:定义零件的局部坐标系相对于连杆原点的位姿,参数xyz表示平移(单位:米),rpy表示旋转(单位:弧度,绕x→y→z轴旋转);<geometry>:定义零件的几何形状,支持四种基础形状+外部3D模型;<material>:定义零件的颜色,需要提前定义材质。常见几何形状示例-- 连杆名称:base_link(底座),全局唯一 --> < visual > <!
28-基于STM32单片机的便携式健康监测系统设计与实现(程序+原理图+元件清单)
本文详细介绍了基于STM32单片机的便携式健康监测系统设计与实现,该系统集成MAX30102光电传感器和MSP20压力传感器,实时监测心率、血氧和血压等关键生理指标。通过STM32F103C8T6主控芯片和HC-05蓝牙模块,实现数据采集、处理及无线传输,具有便携性高、操作简便等特点,适用于家庭健康监护和户外运动场景。
USB-HID鼠标、键盘通讯格式【转】
转自:https://blog.youkuaiyun.com/techhome803/article/details/9928873 转自:http://www.amobbs.com/forum.php?mod=viewthread&tid=4823160&page=1&authorid=249202 想用STM32做个无线键鼠遥控、找了好几天没有找到完整的USB鼠标键盘协议介...
Android 13 灭屏音乐播放问题解决与优化建议
通过在中增加对音乐播放状态的检测,我们成功解决了客户应用在灭屏状态下音乐播放被中断的问题。
3547



被折叠的 条评论
为什么被折叠?



