Use the LUFA generic HID descriptor.

This commit is contained in:
László Monda
2016-03-01 20:29:29 +01:00
parent ab2cb911d4
commit c94a08f8ca
3 changed files with 35 additions and 18 deletions

View File

@@ -1,24 +1,26 @@
#include <stdint.h>
#include "usb_report_item_macros.h"
#include "usb_class_generic_hid.h"
#include "usb_descriptor_generic_hid_report.h"
uint8_t UsbGenericHidReportDescriptor[USB_GENERIC_HID_REPORT_DESCRIPTOR_LENGTH] = {
0x05U, 0x81U, /* Usage Page (Vendor defined)*/
0x09U, 0x82U, /* Usage (Vendor defined) */
0xA1U, 0x01U, /* Collection (Application) */
0x09U, 0x83U, /* Usage (Vendor defined) */
HID_RI_USAGE_PAGE(16, (0xFF00 | USB_GENERIC_HID_REPORT_DESCRIPTOR_VENDOR_USAGE_PAGE_INDEX)),
HID_RI_USAGE(8, USB_GENERIC_HID_REPORT_DESCRIPTOR_VENDOR_USAGE_COLLECTION),
HID_RI_COLLECTION(8, HID_RI_COLLECTION_APPLICATION),
0x09U, 0x84U, /* Usage (Vendor defined) */
0x15U, 0x80U, /* Logical Minimum (-128) */
0x25U, 0x7FU, /* Logical Maximum (127) */
0x75U, 0x08U, /* Report Size (8U) */
0x95U, 0x08U, /* Report Count (8U) */
0x81U, 0x02U, /* Input(Data, Variable, Absolute) */
HID_RI_USAGE(8, USB_GENERIC_HID_REPORT_DESCRIPTOR_VENDOR_USAGE_DATA_IN),
HID_RI_LOGICAL_MINIMUM(8, 0x00),
HID_RI_LOGICAL_MAXIMUM(8, 0xFF),
HID_RI_REPORT_SIZE(8, 0x08),
HID_RI_REPORT_COUNT(8, USB_GENERIC_HID_INTERRUPT_IN_PACKET_SIZE),
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
0x09U, 0x84U, /* Usage (Vendor defined) */
0x15U, 0x80U, /* logical Minimum (-128) */
0x25U, 0x7FU, /* logical Maximum (127) */
0x75U, 0x08U, /* Report Size (8U) */
0x95U, 0x08U, /* Report Count (8U) */
0x91U, 0x02U, /* Input (Data, Variable, Absolute) */
0xC0U, /* End collection */
HID_RI_USAGE(8, USB_GENERIC_HID_REPORT_DESCRIPTOR_VENDOR_USAGE_DATA_OUT),
HID_RI_LOGICAL_MINIMUM(8, 0x00),
HID_RI_LOGICAL_MAXIMUM(8, 0xFF),
HID_RI_REPORT_SIZE(8, 0x08),
HID_RI_REPORT_COUNT(8, USB_GENERIC_HID_INTERRUPT_OUT_PACKET_SIZE),
HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE),
HID_RI_END_COLLECTION(0)
};