// //***************************************************************************** static const unsigned char g_pucMouseReportDescriptor[]= { UsagePage(USB_HID_GENERIC_DESKTOP), Usage(USB_HID_MOUSE), Collection(USB_HID_APPLICATION), Usage(USB_HID_POINTER), Collection(USB_HID_PHYSICAL), // // The buttons. // UsagePage(USB_HID_BUTTONS), UsageMinimum(1), UsageMaximum(3), LogicalMinimum(0), LogicalMaximum(1), // // 3 - 1 bit values for the buttons. // ReportSize(1), ReportCount(3), Input(USB_HID_INPUT_DATA | USB_HID_INPUT_VARIABLE | USB_HID_INPUT_ABS), // // 1 - 5 bit unused constant value to fill the 8 bits. // ReportSize(5),
//***************************************************************************** static const uint8_t g_pui8KeybReportDescriptor[] = { UsagePage(USB_HID_GENERIC_DESKTOP), Usage(USB_HID_KEYBOARD), Collection(USB_HID_APPLICATION), // // Modifier keys. // 8 - 1 bit values indicating the modifier keys (ctrl, shift...) // ReportSize(1), ReportCount(8), UsagePage(USB_HID_USAGE_KEYCODES), UsageMinimum(224), UsageMaximum(231), LogicalMinimum(0), LogicalMaximum(1), Input(USB_HID_INPUT_DATA | USB_HID_INPUT_VARIABLE | USB_HID_INPUT_ABS), // // One byte of rsvd data required by HID spec. // ReportCount(1), ReportSize(8), Input(USB_HID_INPUT_CONSTANT), // // Keyboard LEDs. // 5 - 1 bit values. //
Usage (USB_HID_Z), // // 3 8-bit absolute values. // ReportSize(8), ReportCount(3), Input(USB_HID_INPUT_DATA | USB_HID_INPUT_VARIABLE | USB_HID_INPUT_ABS), // // The 8 buttons. // UsagePage(USB_HID_BUTTONS), UsageMinimum(1), UsageMaximum(8), LogicalMinimum(0), LogicalMaximum(1), PhysicalMinimum(0), PhysicalMaximum(1), // // 8 - 1 bit values for the buttons. // ReportSize(1), ReportCount(8), Input(USB_HID_INPUT_DATA | USB_HID_INPUT_VARIABLE | USB_HID_INPUT_ABS), EndCollection, EndCollection
LogicalMinimum(-1), LogicalMaximum(1), ReportSize(2), ReportCount(2), Input(USB_HID_INPUT_DATA | USB_HID_INPUT_VARIABLE | USB_HID_INPUT_ABS | USB_HID_INPUT_NONULL), ReportCount(4), ReportSize(1), Input(USB_HID_INPUT_CONSTANT | USB_HID_INPUT_ARRAY | USB_HID_INPUT_ABS), // // 12 - 1 bit values for the first set of buttons. // UsagePage(USB_HID_BUTTONS), UsageMinimum(1), UsageMaximum(12), LogicalMinimum(0), LogicalMaximum(1), ReportSize(1), ReportCount(12), Input(USB_HID_INPUT_DATA | USB_HID_INPUT_VARIABLE | USB_HID_INPUT_ABS), // // 1 - 4 bit unused constant value to fill the second 8 bits. // ReportSize(4), ReportCount(1), Input(USB_HID_INPUT_CONSTANT | USB_HID_INPUT_ARRAY | USB_HID_INPUT_ABS), EndCollection, EndCollection,
Usage (USB_HID_RX), ReportSize(10), ReportCount(1), Input(USB_HID_INPUT_DATA | USB_HID_INPUT_VARIABLE | USB_HID_INPUT_ABS), ReportCount(1), ReportSize(6), Input(USB_HID_INPUT_CONSTANT), // // The 16 buttons. // UsagePage(USB_HID_BUTTONS), UsageMinimum(1), UsageMaximum(16), LogicalMinimum(0), LogicalMaximum(1), PhysicalMinimum(0), PhysicalMaximum(1), // // 16 - 1 bit values for the buttons. // ReportSize(1), ReportCount(16), Input(USB_HID_INPUT_DATA | USB_HID_INPUT_VARIABLE | USB_HID_INPUT_ABS), EndCollection, EndCollection