0x05, 0x0d, // USAGE_PAGE (Digitizers)
0x09, 0x04, // USAGE (Touch Screen)
0xa1, 0x01, // COLLECTION (Application)
0x85, ID_TOUCH_DATA, // REPORT_ID (Touch)
0x09, 0x22, // USAGE (Stylus)
0xa1, 0x02, // COLLECTION (Physical)
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)
0x95, 0x06, // REPORT_COUNT (6)
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 desktop
0x35, 0x00, // PHYSICAL MINIMUM (0)
0x46, X_RES_LSB, X_RES_MSB, // PHYSICAL MAXIMUM (102)
0x15, 0x00,
0x26, X_RES_LSB, X_RES_MSB, // LOGICAL_MAXIMUM (750)
0x75, 0x10, // REPORT_SIZE (16)
0x09, 0x30, // USAGE (X)
0x81, 0x02, // INPUT (Data,Var,Abs)
0x46, Y_RES_LSB, Y_RES_MSB, // PHYSICAL MAXIMUM (77)
0x15, 0x00,
0x26, Y_RES_LSB, Y_RES_MSB, // LOGICAL_MAXIMUM (450)
0x09, 0x31, // USAGE (Y)
0x81, 0x02, // INPUT (Data,Var,Abs)
0xc0, // END_COLLECTION 0/1
0xa1, 0x02, // COLLECTION (Logical)
0x05, 0x0d, // USAGE_PAGE (Digitizers)
0x09, 0x42, // USAGE (Tip Switch) 12
0x15, 0x00, // LOGICAL_MINIMUM (0) 14
0x25, 0x01, // LOGICAL_MAXIMUM (1) 16
0x75, 0x01, // REPORT_SIZE (1) 18
0x95, 0x01, // REPORT_COUNT (1) 20
0x81, 0x02, // INPUT (Data,Var,Abs) 22
0x09, 0x32, // USAGE (In Range) 28
0x81, 0x02, // INPUT (Data,Var,Abs) 34
0x95, 0x06, // REPORT_COUNT (6) 36
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 desktop
0x35, 0x00, // PHYSICAL MINIMUM (0)
0x46, X_RES_LSB, X_RES_MSB, // PHYSICAL MAXIMUM (102)
0x15, 0x00,
0x26, X_RES_LSB, X_RES_MSB, // LOGICAL_MAXIMUM (750)
0x75, 0x10, // REPORT_SIZE (16)
0x09, 0x30, // USAGE (X)
0x81, 0x02, // INPUT (Data,Var,Abs)
0x46, Y_RES_LSB, Y_RES_MSB, // PHYSICAL MAXIMUM (77)
0x15, 0x00,
0x26, Y_RES_LSB, Y_RES_MSB, // LOGICAL_MAXIMUM (450)
0x09, 0x31, // USAGE (Y)
0x81, 0x02,
0xc0, // END_COLLECTION 0/1
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)
0xb1, 0x02, // FEATURE (Data,Var,Abs)
0xc0 // END_COLLECTION 0/1