77范文网 - 专业文章范例文档资料分享平台

hid协议报告描述总结(2)

来源:网络收集 时间:2020-04-16 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

0x95, 0x01, // REPORT_COUNT (1) 0x81, 0x01, // INPUT (Cnst,Ary,Abs)

0x05, 0x01, // USAGE_PAGE (Generic Desktop) 0x09, 0x30, // USAGE (X) 0x09, 0x31, // USAGE (Y)

0x15, 0x81, // LOGICAL_MINIMUM (-127) 0x25, 0x7f, // LOGICAL_MAXIMUM (127) 0x75, 0x08, // REPORT_SIZE (8) 0x95, 0x02, // REPORT_COUNT (2) 0x81, 0x06, 0xc0, 0xc0, 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x01, 0x95, 0x05, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x15, 0x00, 0x26, 0xff, 0x07, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x31, 0x15, 0x00, 0x26, 0xff, 0x05, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, 0xc0 // INPUT (Data,Var,Rel) // END_COLLECTION // END_COLLECTION

// USAGE_PAGE (Generic Desktop) // USAGE (Mouse)

// COLLECTION (Application) // USAGE (Pointer)

// COLLECTION (Physical) // REPORT_ID (2)

// USAGE_PAGE (Button)

// USAGE_MINIMUM (Button 1) // USAGE_MAXIMUM (Button 3) // LOGICAL_MINIMUM (0) // LOGICAL_MAXIMUM (1) // REPORT_SIZE (1) // REPORT_COUNT (3) // INPUT (Data,Var,Abs) // REPORT_SIZE (1) // REPORT_COUNT (5) // INPUT (Cnst,Var,Abs)

// USAGE_PAGE (Generic Desktop) // USAGE (X)

// LOGICAL_MINIMUM (0)

// LOGICAL_MAXIMUM (2047) // REPORT_SIZE (16) // REPORT_COUNT (1) // INPUT (Data,Var,Abs) // USAGE (Y)

// LOGICAL_MINIMUM (0)

// LOGICAL_MAXIMUM (1535) // REPORT_SIZE (16) // REPORT_COUNT (1) // INPUT (Data,Var,Abs) // END_COLLECTION

// END_COLLECTION

6

(2)使用绝对坐标的鼠标报告描述符

DB 05H, 01H //USAGE_PAGE (Generic Desktop) DB 09H, 02H //USAGE (Mouse)

DB a1H, 01H //COLLECTION (Application) DB 09H, 01H // USAGE (Pointer)

DB a1H, 00H // COLLECTION (Physical) DB 05H, 09H // USAGE_PAGE (Button)

DB 19H, 01H // USAGE_MINIMUM (Button 1) DB 29H, DB 15H, DB 25H, DB 75H, DB 95H, DB 81H, DB 75H, DB 95H, DB 81H, DB 05H, DB 09H, DB 15H, DB 26H, DB 35H, DB 46H, DB 75H, DB 95H, DB 81H, DB 09H, DB 15H, DB 26H, DB 35H, DB 46H, DB 75H, DB 95H, DB 81H, DB c0H DB c0h

03H // USAGE_MAXIMUM (Button 3) 00H // LOGICAL_MINIMUM (0) 01H // LOGICAL_MAXIMUM (1) 01H // REPORT_SIZE (1) 03H // REPORT_COUNT (3) 02H // INPUT (Data,Var,Abs) 01H // REPORT_SIZE (1) 05H // REPORT_COUNT (5) 03H // INPUT (Cnst,Var,Abs)

01H // USAGE_PAGE (Generic Desktop) 30H // USAGE (X)

00H // LOGICAL_MINIMUM (0) 55H, 05H // LOGICAL_MAXIMUM (1365) 00H // PHYSICAL_MINIMUM (0) 55H, 05H // PHYSICAL_MAXIMUM (1365) 08H // REPORT_SIZE (16) 02H // REPORT_COUNT (1) 02H // INPUT (Data,Var,Abs) 31H // USAGE (Y)

00H // LOGICAL_MINIMUM (0) ffH, 02H // LOGICAL_MAXIMUM (767) 00H // PHYSICAL_MINIMUM (0) ffH, 02H // PHYSICAL_MAXIMUM (767) 08H // REPORT_SIZE (16) 02H // REPORT_COUNT (1) 02H // INPUT (Data,Var,Abs) // END_COLLECTION // END_COLLECTION 7

