当前位置: 首页 > news >正文

USB鼠标实现——HID 报告的返回(八)

文章目录

  • HID 报告的返回
    • 仓库地址
    • USB 鼠标阅读顺序
    • 报告返回

HID 报告的返回

仓库地址

仓库地址

USB 鼠标阅读顺序

  • 枚举过程
  • USB鼠标实现——设备描述符(一)
  • USB鼠标实现——设置地址(二)
  • USB鼠标实现——配置描述符集合(三)
  • USB鼠标实现——字符串描述符(四)
  • USB鼠标实现——设备限定描述符(五)
  • USB鼠标实现——设置配置和获取配置(六)
  • USB鼠标实现——报告描述符(七)
  • USB鼠标实现——HID 报告的返回(八)

报告返回

根据 HID 报告描述符 中设置的报告,返回 5 字节数据

typedef struct __attribute__ ((packed))
{uint8_t buttons; /**< buttons mask for currently pressed buttons in the mouse. */int8_t  x;       /**< Current delta x movement of the mouse. */int8_t  y;       /**< Current delta y movement on the mouse. */int8_t  wheel;   /**< Current delta wheel movement on the mouse. */int8_t  pan;     // using AC Pan
} hid_mouse_report_t;

USB 端点数据分析

0x0 0x5 0x5 0x0 0x0
  • buttons:0x00
    • 鼠标左键是否按下 0 表示没有按下
  • x:0x05
    • x 轴移动量
  • y:0x05
    • y 轴移动量
  • whell:0x00
    • 滚轮移动量
  • pan:0x00
    • AC pan

在 配置描述符集合 中设置的端点地址为 0x81 ,bit7 位表示数据方向,输入端点 D7 为 1。所以输入端点 1 的地址为 0x81。

将上述报告通过端点返回即可。

相关文章:

USB鼠标实现——HID 报告的返回(八)

文章目录HID 报告的返回仓库地址USB 鼠标阅读顺序报告返回HID 报告的返回 仓库地址 仓库地址 USB 鼠标阅读顺序 枚举过程USB鼠标实现——设备描述符&#xff08;一&#xff09;USB鼠标实现——设置地址&#xff08;二&#xff09;USB鼠标实现——配置描述符集合&#xff08…...

DOPE PEG Maleimide,DOPE-PEG-Mal,二油酰磷脂酰乙醇胺PEG马来酰亚胺

文章关键词&#xff1a;高分子PEG&#xff0c;DOPE&#xff0c;聚乙二醇化修饰试剂基团反应特点&#xff1a; DOPE PEG Maleimide是一种由 DOPE 和马来酰亚胺基团组成的 PEG 化合物。基础产品数据&#xff1a; CAS号&#xff1a;N/A 中文名&#xff1a;1,2-二油酰-SN-甘油-3-磷…...

python-课后作业-2

1.Python 3.x的range()函数返回一个&#xff1a;可迭代的序列对象 注意&#xff1a; Python 3.x的range()函数返回一个可迭代的序列对象&#xff0c;其中包含指定范围内的整数。range()函数的语法如下&#xff1a; range([start], stop[, step]) 其中&#xff0c;start表示序…...

redis 六. list应用场景及底层分析

List 类型一. 简单命令示例二. java 操作示例三. 使用场景四. 底层分析一. 简单命令示例 1.首先简单说明: List是一个双端链表的结构,内容是2的32次方减1个元素,大概40多亿,主要功能有push/pop等,一般用在栈,队列,消息队列等场景 2.简单命令 //1.向列表左边添加元素 LPUSH ke…...

成语填字接龙隐私政策

1. 适用范围 (a) 在您注册本应用帐号时&#xff0c;您根据本应用要求提供的个人注册信息&#xff1b; (b) 在您使用本应用网络服务&#xff0c;或访问本应用平台网页时&#xff0c;本应用自动接收并记录的您的浏览器和计算机上的信息&#xff0c;包括但不限于您的IP地址、浏览…...

导出LKD3588开发板的根文件系统

序:将RK3588上的整个根文件系统的文件通过ssh拷贝到PC系统(虚拟机) 工具:RK3588上的ubuntu系统需要安装:ssh, rsync。 PC电脑(虚拟机)上安装:ssh, rsync。 安装ssh 和rsync不做介绍,百度里面全是,也很简单需要设置开发板root权限的密码,因为后面同步文件的时候会用到…...

【统计模型】某地区土壤所含可给态磷回归分析

目录 某地区土壤所含可给态磷回归分析 一、研究目的 二、数据来源和相关说明 三、描述性分析 3.1 样本描述 3.2 数据可视化 四、数据建模 4.1 回归模型A 4.2 回归模型B 4.3 回归模型B模型诊断 4.4 回归模型C 五、结论及建议 5.1 结论 5.2 建议 六、代码 某地区土…...

