Ответ: Менять надо 3 вещи. HID descriptor, его (дескриптора) размер, и размер пакета конечной точки. Если устройство обозналось как hid-compiliant device, но одновременно не появилось в Hid Mouse Device - с вероятностью 99% у вас ошибка в Hid Descriptor"е.
const short mouseDescriptor[] = {
0x0105, // Usage Page (Generic Desktop)
0x0209, // Usage (Mouse)
0x01A1, // Collection (Application)
0x0109, // Usage (Pointer)
0x00A1, // Collection (Physical)
0x0905, // Usage Page (Buttons)
0x0119, // Usage Minimum∙ (01)
0x0329, // Usage Maximum (03)
0x0015, // Logical Minimum (0)
0x0125, // Logical Maximum (1)
0x0395, // Report Count (3)
0x0175, // Report Size (1)
^^^^^^^^^^^^^^^^^ 3 бита
0x0281, // 3 Button bits
0x0195, // Report Count (1)
0x0575, // Report Size (6)
0x0181, // 6 bit padding
^^^^^^^^^^^^^^^^ (на самом деле в коде 5 бит, здесь ошибка в комментарии,
0x0105, // Generic desktop
0x3009, // Usage (X)
0x3109, // Usage(Y)
0x8115, // Logical Minimum (-127)
0x7F25, // Logical Maximum (127)
0x0875, // Report Size (8)
0x0295, // Report Count (2)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ оставшиеся 2 байта.
0x0681, // 2 position bytes
0xC0C0
Вообще если пробуете HID девайс, лучше все-таки начать не с мауса (там из-за бут протокола еще есть тонкости), а например с примера джойстика в FreeRTOS скажем.
Если же нужны только короткие пересылки туда-сюда, прекрасно работает HID с объявленым Feature типом данных.
Тогда можно не делать ENDPOINT1, и использовать для обмена стандартные функции WinAPI GetFeatureReport/SetFeatureReport.