請問在CH582芯片上將藍(lán)牙觸摸屏例程移植到復(fù)合HID設(shè)備中無法使用

? ?請問在CH582芯片上將藍(lán)牙觸摸屏例程移植到復(fù)合HID設(shè)備中,在電腦上可以用,安卓設(shè)備上無法使用是什么原因。描述符如下:

/* 多媒體 */


? ? 0x05, 0x0C, 0x09, 0x01, 0xA1, 0x01,

? ? 0x85, HID_RPT_ID_CONSUMER_IN, 0x05, 0x0C, 0x19, 0x00, 0x2A, 0xFF, 0x03,

? ? 0x95, 0x01, 0x75, 0x10, 0x15, 0x00, 0x26, 0xFF, 0x03, 0x81, 0x00,

? ? 0x05, 0x07, 0x19, 0x00, 0x29, 0xFF, 0x75, 0x08, 0x26, 0xFF, 0x00, 0x81, 0x00, 0x81, 0x01,

? ? 0x06, 0x00, 0xFF, 0x0A, 0x03, 0xFE, 0x0A, 0x04, 0xFE, 0x75, 0x01, 0x95, 0x02, 0x25, 0x01, 0x81, 0x02,

? ? 0x0A, 0x05, 0xFF, 0x95, 0x01, 0x75, 0x05, 0x25, 0x1F, 0x81, 0x02,

? ? 0x75, 0x01, 0x81, 0x01, 0x1A, 0x01, 0xFD, 0x2A, 0xFF, 0xFD, 0x15, 0x01,

? ? 0x26, 0xFF, 0x00, 0x75, 0x08, 0x81, 0x00, 0x0A, 0x02, 0xFF, 0x26, 0xFF, 0x00, 0x15, 0x00, 0x81, 0x02, 0xC0,


?/* 觸摸屏 */

? ? 0x05, 0x0D, // Usage Page (Digitizer)

? ? 0x09, 0x04, // Usage (Touch Screen)

? ? 0xA1, 0x01, // Collection (Application)

? ? 0x85, HID_RPT_ID_MOUSE_IN, /* REPORT_ID (01) */


? ? 0x05, 0x0D, //? ?Usage Page (Digitizer)

? ? 0x09, 0x22, //? ?Usage (Finger)

? ? 0xA1, 0x02, //? ?Collection (Logical)

? ? 0x05, 0x0D, //? ? ?Usage Page (Digitizer)

? ? 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, Variable, Absolute)

? ? 0x75, 0x07, //? ? ?Report Size............. (7)

? ? 0x95, 0x01, //? ? ?Report Count............ (1)

? ? 0x81, 0x01, //? ? ?Input...................(Constant)

? ? 0x09, 0x51, /* USAGE (Contact Identifier) */

? ? 0x75, 0x08, //? ? ?Report Size............. (8)

? ? 0x95, 0x01, //? ? ?Report Count............ (1)

? ? 0x81, 0x02, //? ? ?Input...................(Data, Variable, Absolute)

? ? 0x05, 0x01, //? ? ?Usage Page (Generic Desktop)

? ? 0x09, 0x30, //? ? ?Usage (X)

? ? 0x15, 0x00, //? ? ?Logical Minimum......... (0)

? ? /*48 49 50*/

? ? 0x26, (uint8_t)DEF_DESKTOP_X_MAX, (uint8_t)(DEF_DESKTOP_X_MAX >> 8), /* LOGIC_MAX (0X0800) */

? ? 0x75, 0x10,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //? ? ?Report Size............. (16)

? ? 0x95, 0x01,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //? ? ?Report Count............ (1)

? ? 0x81, 0x02,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //? ? ?Input...................(Data, Variable, Absolute)

? ? 0x09, 0x31,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //? ? ?Usage (Y)

? ? 0x15, 0x00,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //? ? ?Logical Minimum......... (0)

? ? /*61 62 63*/

? ? 0x26, (uint8_t)DEF_DESKTOP_Y_MAX, (uint8_t)(DEF_DESKTOP_Y_MAX >> 8), /* LOGIC_MAX (0X0800) */