redis 十. 线程基础

目录一. redis 基础复习与了解redis6二. redis 线程问题总结一. redis 基础复习与了解redis6 redis官网, redis中文网站, redis命令参考网站此处以redis6.0.8或以上版本为例(查看自己redis版本命令"redis- server -v")按照redis6以上版本测试使用时,redis.conf下需要…...

NQA简介

NQA简介定义目的NQA原理描述使用DHCP进行测试DNS测试NQA的联动机制NQA的应用场景定义 网络质量分析NQA&#xff08;Network Quality Analysis&#xff09;是一种实时的网络性能侦探和统计技术&#xff0c;可以对响应时间、网络抖动、丢包率等网络信息进行统计。NQA能够实时监视…...

[python]上下文管理contextlib模块与with语句

文章目录with语句自定义对象支持withcontextlib模块closing自动关闭suppress回避错误ExitStack清理Python 中的 with 语句用于清理工作&#xff0c;封装了 try…except…finally编码范式&#xff0c;提高了易用性。with语句 with语句有助于简化资源管理&#xff1a; # 离开作…...

STM32之TIM编码器接口

编码器简介&#xff1a; 例子讲解&#xff1a;正交编码器有两个输出&#xff0c;一个A相&#xff0c;一个B相&#xff0c;AB接口输出正交信号。然后接入STM32的定时器的编码器接口&#xff0c;编码器接口自动控制定时器时基单元中的CNT计数器进行自增或自减&#xff0c;比如初始…...

b站第一,Python自动化测试实战详细教学,3天教你学会自动化测试

目录 简介 Python自动化测试概述 Python自动化测试目标 Python自动化测试流程 1. 测试计划和设计 2. 测试脚本开发 3. 测试执行和管理 4. 测试维护和优化 Python自动化测试最佳实践 Python自动化测试工具和框架 结论 简介 自动化测试是软件开发过程中一个必不可少的…...

刷题记录:P8804 [蓝桥杯 2022 国 B] 故障 条件概率

传送门:洛谷 题目描述: 题目较长,此处省略 输入: 3 5 30 20 50 0 50 33 25 0 30 0 35 0 0 0 0 0 25 60 1 3 输出: 2 56.89 1 43.11 3 0.00读完题目,我们会发现其实题目给了我们两个事件,并且这两个事件是相互关联的.因此不难想到使用条件概率 我们将故障原因看做事件AAA,结合…...

【算法】常用的基础数论

作者&#xff1a;指针不指南吗 专栏&#xff1a;算法篇 &#x1f43e;或许会很慢&#xff0c;但是不可以停下&#x1f43e; 文章目录1.GCD&LCM2.判断素数(质数)3.分解质因子1.GCD&LCM 最大公约数&最小共倍数 欧几里得算法——高效 //最大公约数 int gcd(int x,i…...

云原生场景下的容器网络隔离技术

云原生场景下的容器网络隔离技术 一、研究背景 随着云计算时代的到来&#xff0c;尤其是容器化技术的飞速发展&#xff0c;云原生作为云计算的未来阶段&#xff0c;其安全势必成为云安全的主要战场。从目前的云原生环境来看&#xff0c;云原生网络安全问题层出不穷&#xff0…...

用python绘制有向图

目录 添加边权重的有向图思路介绍代码实现效果图设置不同的样式节点和边的有向图思路介绍代码实现效果图下面的Python代码用于绘制有向图,其中使用了 networkx和 matplotlib.pyplot等库。 添加边权重的有向图 思路介绍 首先,创建了一个空的有向图像对象G,并添加了4个节点…...

Spring MongoDB 开发教程(一)—官方原版

MongoDB支持包含一系列功能&#xff1a;Spring配置支持基于Java的configuration类或Mongo驱动程序实例和副本集的XML命名空间。MongoTemplate帮助类&#xff0c;在执行常见的Mongo操作时提高生产力。包括文档和POJO之间的集成对象映射。将异常转换为Spring的可移植数据访问异常…...

数据结构——二叉搜索树

一、二叉搜索树概念 二叉搜索树又叫二叉排序树&#xff0c;它或是空树&#xff0c;或是具有以下性质的二叉树&#xff1a; &#xff08;1&#xff09;若它的左子树不为空&#xff0c;则左子树上的所有节点的值都小于根节点的值&#xff1b; &#xff08;2&#xff09;若它的…...

23年5月高项学习笔记3---项目管理概述

项目是创造独特的产品、服务或成果而进行的临时性的工作 独特&#xff1a;每个项目都不一样 可交付成果&#xff1a;某一过程&#xff0c;阶段或项目完成时形成的独特的并且可验证的产品、服务或成果。 临时的&#xff1a;明确的起点和终点、 -------- 项目集&#xff1a; 相…...

