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

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


http://www.kler.cn/a/305823.html

相关文章:

  • Pycharm PyQt5 环境搭建创建第一个Hello程序
  • flink sql + kafka + mysql 如何构建实时数仓
  • win32 / WTL 开发多线程应用,子线程传递大对象给UI线程(主窗口)的方法
  • GaussDB部署架构
  • DOM 规范 — MutationObserver 接口
  • OpenGL【C++】台灯
  • OPENAIGC开发者大赛企业组AI黑马奖 | AIGC数智传媒解决方案
  • iPhone 16即将推出的5项苹果智能功能
  • Computer Vision的学习路线
  • 坐牢第三十八天(Qt)
  • Android SDK和NDK的区别
  • SSH软链接后门从入门到应急响应
  • Redis的常见问题
  • 鸿蒙交互事件开发07——手势竞争问题
  • 速通GPT:《Improving Language Understanding by Generative Pre-Training》全文解读
  • 前端开发的观察者模式
  • K8s 之Pod的定义及详细资源调用案例
  • NAT技术
  • 人工智能辅助汽车造型设计
  • 健身管理|基于java的健身管理系统小程序(源码+数据库+文档)
  • 数据结构与算法图论 并查集
  • 【Linux】调试和Git及进度条实现
  • 弹框调取阿里云播放器一直报错 TypeError: 没有为播放器指定容器
  • 注意!Facebook已移除细分定位排除受众的功能
  • 基于微信小程序的宠物之家的设计与实现
  • 备战软考Day02-数据结构与算法