-       0x06, 0x9c, 0xff,     /* Usage Page (Vendor Defined)                     */
-       0x09, 0x01,           /* Usage (Vendor Defined)                          */
-       0xa1, 0x01,           /* Collection (Vendor Defined)                     */
-       0x09, 0x02,           /*   Usage (Vendor Defined)                        */
-       0x75, 0x08,           /*   Report Size (8)                               */
-       0x95, GENERIC_REPORT_SIZE, /*   Report Count (GENERIC_REPORT_SIZE)       */
-       0x15, 0x00,           /*   Logical Minimum (0)                           */
-       0x25, 0xff,           /*   Logical Maximum (255)                         */
-       0x81, 0x02,           /*   Input (Data, Variable, Absolute)              */
-       0x09, 0x03,           /*   Usage (Vendor Defined)                        */
-       0x75, 0x08,           /*   Report Size (8)                               */
-       0x95, GENERIC_REPORT_SIZE, /*   Report Count (GENERIC_REPORT_SIZE)       */
-       0x15, 0x00,           /*   Logical Minimum (0)                           */
-       0x25, 0xff,           /*   Logical Maximum (255)                         */
-       0x91, 0x02,           /*   Output (Data, Variable, Absolute)             */
-       0xc0                  /* End Collection                                  */
+       HID_RI_USAGE_PAGE(16, 0xFF00), /* Vendor Page 0 */
+       HID_RI_USAGE(8, 0x01), /* Vendor Usage 1 */
+       HID_RI_COLLECTION(8, 0x01), /* Vendor Usage 1 */
+           HID_RI_USAGE(8, 0x02), /* Vendor Usage 2 */
+           HID_RI_LOGICAL_MINIMUM(8, 0x00),
+           HID_RI_LOGICAL_MAXIMUM(8, 0xFF),
+           HID_RI_REPORT_SIZE(8, 0x08),
+           HID_RI_REPORT_COUNT(8, GENERIC_REPORT_SIZE),
+           HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
+           HID_RI_USAGE(8, 0x03), /* Vendor Usage 3 */
+           HID_RI_LOGICAL_MINIMUM(8, 0x00),
+           HID_RI_LOGICAL_MAXIMUM(8, 0xFF),
+           HID_RI_REPORT_SIZE(8, 0x08),
+           HID_RI_REPORT_COUNT(8, GENERIC_REPORT_SIZE),
+           HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE),
+       HID_RI_END_COLLECTION(0),