【组织架构】中国铁路成都局集团有限公司

0 参考 中国铁路成都局集团有限公司 1 公司介绍 中国铁路成都局集团有限公司&#xff0c;是中国国家铁路集团有限公司管理的18个铁路局集团有限公司之一&#xff0c;简称“成局”&#xff0c;地处中国西南&#xff0c;管辖范围辐射四川、贵州、重庆地区。管内地形复杂&#x…...

终极指南:如何快速配置HsMod插件提升炉石传说游戏体验

终极指南&#xff1a;如何快速配置HsMod插件提升炉石传说游戏体验 【免费下载链接】HsMod Hearthstone Modify Based on BepInEx 项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod HsMod是一个基于BepInEx框架开发的炉石传说游戏插件&#xff0c;专为希望提升游…...

SVN 查看历史信息

SVN 查看历史信息 引言 Subversion(简称SVN)是一款广泛使用的版本控制系统,它允许用户跟踪源代码的变更历史,并协同工作。在软件开发过程中,查看历史信息对于理解代码的演变过程、回溯错误、分析代码演变趋势等至关重要。本文将详细介绍如何在SVN中查看历史信息。 SVN …...

矩阵LED与矩阵按键的扫描驱动原理及实现

1. 矩阵LED与矩阵按键的硬件结构解析 第一次接触矩阵LED和矩阵按键时&#xff0c;我完全被那些交叉的线路搞晕了。后来才发现&#xff0c;它们的本质就是行和列的交叉网络。想象一下围棋棋盘&#xff0c;横线是行&#xff0c;竖线是列&#xff0c;每个交叉点就是一颗棋子——在…...

iPhone 5c卡顿难忍?三步解锁iOS 8.4.1流畅体验终极方案

iPhone 5c卡顿难忍&#xff1f;三步解锁iOS 8.4.1流畅体验终极方案 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to downgrade/restore, save SHSH blobs, and jailbreak legacy iOS devices 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit 你的i…...

ESP32嵌入式C++开发:esp-boost工业级Boost库移植指南

1. 项目概述esp-boost是乐鑫&#xff08;Espressif&#xff09;官方主导移植的 Boost C 库子集&#xff0c;专为 ESP 系列 SoC&#xff08;包括 ESP32、ESP32-S3、ESP32-P4、ESP32-C6 等&#xff09;深度定制。它并非简单封装&#xff0c;而是基于 Boost 官方 1.87.0 版本源码进…...

【声纳与人工智能融合——从理论前沿到自主系统实战】第四章 认知声纳与自适应信号处理(AI+SP深度融合)

目录 第四章 认知声纳与自适应信号处理(AI+SP深度融合) 4.1 认知声纳系统架构与感知循环 4.1.1 感知-规划-行动闭环设计 4.1.1.1 动态环境感知与反馈机制 4.1.1.2 基于强化学习的波形自适应选择 4.1.2 开放式认知声纳体系结构 4.1.2.1 硬件可重配置架构(SDR) 4.1.2…...

从‘量子电子商务’到三方协议:手把手拆解量子数字签名(QDS)的核心流程与实验挑战

量子数字签名&#xff1a;从理论到实验的技术深潜与挑战解析 量子数字签名&#xff08;QDS&#xff09;作为后量子密码学的重要分支&#xff0c;正在从实验室走向实际应用。不同于传统数字签名依赖数学难题的复杂性&#xff0c;QDS基于量子力学的基本原理&#xff0c;为信息安全…...

dynamic-datasource启动优化:JAR包瘦身终极指南

dynamic-datasource启动优化&#xff1a;JAR包瘦身终极指南 【免费下载链接】dynamic-datasource dynamic datasource for springboot 多数据源 动态数据源 主从分离 读写分离 分布式事务 项目地址: https://gitcode.com/gh_mirrors/dy/dynamic-datasource dynamic-dat…...

5分钟掌握WaveTools:让你的《鸣潮》游戏体验提升200%

5分钟掌握WaveTools&#xff1a;让你的《鸣潮》游戏体验提升200% 【免费下载链接】WaveTools &#x1f9f0;鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 还在为《鸣潮》的卡顿和掉帧烦恼吗&#xff1f;无论你是刚入坑的新手还是追求极致体验的资…...

Ice终极指南:3步打造Mac菜单栏的清爽工作空间

Ice终极指南&#xff1a;3步打造Mac菜单栏的清爽工作空间 【免费下载链接】Ice Powerful menu bar manager for macOS 项目地址: https://gitcode.com/GitHub_Trending/ice/Ice Ice是一款专为macOS设计的强大菜单栏管理器&#xff0c;能够帮助用户有效整理和优化混乱的菜…...