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);
}