海南省城乡建设厅网站企业网站创建步

张小明 2026/1/10 18:06:22
海南省城乡建设厅网站,企业网站创建步,杭州seo网站建设,普定县建设局网站蓝牙标准 HID 指令集完整指南前言蓝牙HID是蓝牙联盟规定的#xff0c;适用于键盘鼠标等设备标准交互规范#xff0c;不同厂家的蓝牙设备可以互联互通的基础#xff0c;本文归纳总结了蓝牙HID的进阶规范协议及规范中没有表述的蓝牙鼠标的双击、长按等功能的协议实现。一、蓝牙…蓝牙标准 HID 指令集完整指南前言蓝牙HID是蓝牙联盟规定的适用于键盘鼠标等设备标准交互规范不同厂家的蓝牙设备可以互联互通的基础本文归纳总结了蓝牙HID的进阶规范协议及规范中没有表述的蓝牙鼠标的双击、长按等功能的协议实现。一、蓝牙 HID 指令体系概览蓝牙 HID 指令集基于 USB HID 规范定义了设备与主机间的通信协议和数据格式主要包含三大类指令报告指令、控制指令和协议指令。蓝牙 HID 支持两种协议模式Boot Protocol适用于键盘、鼠标等基础设备和Report Protocol支持自定义功能兼容性更强。二、报告指令核心数据传输指令1. 报告类型与格式报告类型代码传输方向用途Input Report0xA1设备→主机发送设备输入数据如按键、鼠标移动Output Report0x91主机→设备发送控制命令如键盘 LED 控制Feature Report0xB1双向读取 / 设置设备特性如获取设备状态通用报告格式[消息类型][报告ID][数据...][校验]2. 标准设备报告格式键盘报告8 字节[0xA1][0x01][modifier][reserved][key1][key2][key3][key4][key5][key6]modifier控制键状态如 Ctrl、Shift每 bit 对应一个键key1~key6按下的键值USB HID Usage Tables 定义键值示例0x04A 键0x1EEnter 键0x2A左 Shift 键鼠标报告4 字节[0xA1][0x01][buttons][x][y][wheel]buttons按键状态bit0: 左键bit1: 右键bit2: 中键x/y相对位移有符号wheel滚轮偏移有符号游戏手柄报告可变长度[0xA1][0x01][buttons(2字节)][axis(4字节)][hats(1字节)]...buttons按键矩阵16 位axis摇杆坐标x,y,z,rx,ryhats方向键8 方向三、控制指令设备配置与管理1. 控制传输结构[0x00][操作码][参数1][参数2][...][校验]操作码定义具体控制操作参数取决于操作类型长度可变2. 标准控制操作码列表操作码名称参数说明0x01GET_REPORT[报告类型][报告 ID]主机请求设备发送特定报告0x02SET_REPORT[报告类型][报告 ID][数据...]主机向设备发送报告数据0x03GET_IDLE-主机查询设备空闲时间0x04SET_IDLE[空闲时间]主机设置设备空闲超时时间0x05GET_PROTOCOL-主机查询当前协议模式0x06SET_PROTOCOL[协议模式 (0Boot,1Report)]主机设置设备协议模式0x07SET_FEATURE[报告 ID][数据...]设置设备特性参数0x08GET_FEATURE[报告 ID]查询设备特性参数四、协议指令连接与状态管理1. 连接建立指令HID_CONNECT设备请求连接主机HID_ACCEPT主机接受连接HID_REJECT主机拒绝连接附带错误码2. 协议模式指令Boot Protocol 模式SET_BOOT_PROTOCOL切换到 Boot 模式使用固定报告格式GET_BOOT_PROTOCOL查询当前是否为 Boot 模式Report Protocol 模式SET_REPORT_PROTOCOL切换到 Report 模式使用自定义报告描述符GET_REPORT_PROTOCOL查询当前是否为 Report 模式3. 断开连接指令HID_DISCONNECT设备或主机发起断开连接HID_DISCONNECT_ACK确认断开可选五、报告描述符核心配置报告描述符是定义设备功能和数据格式的核心配置采用二进制编码由多个条目组成。1. 条目格式类型格式说明短条目[bTag][bData]2 字节常用长条目[bTag][wData (2 字节)]3 字节用于大数值bTag 字段定义0x05Usage Page定义用途类别如键盘、鼠标0x09Usage定义具体用途如 A 键、左键0x15Logical Minimum数据最小值0x25Logical Maximum数据最大值0x75Report Size数据位宽0x95Report Count数据项数量0xA1Collection开始数据集合0xC0End Collection结束数据集合0x81Input定义输入数据0x91Output定义输出数据0xB1Feature定义特性数据2. 键盘报告描述符示例[0x05,0x01] // Usage Page (Generic Desktop)[0x09,0x06] // Usage (Keyboard)[0xA1,0x01] // Collection (Application)[0x05,0x07] // Usage Page (Key Codes)[0x19,0xE0] // Usage Minimum (224)[0x29,0xE7] // Usage Maximum (231)[0x15,0x00] // Logical Minimum (0)[0x25,0x01] // Logical Maximum (1)[0x75,0x01] // Report Size (1bit)[0x95,0x08] // Report Count (8bit)[0x81,0x02] // Input (Data,Var,Abs) - 修饰键[0x95,0x01] // Report Count (1)[0x75,0x08] // Report Size (8bit)[0x81,0x03] // Input (Cnst,Var,Abs) - 保留字节[0x95,0x06] // Report Count (6)[0x75,0x08] // Report Size (8bit)[0x81,0x00] // Input (Data,Arr,Abs) - 按键[0xC0] // End Collection六、指令传输流程示例键盘按键传输Boot Protocol用户按下 A 键设备生成报告[0xA1][0x01][0x00][0x00][0x04][0x00][0x00][0x00][0x00][0x00]通过蓝牙 L2CAP/ATT 通道发送至主机主机解析报告识别为 A 键按下事件主机设置键盘 LEDCaps Lock主机发送控制指令[0x00][0x02][0x91][0x01][0x01][0x00][0x00][0x00][0x00][0x00][校验]0x02: SET_REPORT0x91: Output Report0x01: Report ID0x01: Caps Lock 状态1 开启设备接收到指令设置 Caps Lock LED 状态设备返回确认可选[0x00][0x00][0x00][0x00][0x00][0x00][0x00][0x00][0x00][0x00][校验]鼠标应用1、鼠标报告基础格式蓝牙 HID 鼠标报告标准格式 (4 字节)[报告ID][按键状态][X位移][Y位移][滚轮] 部分设备含滚轮信息报告 ID通常为 0x01按键状态第 1 字节每 bit 对应一个按键Bit 0: 左键 (0x01)Bit 1: 右键 (0x02)Bit 2: 中键 (0x04)X/Y 位移第 2/3 字节8 位有符号整数 (范围 - 128~127)表示相对移动像素滚轮第 4 字节正数表示向下滚动负数表示向上滚动示例左键按下[0x01][0x01][0x00][0x00]右键按下[0x01][0x02][0x00][0x00]中键按下[0x01][0x04][0x00][0x00]左键按下且向右移动 32 像素[0x01][0x01][0x20][0x00]2、鼠标按键功能详解2.1 单击 (Click)定义按下按键后 100ms 内释放指令序列按下按键[0x01][按键位][0x00][0x00]例左键按下[0x01][0x01][0x00][0x00]释放按键[0x01][0x00][0x00][0x00]应用场景选择文件 / 图标点击网页链接确认对话框2.2双击 (Double Click)定义两次连续单击间隔在 300ms 内指令序列// 第一次单击[0x01][按键位][0x00][0x00] // 按下[0x01][0x00][0x00][0x00] // 释放(100ms内)// 间隔300ms...// 第二次单击[0x01][按键位][0x00][0x00] // 按下[0x01][0x00][0x00][0x00] // 释放(100ms内)应用场景打开文件 / 应用程序文字 / 段落选中地图 / 图像缩放 (双击放大)2.3 长按 (Long Press/Hold)定义按键按下持续时间≥500ms指令序列按下按键[0x01][按键位][0x00][0x00]保持按下状态 (每 100-200ms 发送一次报告)[0x01][按键位][0x00][0x00] // 持续发送以保持连接释放按键[0x01][0x00][0x00][0x00]应用场景上下文菜单 (右键长按)文件拖放 (左键长按 移动)游戏角色持续移动特殊功能激活 (如截图、录音)2.4 组合按键 (Composite Buttons)定义同时按下多个按键指令序列[0x01][按键组合][0x00][0x00]按键组合示例左右键同时按下[0x01][0x03][0x00][0x00](0x01|0x020x03)三键同时按下[0x01][0x07][0x00][0x00](0x01|0x02|0x040x07)应用场景游戏快捷键专业软件特殊操作系统级功能 (如截图、强制退出)3、鼠标移动与滚轮指令3.1 鼠标移动指令格式[0x01][0x00][X位移][Y位移]位移编码正数X 向右Y 向下负数X 向左Y 向上示例向右移动 100 像素[0x01][0x00][0x64][0x00]3.2. 滚轮操作指令格式[0x01][0x00][0x00][0x00][滚轮值] // 5字节格式滚轮值 0向下滚动滚轮值 0向上滚动示例向下滚动 3 格[0x01][0x00][0x00][0x00][0x03]4、实战应用示例4.1 完整左键单击流程// 1. 按下左键[0x01][0x01][0x00][0x00]// 2. 短暂停留(20-100ms)...// 3. 释放左键[0x01][0x00][0x00][0x00]4.2 双击实现 (左键)// 第一次单击[0x01][0x01][0x00][0x00] // 按下[0x01][0x00][0x00][0x00] // 释放(50ms后)// 间隔(100ms)...// 第二次单击[0x01][0x01][0x00][0x00] // 按下[0x01][0x00][0x00][0x00] // 释放(50ms后)4.3 长按实现 (右键)// 1. 按下右键[0x01][0x02][0x00][0x00]// 2. 保持按下状态(每150ms发送一次)[0x01][0x02][0x00][0x00] // 150ms后[0x01][0x02][0x00][0x00] // 300ms后[0x01][0x02][0x00][0x00] // 450ms后// 3. 500ms后释放(触发长按事件)[0x01][0x00][0x00][0x00]5、指令注意事项与实现要点5.1报告发送频率按键状态变化时立即发送持续按下时建议每 100-200ms 发送一次以保持连接移动时根据位移速度调整频率 (最高 1000Hz)5.2消抖处理按键检测添加 10-30ms 消抖延迟防止误触发5.3兼容性考虑确保报告 ID 正确 (通常为 0x01)严格遵循 4/5 字节格式位移值控制在 - 128~127 范围内5.4低功耗优化无操作时进入低功耗模式减少不必要的报告发送总结与资源蓝牙 HID 指令集是 USB HID 协议的无线实现主要包括报告指令数据传输、控制指令配置管理和协议指令连接管理。蓝牙 HID 鼠标通过标准 4/5 字节报告实现各种功能核心在于按键状态位编码和位移数据的正确传输。掌握单击 (按下 - 释放)、双击 (两次快速单击)、长按 (持续按下 500ms) 和组合按键的指令序列即可实现完整的鼠标交互功能。实际应用中建议结合设备特性和主机需求优化报告发送策略以平衡性能和功耗。注蓝牙 HID 协议完全兼容 USB HID 标准因此上述指令同样适用于 USB 有线鼠标。完整指令细节可参考以下官方文档蓝牙 SIG 官方文档Human Interface Device Profile (HID Profile)HID over GATT Profile (HOGP)USB-IF 官方文档Device Class Definition for HID 1.11HID Usage Tables 1.22注本指南基于蓝牙 HID 1.1.1 和 HOGP 1.1 标准整理部分厂商可能有自定义扩展指令。如需特定设备的完整指令集建议参考对应设备的官方开发文档或蓝牙 SIG 会员专区获取完整规范。获取更多蓝牙知识文章有想法请在评论区留言下一篇我们介绍蓝牙HID扩展应用敬请关注
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

