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

USB组合设备——鼠标+键盘(两个接口实现)

文章目录

  • 两个接口实现带鼠标功能的键盘
    • 描述符结构
    • 设备描述符
    • 设置地址
    • 配置描述符集合
      • 配置描述符
      • 键盘的接口描述符
        • 接口描述符
        • HID 描述符
        • 端点描述符
      • 鼠标的接口描述符
        • 接口描述符
        • HID 描述符
        • 端点描述符
    • 接口 1 字符串描述符(索引为 4)
    • 接口 2 字符串描述符(索引为 5)
    • HID 报告描述符
      • 接口 1 的报告描述符
      • 接口 2 的报告描述符
    • set idle
      • 接口 1 的 setidle
      • 接口 2 的 setidle
    • 报告的返回
      • 键盘的报告
      • 鼠标的报告

  • 复合设备:Compound Device 内嵌 Hub 和多个 Function,每个 Function 都相当于一个独立的 USB 外设,有自己的 PID/VID/DID。
  • 组合设备:Composite Device 内只有一个 Function,只有一套 PID/VID/DID。
    这里使用组合设备来实现

两个接口实现带鼠标功能的键盘

要实现带鼠标功能的键盘有两种方式

  • 一个接口,但是使用两个应用集合和两个报告
  • 两个接口,分别实现键盘和鼠标

上一章中介绍了使用一个接口两个集合来实现,实现参考 USB组合设备——鼠标加+键盘(一个接口实现),

这一章使用两个接口实现

描述符结构

USB - 描述符之间的关系 中可以知道,多个接口实现时,一个接口实现鼠标,一个接口实现键盘,所以此时的配置描述符集合为

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • [全网首发]怎么让国行版iPhone使用苹果Apple Intelligence
  • JAVA语言之Solr的工作原理以及如何管理索引库
  • 设备无关色彩 vs 设备相关色彩空间
  • C# Redis 框架开发技术详解
  • 【Android Studio】API 29(即Android 10)或更高版本,在程序启动时检查相机权限,并在未获取该权限时请求它
  • 道路检测-目标检测数据集(包括VOC格式、YOLO格式)
  • Windows与Linux下 SDL2的第一个窗口程序
  • 【开发语言】写程序的两大基本原则(PO和NT原则)
  • 基于STM32设计的智能货架(华为云IOT)(225)
  • 【重学 MySQL】二十九、函数的理解
  • 神经网络通俗理解学习笔记(3)注意力神经网络
  • Html css水平居中+垂直居中+水平垂直居中的方法总结
  • 解决tiktoken库调用get_encoding时SSL超时
  • IP纯净度对跨境电商有哪些影响
  • 【VMvare虚拟机-Ubuntu】解决内存不足问题
  • JavaScript-如何实现克隆(clone)函数
  • Android Volley源码解析
  • Babel配置的不完全指南
  • chrome扩展demo1-小时钟
  • co模块的前端实现
  • HTML-表单
  • Java读取Properties文件的六种方法
  • Magento 1.x 中文订单打印乱码
  • scrapy学习之路4(itemloder的使用)
  • spring security oauth2 password授权模式
  • v-if和v-for连用出现的问题
  • Vue--数据传输
  • windows下mongoDB的环境配置
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 聚簇索引和非聚簇索引
  • 开源地图数据可视化库——mapnik
  • 聊聊flink的BlobWriter
  • 七牛云假注销小指南
  • 前端_面试
  • 前嗅ForeSpider教程:创建模板
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 首页查询功能的一次实现过程
  • Android开发者必备:推荐一款助力开发的开源APP
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • 翻译 | The Principles of OOD 面向对象设计原则
  • ​虚拟化系列介绍(十)
  • ‌前端列表展示1000条大量数据时,后端通常需要进行一定的处理。‌
  • # 达梦数据库知识点
  • #微信小程序(布局、渲染层基础知识)
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (31)对象的克隆
  • (day18) leetcode 204.计数质数
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (WSI分类)WSI分类文献小综述 2024
  • (原創) 物件導向與老子思想 (OO)
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)memcache、redis缓存