8、为支持多点触控增加的HID规范

参考文本《Digitizer Drivers for Windows Touch and Pen-Based Computers》。 为支持多点触控(例如Windows7),HID又在数字化仪用途页(0x04,Digitizer)下面增加了下面的几个新的【用途】。可以接受多点输入值的【顶层应用集合用途ID】分别为:0x01(数字化仪)、0x02(手写笔)、0x04(触摸屏)和0x05(触摸板)。 名称 Contact identifier Configuration Device mode Device settings Device identifier Contact count Contact count maximum 说明 触摸ID 配置 设备模式 设备设置 设备ID 触点数 最大触点数 类型 用途ID DV (动态值) 0x51 CA(应用集合) 0x0E DV (动态值) 0x52 CL(逻辑集合) 0x23 DV (动态值) 0x53 DV (动态值) 0x54 DV (动态值) 0x55 其中:

? 【触摸ID】用于区分不同的触摸点;

? 【触点数】用于指出实际有效的触摸点数;

? 【最大触点数】用于指出设备支持的最大触点数(只读,用Feature声明);

? 【设备ID】用在报告描述符中存在多个【顶层数字化仪集合】时区分不同的设备。

(1)【配置】应用集合、【设备设置】逻辑集合和【设备模式】用于描述【配置报告】顶层集合,该Feature报告用于win7操作系统改变(重新配置)设备模式。设备模式包括:0x00鼠标、0x01单点触控、0x02多点触控。(通常缺省的设备模式应该为鼠标,以便支持win7之前的操作系统)。 (2)多点触摸报告通常具有一个【顶层数字化仪集合】,其中包含若干个【内层指针(finger)逻辑集合】,每一个逻辑集合报告一个触点信息。【触点数】和【最大触点数】处于顶层数字化仪集合中。

(3)触点信息逻辑集合中必须包含的用途有:【X】(用途页0x01,用途0x30)、【Y】(用途页0x01,用途0x31)、【触摸ID】(用途页 0x0D,用途0x51)、【碰触开关】(用途页0x0D,用途0x42)和【进入范围标志】(用途页0x0D,用途0x32)。

可选的用途有:【确认】(用途页0x0D,用途0x47)、【宽和高】(用途页 0x0D,用途0x48和0x49)。 (4)【最大触点数】是必须报告的,而实际有效【触点数】是可选的,如果不报告该值,则需要将第一个无效触点的相关数据域均填入空值Null(超出有效范围的值,通常为0)。 (5)为了支持平板计算机,除了多点触摸报告外,报告描述符中通常需要另外说明一个鼠标顶层集合。

(A)【配置报告】的例子

0x09, 0x0E, // USAGE (Device Configuration)

0xa1, 0x01, // COLLECTION (Application) 【顶层配置集合】 0x85, REPORTID_FEATURE, // REPORT_ID (Configuration) 0x09, 0x23, // USAGE (Device Settings)

0xa1, 0x02, // COLLECTION (logical) 【设备设置逻辑集合】 0x09, 0x52, // USAGE (Device Mode)

0x09, 0x53, // USAGE (Device Identifier)【设备ID】非必须

8

0x15, 0x00, // LOGICAL_MINIMUM (0) 0x25, 0x0a, // LOGICAL_MAXIMUM (10) 0x75, 0x08, // REPORT_SIZE (8) 0x95, 0x02, // REPORT_COUNT (2)

0xb1, 0x02, // FEATURE (Data,Var,Abs)【设备模式】+【设备ID】 0xc0, // END_COLLECTION 0xc0, // END_COLLECTION

(B)一个2点触控报告的例子

0x05, 0x0d, // USAGE_PAGE (Digitizers) 0x09, 0x04, // USAGE (Touch Screen)

0xa1, 0x01, // COLLECTION (Application) 0x85, REPORTID_MTOUCH, // REPORT_ID (Touch) 0x09, 0x22, // USAGE (Finger)

0xa1, 0x02, // COLLECTION (Logical) 0x09, 0x42, // USAGE (Tip Switch) 0x15, 0x00, // LOGICAL_MINIMUM (0) 0x25, 0x01, // LOGICAL_MAXIMUM (1) 0x75, 0x01, // REPORT_SIZE (1) 0x95, 0x01, // REPORT_COUNT (1)

0x81, 0x02, // INPUT (Data,Var,Abs) 0x09, 0x32, // USAGE (In Range)