做徽商要做网站吗个人网站效果图咋做

百度网盘密码一键解锁神器:告别繁琐查找,3秒获取访问权限 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为百度网盘分享链接的密码而头疼吗?每次遇到加密资源都要在多个网站间来回切换…

张小明 2026/1/9 15:18:01 网站建设

网站管理员怎么做联系方式电子商务以后的就业方向

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

张小明 2026/1/9 15:17:59 网站建设

彩票网站开发风险天元建设集团有限公司怎么样

文章目录目录引言一、核心技术维度对比表二、分语言核心语法深度解析2.1 Go语言:简洁高效的“并发王者”2.1.1 变量声明与类型系统(零值初始化指针)2.1.2 流程控制(仅for循环switch无穿透)2.1.3 错误处理(e…

张小明 2026/1/9 15:18:05 网站建设

网站开发的实训报告杭州猎头公司

WindowsCleaner:如何让C盘空间瞬间翻倍? 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 还在为电脑卡顿、C盘爆红而苦恼吗?Win…

张小明 2026/1/9 15:18:05 网站建设

网站上的楼价走势图怎么做南昌网站seo

一、问题描述将两个升序链表合并为一个新的升序链表并返回,新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:l1 [1,2,4],l2 [1,3,4],输出:[1,1,2,3,4,4]输入:l1 [],l…

张小明 2026/1/9 15:18:14 网站建设

手机上可建网站做淘宝客吗朝阳网站建设多少钱

蜂鸣器驱动设计避坑指南:从烧毁GPIO到稳定发声的实战解析你有没有遇到过这样的场景?项目快上线了,蜂鸣器一响,MCU突然复位;或者用着用着,提示音越来越小,最后彻底“哑火”。更惨的是&#xff0c…

张小明 2026/1/4 0:37:40 网站建设