0x05, 0x0d, /* USAGE_PAGE (Digitizers) */ \
0x09, 0x04, /* USAGE (Touch Screen) */ \
0xa1, 0x01, /* COLLECTION (Application) */ \
0x85, HID_TS_REPORT_ID, /* REPORT_ID */ \
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) */ \
0x09, 0x05, /* REPORT_COUNT (5) */ \
0x81, 0x03, /* INPUT (Cnst,Ary,Abs) */ \
0x25, MAX_TOUCH_POINT, /* LOGICAL_MAXIMUM (MAX_TOUCH_POINT) */ \
0x75, 0x08, /* REPORT_SIZE (8) */ \
0x09, 0x51, /* USAGE (Contact Identifier) */ \
0x95, 0x01, /* REPORT_COUNT (1) */ \
0x81, 0x02, /* INPUT (Data,Var,Abs4) */ \
0x05, 0x01, /* USAGE_PAGE (Generic Desktop) */ \
0x26, 0x00, 0x10, /* LOGICAL_MAX9MUM (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) */ \
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) */ \
0x09, 0x05, /* REPORT_COUNT (5) */ \
0x81, 0x03, /* INPUT (Cnst,Ary,Abs) */ \
0x25, MAX_TOUCH_POINT, /* LOGICAL_MAXIMUM (MAX_TOUCH_POINT) */ \
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) */ \
0x26, 000, 0x10, /* 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, MAX_TOUCH_POINT, /* LOGICAL_MAXIMUM (MAX_TOUCH_POINT) */ \
0x81, 0x02, /* INPUT (Data,Var,Abs) */ \
0x09, 0x55, /* USAGE (COntact Count Maximum) */ \
0xb1, 0x02, /* FEATURE (Data,Var,Abs) */ \
0xc0, /* END_COLLECTION */ \
0x05, 0x0d, /* USAGE_PAGE (Digitizers) */ \
0x09, 0x0e, /* USAGE (Device Configuration) */ \
0xa1, 0x01, /* COLLECTION (Application) */ \
0x85, FEAUTURE_REPORT_ID, /* REPORT_ID (Configuration) */ \
0x09, 0x23, /* USAGE (Device Settings) */ \
0xa1, 0x02, /* COLLECTION (Logical) */ \
0x09, 0x52, /* USAGE (Device Mode) */ \
0x09, 0x53, /* USAGE (Device Identifier) */ \
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) */ \
0xc0, /* END_COLLECTION */ \
0xc0 /* END_COLLECTION */