? ? 0x75, 0x10,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //? ? ?Report Size............. (16) 64 65

? ? 0x95, 0x01,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //? ? ?Report Count............ (1)? 66 67

? ? 0x81, 0x02,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //? ? ?Input...................(Data, Variable, Absolute) 68 69

? ? 0xC0,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //? ?End Collection 70

? ? 0xc0,


? ? /* 鍵盤*/

? ? 0x05, 0x01,? ? ?// Usage Pg (Generic Desktop)

? ? 0x09, 0x06,? ? ?// Usage (Keyboard)

? ? 0xA1, 0x01,? ? ?// Collection: (Application)

? ? 0x85, HID_RPT_ID_KEY_IN,? ? ?//? ?ReportID (1)

? ? //

? ? 0x05, 0x07,? ? ?// Usage Pg (Key Codes)

? ? 0x19, 0xE0,? ? ?// Usage Min (224)

? ? 0x29, 0xE7,? ? ?// Usage Max (231)

? ? 0x15, 0x00,? ? ?// Log Min (0)

? ? 0x25, 0x01,? ? ?// Log Max (1)

? ? //

? ? // Modifier byte

? ? 0x75, 0x01,? ? ?// Report Size (1)

? ? 0x95, 0x08,? ? ?// Report Count (8)

? ? 0x81, 0x02,? ? ?// Input: (Data, Variable, Absolute)

? ? //

? ? // Reserved byte

? ? 0x95, 0x01,? ? ?// Report Count (1)

? ? 0x75, 0x08,? ? ?// Report Size (8)

? ? 0x81, 0x01,? ? ?// Input: (Constant)


? ? // LED report

? ? 0x95, 0x05, // Report Count (5)

? ? 0x75, 0x01, // Report Size (1)

? ? 0x05, 0x08, // Usage Pg (LEDs)

? ? 0x19, 0x01, // Usage Min (1)

? ? 0x29, 0x05, // Usage Max (5)

? ? 0x91, 0x02, // Output: (Data, Variable, Absolute)

? ? //

? ? // LED report padding

? ? 0x95, 0x01, // Report Count (1)

? ? 0x75, 0x03, // Report Size (3)

? ? 0x91, 0x01, // Output: (Constant)


? ? // Key arrays (6 bytes)

? ? 0x95, 0x06,? ? ?// Report Count (6)

? ? 0x75, 0x08,? ? ?// Report Size (8)

? ? 0x15, 0x00,? ? ?// Log Min (0)

? ? 0x25, 0x65,? ? ?// Log Max (101)

? ? 0x05, 0x07,? ? ?// Usage Pg (Key Codes)

? ? 0x19, 0x00,? ? ?// Usage Min (0)

? ? 0x29, 0x65,? ? ?// Usage Max (101)

? ? 0x81, 0x00,? ? ?// Input: (Data, Array)

? ? //

? ? 0xC0,? ? ? ? ? ? // End Collection



void hidEmuSendTouchReport(uint8_t *data)

{

? ? uint8_t buf[6];


? ? buf[0] = data[1];? ? ? ? ? ? ? ? ? // touch or not

? ? buf[1] = 1;? ? ? ? ? ? ? ? ? ? ?// touch ID

? ? buf[2] = data[2];? ? ? ? // X axis data low 8bit

? ? buf[3] = data[3]; // X axis data high 8bit

? ? buf[4] = data[4];? ? ? ? // Y axis data low 8bit

? ? buf[5] = data[5]; // Y axis data high 8bit


? ? HidDev_Report(HID_RPT_ID_MOUSE_IN, HID_REPORT_TYPE_INPUT,

? ? ? ? ? ? ? ? ? 6, buf);

}


使用不同的設(shè)備藍(lán)牙連接的報(bào)表描述符可能不一樣,確認(rèn)一下在移植之前的程序連接不同設(shè)備是可以使用的。

如果不可用,需要進(jìn)行抓包查看,如某藍(lán)牙觸摸屏連接安卓設(shè)備是可行,移植后不可行。抓包對比描述符的差異。


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频