I see, so the c# program looks to see the size of the input report from the device. This is what I have so far:
const BYTE HID_ReportDescriptor[] = {
HID_UsagePageVendor(0x00),
HID_Usage(0x01),
HID_Collection(HID_Application),
HID_UsagePage(HID_USAGE_PAGE_BUTTON),
HID_UsageMin(1),
HID_UsageMax(2),
HID_LogicalMin(0),
HID_LogicalMax(1),
HID_ReportCount(2), // 2
HID_ReportSize(1), // 1
HID_Input(HID_Data | HID_Variable | HID_Absolute),
HID_ReportCount(1), // 1
HID_ReportSize(6),
HID_Input(HID_Constant),
HID_UsagePage(HID_USAGE_PAGE_LED),
HID_Usage(HID_USAGE_LED_GENERIC_INDICATOR),
HID_LogicalMin(0),
HID_LogicalMax(1),
HID_ReportCount(8 ), // 8
HID_ReportSize(2),
HID_Output(HID_Data | HID_Variable | HID_Absolute), // Out report, from HOST
HID_EndCollection,
};
I thought that just changing the report size for the top input report would be the way to get what I want, though if I do this the c# program no longer recognises the device which makes me think that the top input report is not what I am looking for. No matter what I change on the above when the device connects it always gives the input report size as being 2 bytes.