hi,
I use 52832 to implement the HID touch device,It can works on android but can't works on IOS?why
hi,
I use 52832 to implement the HID touch device,It can works on android but can't works on IOS?why
//my report descritor static uint8_t report_map_data[] = { ///µÚ1¸öµã 0x05, 0x0d, // USAGE_PAGE (Digitizers) ///global item 0x09, 0x04, // USAGE (Touch Screen) ///local item 0xa1, 0x01, // COLLECTION (Application) ///main item 0x85, 0x01, // REPORT_ID (Touch) ///local item ///report id ///data[0] 0x09, 0x22, // USAGE (Finger) ///local item ??? 0xa1, 0x02, // COLLECTION (Logical) ///main item 0x09, 0x42, // USAGE (Tip Switch) ///local item tip switch ??? 0x15, 0x00, // LOGICAL_MINIMUM (0) ///global item 0x25, 0x01, // LOGICAL_MAXIMUM (1) ///global item 0x75, 0x01, // REPORT_SIZE (1) ///global item 0x95, 0x01, // REPORT_COUNT (1) ///global item 0x81, 0x02, // INPUT (Data,Var,Abs) ///main item ///data[1]---bit1 0x09, 0x32, // USAGE (In Range) ///local item 0x81, 0x02, // INPUT (Data,Var,Abs) ///main item ///data[1]---bit2 0x95, 0x06, // REPORT_COUNT (6) ///global item 0x81, 0x03, // INPUT (Cnst,Ary,Abs) ///main item ///data[1]---bit7~bit3 0x75, 0x08, // REPORT_SIZE (8) ///global item 0x09, 0x51, // USAGE (Contact Identifier) ///local item 0x95, 0x01, // REPORT_COUNT (1) ///local item 0x81, 0x02, // INPUT (Data,Var,Abs) ///main item ///data[2] 0x05, 0x01, // USAGE_PAGE (Generic Desktop) ///global item 0x15, 0x00, //LOGICAL_MINIMUM(0) ///global item /// .1 0x26, 0xff, 0x0f, // LOGICAL_MAXIMUM (4095) ///global item /// .2 0x75, 0x10, // REPORT_SIZE (16) ///local item 0x55, 0x00, // UNIT_EXPONENT (0) ///local item 0x65, 0x00, // UNIT (None) ///local item 0x09, 0x30, // USAGE (X) ///local item 0x35, 0x00, // PHYSICAL_MINIMUM (0) ///global item 0x46, 0xff, 0x0f,///18.11.30 // PHYSICAL_MAXIMUM (4095) ///global item ///1080///ĬÈÏÊúÆÁx///¶ÔÓ¦ºáÆÁy 0x81, 0x02, // INPUT (Data,Var,Abs) ///main item ///data[3] data[4] 0x09, 0x31, // USAGE (Y) ///local item 0x26, 0xff, 0x0f,///18.11.30 ///2244///2244///ĬÈÏÊúÆÁy///¶ÔÓ¦ºáÆÁx 0x46, 0xff, 0x0f,///18.11.30 0x81, 0x02, // INPUT (Data,Var,Abs) ///main item ///data[5] data[6] 0xc0, // END_COLLECTION ///main item } //send the report to app void AndroidHid_Notify_Key(ble_hids_t m_hids) { ipRepVal[1] = TOUCH_DOWN; // down if (abs_hor < 10000) { abs_hor += 20; abs_ver += 20; } else { ipRepVal[1] = TOUCH_UP; // up } ipRepVal[0]=HID_TOUCH_RPT_ID; ipRepVal[2]=0x00; ipRepVal[3] = abs_hor%256; ipRepVal[4] = abs_hor/256; ipRepVal[5] = abs_ver%256; ipRepVal[6] = abs_ver/256; if (ipRepVal[1] == TOUCH_UP) { abs_hor = 0; abs_ver = 0; } ble_hids_inp_rep_send(&m_hids, 0, 7, ipRepVal); }
i think it supports. 《MFi Accessory Interface Specification R18_NoRestriction》
19.3.5.1 Digitizer Support (Touchscreen and Touchpad)
A digitizer is a device that measures absolute spatial position, typically in two or more dimensions. CarPlay
supports the following types of digitizers:
19.3.5.1.1 Touchscreen
A touchscreen is a digitizer with an integrated display that allows the use of a finger for direct interaction with
a presented interface.
Table 19-45 Digitizer Support HID Usages
Page ID Page Name Usage ID Usage Name Usage Type
0x01 Generic 0x30 X Dynamic Value
0x01 Generic 0x31 Y Dynamic Value
0x0D Digitizer 0x04 Touch Screen Application Collection
0x0D Digitizer 0x05 Touch Pad Application Collection
0x0D Digitizer 0x22 Finger Logical Collection
0x0D Digitizer 0x32 In Range Momentary Control
0x0D Digitizer 0x33 Touch Momentary Control
0x0D Digitizer 0x37 Data Valid Momentary Control
0x0D Digitizer 0x38 Transducer Index Dynamic Value
0x0D Digitizer 0x42 Tip Switch Momentary Control
0x0D Digitizer 0x51 Contact Identifier Dynamic Value
That's strange. I can not find the word Digitizer anywhere in the current version, R30. But as you say it is in the carplay section of the old document. So I would guess it is supported by carplay, but not by iOS.
hi,my muti Multi Touch screen HID can works on IOS,but very strange,
Could it be that this is not under the general mfi agreement. i.e. that you need another agreement to access the spec relevant to iOS. Probably not since the carplay spec is there.
Do you know if your multi touch screen HID is a BLE or Bluetooth classic device?