diff --git a/src/HID-APIs/MouseAPI.h b/src/HID-APIs/MouseAPI.h index 8318aea..3824d85 100644 --- a/src/HID-APIs/MouseAPI.h +++ b/src/HID-APIs/MouseAPI.h @@ -27,68 +27,6 @@ THE SOFTWARE. #include #include "HID-Settings.h" -static const uint8_t _hidReportDescriptorMouse[] PROGMEM = { - /* Mouse relative */ - 0x05, 0x01, /* USAGE_PAGE (Generic Desktop) 54 */ - 0x09, 0x02, /* USAGE (Mouse) */ - 0xa1, 0x01, /* COLLECTION (Application) */ - - /* 8 Buttons */ - 0x05, 0x09, /* USAGE_PAGE (Button) */ - 0x19, 0x01, /* USAGE_MINIMUM (Button 1) */ - 0x29, 0x08, /* USAGE_MAXIMUM (Button 8) */ - 0x15, 0x00, /* LOGICAL_MINIMUM (0) */ - 0x25, 0x01, /* LOGICAL_MAXIMUM (1) */ - 0x95, 0x08, /* REPORT_COUNT (8) */ - 0x75, 0x01, /* REPORT_SIZE (1) */ - 0x81, 0x02, /* INPUT (Data,Var,Abs) */ - - /* X, Y, Wheel */ - 0x05, 0x01, /* USAGE_PAGE (Generic Desktop) */ - 0x09, 0x30, /* USAGE (X) */ - 0x09, 0x31, /* USAGE (Y) */ - 0x09, 0x38, /* USAGE (Wheel) */ - 0x15, 0x81, /* LOGICAL_MINIMUM (-127) */ - 0x25, 0x7f, /* LOGICAL_MAXIMUM (127) */ - 0x75, 0x08, /* REPORT_SIZE (8) */ - 0x95, 0x03, /* REPORT_COUNT (3) */ - 0x81, 0x06, /* INPUT (Data,Var,Rel) */ - - /* End */ - 0xc0 /* END_COLLECTION */ -}; - -static const uint8_t _hidMultiReportDescriptorMouse[] PROGMEM = { - /* Mouse relative */ - 0x05, 0x01, /* USAGE_PAGE (Generic Desktop) 54 */ - 0x09, 0x02, /* USAGE (Mouse) */ - 0xa1, 0x01, /* COLLECTION (Application) */ - 0x85, HID_REPORTID_MOUSE, /* REPORT_ID */ - - /* 8 Buttons */ - 0x05, 0x09, /* USAGE_PAGE (Button) */ - 0x19, 0x01, /* USAGE_MINIMUM (Button 1) */ - 0x29, 0x08, /* USAGE_MAXIMUM (Button 8) */ - 0x15, 0x00, /* LOGICAL_MINIMUM (0) */ - 0x25, 0x01, /* LOGICAL_MAXIMUM (1) */ - 0x95, 0x08, /* REPORT_COUNT (8) */ - 0x75, 0x01, /* REPORT_SIZE (1) */ - 0x81, 0x02, /* INPUT (Data,Var,Abs) */ - - /* X, Y, Wheel */ - 0x05, 0x01, /* USAGE_PAGE (Generic Desktop) */ - 0x09, 0x30, /* USAGE (X) */ - 0x09, 0x31, /* USAGE (Y) */ - 0x09, 0x38, /* USAGE (Wheel) */ - 0x15, 0x81, /* LOGICAL_MINIMUM (-127) */ - 0x25, 0x7f, /* LOGICAL_MAXIMUM (127) */ - 0x75, 0x08, /* REPORT_SIZE (8) */ - 0x95, 0x03, /* REPORT_COUNT (3) */ - 0x81, 0x06, /* INPUT (Data,Var,Rel) */ - - /* End */ - 0xc0 /* END_COLLECTION */ -}; #define MOUSE_LEFT (1 << 0) #define MOUSE_RIGHT (1 << 1) diff --git a/src/SingleReport/BootMouse.cpp b/src/SingleReport/BootMouse.cpp index 0760446..980b505 100644 --- a/src/SingleReport/BootMouse.cpp +++ b/src/SingleReport/BootMouse.cpp @@ -23,6 +23,37 @@ THE SOFTWARE. #include "BootMouse.h" +static const uint8_t _hidReportDescriptorMouse[] PROGMEM = { + /* Mouse relative */ + 0x05, 0x01, /* USAGE_PAGE (Generic Desktop) 54 */ + 0x09, 0x02, /* USAGE (Mouse) */ + 0xa1, 0x01, /* COLLECTION (Application) */ + + /* 8 Buttons */ + 0x05, 0x09, /* USAGE_PAGE (Button) */ + 0x19, 0x01, /* USAGE_MINIMUM (Button 1) */ + 0x29, 0x08, /* USAGE_MAXIMUM (Button 8) */ + 0x15, 0x00, /* LOGICAL_MINIMUM (0) */ + 0x25, 0x01, /* LOGICAL_MAXIMUM (1) */ + 0x95, 0x08, /* REPORT_COUNT (8) */ + 0x75, 0x01, /* REPORT_SIZE (1) */ + 0x81, 0x02, /* INPUT (Data,Var,Abs) */ + + /* X, Y, Wheel */ + 0x05, 0x01, /* USAGE_PAGE (Generic Desktop) */ + 0x09, 0x30, /* USAGE (X) */ + 0x09, 0x31, /* USAGE (Y) */ + 0x09, 0x38, /* USAGE (Wheel) */ + 0x15, 0x81, /* LOGICAL_MINIMUM (-127) */ + 0x25, 0x7f, /* LOGICAL_MAXIMUM (127) */ + 0x75, 0x08, /* REPORT_SIZE (8) */ + 0x95, 0x03, /* REPORT_COUNT (3) */ + 0x81, 0x06, /* INPUT (Data,Var,Rel) */ + + /* End */ + 0xc0 /* END_COLLECTION */ +}; + BootMouse_::BootMouse_(void) : PUSBListNode(1, 1, epType), protocol(1), idle(1) { epType[0] = EP_TYPE_INTERRUPT_IN;