0x81, 0x02, // INPUT (Data,Var,Abs) 0x09, 0x47, // USAGE (Touch Valid)

0x81, 0x02, // INPUT (Data,Var,Abs) 0x95, 0x05, // REPORT_COUNT (5)

0x81, 0x03, // INPUT (Cnst,Ary,Abs) 0x75, 0x08, // REPORT_SIZE (8)

0x09, 0x51, // USAGE (Contact Identifier) 0x95, 0x01, // REPORT_COUNT (1)

0x81, 0x02, // INPUT (Data,Var,Abs) 0x05, 0x01, // USAGE_PAGE (Generic Desk.. 0x26, 0xff, 0x7f, // LOGICAL_MAXIMUM (32767) 0x75, 0x10, // REPORT_SIZE (16) 0x55, 0x00, // UNIT_EXPONENT (0) 0x65, 0x00, // UNIT (None)

0x09, 0x30, // USAGE (X) 0x35, 0x00, // PHYSICAL_MINIMUM (0) 0x46, 0x00, 0x00, // PHYSICAL_MAXIMUM (0) 0x81, 0x02, // INPUT (Data,Var,Abs) 0x09, 0x31, // USAGE (Y) 0x46, 0x00, 0x00, // PHYSICAL_MAXIMUM (0) 0x81, 0x02, // INPUT (Data,Var,Abs) 0xc0, // END_COLLECTION

0xa1, 0x02, // COLLECTION (Logical)

【顶层数字化仪集合】【第1触点逻辑集合】 【碰触开关】 【进入范围】标志 【确认】标志 【5个填充位】 【触摸ID】 【X】 【Y】 【第2触点逻辑集合】 9

0x05, 0x0d, // USAGE_PAGE (Digitizers) 0x09, 0x42, // USAGE (Tip Switch) 0x15, 0x00, // LOGICAL_MINIMUM (0) 0x25, 0x01, // LOGICAL_MAXIMUM (1) 0x75, 0x01, // REPORT_SIZE (1) 0x95, 0x01, // REPORT_COUNT (1) 0x81, 0x02, // INPUT (Data,Var,Abs) 0x09, 0x32, // USAGE (In Range) 0x81, 0x02, // INPUT (Data,Var,Abs) 0x09, 0x47, // USAGE (Touch Valid) 0x81, 0x02, // INPUT (Data,Var,Abs) 0x95, 0x05, // REPORT_COUNT (5) 0x81, 0x03, // INPUT (Cnst,Ary,Abs) 0x75, 0x08, // REPORT_SIZE (8)

0x09, 0x51, // USAGE ( Cotact Identifier) 0x95, 0x01, // REPORT_COUNT (1) 0x81, 0x02, // INPUT (Data,Var,Abs) 0x05, 0x01, // USAGE_PAGE (Generic Desk.. 0x26, 0xff, 0x7f, // LOGICAL_MAXIMUM (32767) 0x75, 0x10, // REPORT_SIZE (16) 0x55, 0x00, // UNIT_EXPONENT (0) 0x65, 0x00, // UNIT (None) 0x09, 0x30, // USAGE (X)

0x35, 0x00, // PHYSICAL_MINIMUM (0) 0x46, 0x00, 0x00, // PHYSICAL_MAXIMUM (0) 0x81, 0x02, // INPUT (Data,Var,Abs) 0x09, 0x31, // USAGE (Y)

0x46, 0x00, 0x00, // PHYSICAL_MAXIMUM (0) 0x81, 0x02, // INPUT (Data,Var,Abs) 0xc0, // END_COLLECTION

0x05, 0x0d, // USAGE_PAGE (Digitizers) 0x09, 0x54, // USAGE (Contact Count) 0x95, 0x01, // REPORT_COUNT (1) 0x75, 0x08, // REPORT_SIZE (8) 0x15, 0x00, // LOGICAL_MINIMUM (0) 0x25, 0x08, // LOGICAL_MAXIMUM (8)

0x81, 0x02, // INPUT (Data,Var,Abs) 0x09, 0x55, // USAGE(Contact Count Maximum) 0xb1, 0x02, // FEATURE (Data,Var,Abs) 0xc0, // END_COLLECTION

【实际触点数】 【最大触点数】10

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库hid协议报告描述总结(2)在线全文阅读。

hid协议报告描述总结(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/975314.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: