技术栈
hid
byte轻骑兵
1 天前
人机交互
·
蓝牙
·
键盘
·
鼠标
·
遥控
·
hid
【HID】规范精讲[6]: 蓝牙HID系统设计指南——从合规到体验的全维度要求
蓝牙HID设备的流畅使用,离不开一套严谨的系统级规范。无论是主机对设备的兼容性支持,还是设备的功耗控制、延迟优化,甚至是虚拟电缆的管理,都在系统要求与建议中有着明确界定。这些规范看似繁杂,实则是保障设备互通、用户体验一致的核心基石。作为开发者,只有吃透这些要求,才能设计出既合规又受用户青睐的产品。本文从主机分类、服务质量、功耗管理、虚拟电缆四大核心维度,拆解蓝牙HID系统的设计准则。
byte轻骑兵
3 天前
人机交互
·
蓝牙
·
键盘
·
鼠标
·
hid
【HID】规范精讲[5]: 蓝牙 HID Boot Protocol Requirements 详解
在蓝牙HID协议的大家族中,引导协议(Boot Protocol)就像一位极简主义者——它抛弃了复杂的自定义功能,专注于最核心的输入输出需求,专为资源受限的设备和主机设计。无论是早期的BIOS环境,还是如今的嵌入式物联网设备,引导协议都凭借其简洁、高效的特性占据着重要地位。很多开发者在接触蓝牙HID时,往往更关注功能丰富的报告协议,却忽略了引导协议的底层价值。本文从设计初衷、核心特性、实现要求三个维度,拆解引导协议的底层逻辑,看懂这套极简方案如何适配资源受限场景。
byte轻骑兵
5 天前
人工智能
·
人机交互
·
键盘
·
鼠标
·
hid
【HID】规范精讲[4]: 蓝牙HID传输机制——无线数据的传递规则与底层逻辑
如果说蓝牙HID协议消息是设备与主机交流的语言,那么传输机制(Transfers)就是这套语言的投递规则。我们日常用蓝牙设备交互时,数据从设备发出到主机接收,看似瞬间完成,实则遵循着严格的传输规范——哪些数据需要确认送达?哪些数据要优先传输?不同信道该如何分工?这些问题的答案,都藏在蓝牙HID的传输机制中。本文深入拆解传输的核心逻辑,从信道分工、传输类型、规则约束三个维度,看懂无线数据的投递流程。
byte轻骑兵
7 天前
人工智能
·
人机交互
·
蓝牙
·
键盘
·
hid
【HID】规范精讲[3]: 蓝牙HID协议消息详解——无线交互的数据传输语言
如果把蓝牙HID设备和主机的通信比作一场对话,那么协议消息就是双方交流的语言。我们日常用蓝牙键盘打字、鼠标移动、手柄操作,本质上都是设备与主机通过一系列标准化消息完成数据交换。这些消息看似繁杂,却有着严格的格式定义和交互逻辑,是保证无线人机交互流畅、可靠的核心。本文深入拆解蓝牙HID协议消息的底层设计,从消息结构、类型分类、交互规则三个维度,读懂这场无线对话的底层逻辑。
byte轻骑兵
9 天前
架构
·
人机交互
·
蓝牙
·
hid
·
蓝牙键盘
·
蓝牙鼠标
【HID】规范精讲[2]: 蓝牙HID架构解密——从USB到无线的底层设计逻辑
如果把蓝牙HID协议比作一座连接设备与主机的无线桥梁,那么架构设计就是这座桥梁的承重结构与通行规则。我们每天用蓝牙键盘打字、鼠标操作、手柄游戏,看似简单的交互背后,是一套精密的架构在支撑数据传输、协议适配和功能扩展。很多开发者在接触蓝牙HID时,容易被繁杂的术语和层级关系劝退,但只要理清架构的核心逻辑,就能看透无线人机交互的本质。本文从架构基础、核心组件、关键机制三个维度,拆解蓝牙HID的底层设计,并从实战视角带你理解这套协议的精髓。
byte轻骑兵
11 天前
人机交互
·
蓝牙
·
键盘
·
鼠标
·
hid
【HID】规范精讲[1]: 无线人机交互的底层逻辑与实战解析
在无线设备普及的今天,我们每天使用的蓝牙键盘、鼠标、游戏手柄,背后都依赖一套统一的通信标准——蓝牙HID协议。它就像一位隐形的翻译官,让不同品牌、不同类型的输入输出设备能与主机顺畅沟通。很多人只知道蓝牙设备配对就能用,却不了解这套协议如何解决无线传输中的兼容性、低延迟和功耗平衡等核心问题。本文从协议本质出发,拆解其核心架构、应用场景与技术细节,看透无线人机交互的底层逻辑。
锻炼²
4 个月前
stm32
·
usb
·
hid
·
全速传输
·
sof包
·
中断传输
USB 设备/配置/接口/端点/描述符 和 HID类请求详解
目录前言一. 传输轮询配置二. Logic 2 抓包示例2.1 抓包工具型号2.2 USB默认空闲传输
一个平凡而乐于分享的小比特
5 个月前
usb
·
hid
USB HID通信协议详解
🔥作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生,研究方向无线联邦学习 🎬擅长领域:驱动开发,嵌入式软件开发,BSP开发 ❄️作者主页:一个平凡而乐于分享的小比特的个人主页 ✨收录专栏:通信协议,本专栏为记录项目中用到的知识点,以及一些硬件常识总结 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖
硬汉嵌入式
7 个月前
openocd
·
hid
·
pyocd
·
h7-tool
·
daplink
·
winusb
H7-TOOL高速DAPLINK使用pyOCD命令行操作说明
1、下载当前最新版的pyOCD V0.39 https://github.com/pyocd/pyOCD
意法半导体STM32
7 个月前
javascript
·
stm32
·
嵌入式硬件
·
device
·
hid
·
standalone
·
usbx
STM32 USBx Device HID standalone 移植示例 LAT1466
关键字:USBx, Device, HID,standalone目前 USBx Device standalone 的官方示例较少,不过使用 STM32CubeMX 可以快速地生成 USBx Device 相关类的示例工程,会很方便大家的开发。这里以 NUCLEO-H563 为例,实现 USBx Device HID Standalone 类,大家可以以此为参考移植到其他的 USBx Device 类。
你的强来了998
9 个月前
hid
·
rawinput
·
键鼠监听
RAWINPUT避坑指南(涉及GetRawInputData/GetRawInputBuffer)
RAWINPUT流程:1.使用GetRawInputDeviceList与GetRawInputDeviceInfo获取设备信息。
花落已飘
10 个月前
usb
·
鼠标
·
hid
HID协议
HID(Human Interface Device,人机接口设备)协议是一种用于描述人类与计算机之间交互设备(如鼠标、键盘、游戏手柄、触摸板等)通信的协议标准。它最初由 USB-IF(USB Implementers Forum)定义,用于 USB 接口,但后来也被应用于 Bluetooth、I2C、SPI 等其他总线中。
叶余
10 个月前
usb
·
hid
·
gadget
USB Gadget设备枚举失败的处理方法
我们的板子作为 USB Gadget 设备通过 USB 线接入 USB 主机使用,我们的板子被主机识别为一个 Compsite Device,这个 Compsite Device 是由我们板子根据 Host 口实际接的 USB 设备动态创建的,所以它包含哪些功能,由接在 Host 口的设备决定。假设我们的板的 USB Host 口接了一个键盘和一个鼠标,那个我们的板就会被主机识别为一个支持键盘和鼠标功能的 Compsite Device。我们板上 Host 口接的设备的数据会被转发给 USB 主机。
byte轻骑兵
1 年前
c++
·
hid
·
bluedroid
【Bluedroid】蓝牙Hid Host get_protocol全流程源码解析
本文以Android蓝牙协议栈中get_protocol()函数为入口,深入剖析HID设备协议模式(Boot/Report Protocol)获取的完整流程。通过逐层解析BTIF、BTA、HID Host模块的交互逻辑,揭示协议模式查询的跨层通信机制、HID控制命令的封装策略及L2CAP数据传输的底层实现,重点分析状态校验、异步回调、数据分片等关键技术实现。
byte轻骑兵
1 年前
c++
·
hid
·
bluedroid
【Bluedroid】蓝牙HID Device virtual_cable_unplug全流程源码解析
本文基于Android蓝牙协议栈代码,深入解析HID设备执行虚拟电缆拔出(Virtual Cable Unplug, VCU)的核心流程,涵盖协议交互、状态管理、资源释放三大关键模块。重点剖析以下机制:
byte轻骑兵
1 年前
c++
·
hid
·
bluedroid
【Bluedroid】蓝牙HID DEVICE 报告发送与电源管理源码解析
本文基于Android蓝牙协议栈代码,深度解析HID设备(如键盘、鼠标)从应用层发送输入报告到主机设备的完整流程,涵盖数据封装、通道选择、L2CAP传输、电源管理四大核心模块。通过函数调用链(send_report → BTA_HdSendReport → HID_DevSendReport → hidd_conn_send_data)的逐层分析,重点剖析以下机制:
byte轻骑兵
1 年前
android
·
c++
·
蓝牙
·
hid
·
bluedroid
【Bluedroid】蓝牙HID DEVICE断开连接流程源码分析
蓝牙HID(Human Interface Device)的断开连接流程涉及从应用层到协议栈的多层交互。本文通过剖析Android Bluetooth协议栈代码,梳理从上层调用disconnect()到最终物理链路断开的完整流程,涵盖状态检查、消息传递、L2CAP通道关闭、资源清理及回调通知等关键环节。流程中通过事件驱动机制协调各模块,确保安全断开并通知应用层状态变化。
byte轻骑兵
1 年前
蓝牙
·
hid
·
bluedroid
【Bluedroid】蓝牙 HID 设备服务注册流程源码解析:从初始化到 SDP 记录构建
本文围绕蓝牙 HID(人机接口设备)服务注册流程,详细解析从 HID 服务启用、设备初始化、L2CAP 通道注册到 SDP(服务发现协议)记录构建的全流程。通过分析关键函数如btif_hd_service_registration、BTA_HdEnable、HID_DevRegister及HID_DevAddRecord的逻辑,揭示了 HID 设备如何通过协议栈完成注册、配置及发现功能,确保设备可被其他蓝牙主机识别和连接。结合Android Bluedroid代码逻辑与协议规范,阐述了状态机管理、内存分配
技术宅AI代码控
1 年前
stm32
·
hid
·
usb hid
·
stm32鼠标
·
绝对坐标
STM32模拟鼠标绝对坐标的设置
在一次进行stm32模拟鼠标的开发中,要实现用绝对坐标来控制鼠标位置的情况。在通常的开发中,都是使用相对坐标,模拟鼠标在上下左右几个方向移动多少像素,从而实现鼠标的功能。在这一次使用绝对坐标的过程中,遇到了几个坑,在这里记录一下。
Y多了个想法
2 年前
android
·
rk3568
·
hid
·
电磁笔
·
huion
RK3568 android11 usb接口TP与电磁笔触点上报优先级问题
双USB接口,电容触摸跟电磁手写笔触摸会产生误触现象,所以需要在底层实现电磁笔优先级。 电磁屏优先(指当笔和手都放屏上,手不发信息),因为都是USB接口使用,电容触摸跟电磁手写笔触摸会产生误触现象;