diff options
author | tmk <nobody@nowhere> | 2012-06-28 16:51:56 +0900 |
---|---|---|
committer | tmk <nobody@nowhere> | 2012-06-28 16:51:56 +0900 |
commit | a9a3610dd4a168e473d2d6a2eb3fbc37aabb46c9 (patch) | |
tree | 89f274c6cf58a9b4fcd8d768dda78da10afac3b9 /protocol/vusb/vusb.c | |
parent | effa5914bff71fa7ad6506271c9ba4baa32a1eca (diff) |
Add LUFA mouse feature and fix mouse report.
- add LUFA boot mouse feature
- remove report_id from mouse report
- fix LUFA descriptor
Diffstat (limited to 'protocol/vusb/vusb.c')
-rw-r--r-- | protocol/vusb/vusb.c | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/protocol/vusb/vusb.c b/protocol/vusb/vusb.c index 0bfe21e92e..1dff5dea26 100644 --- a/protocol/vusb/vusb.c +++ b/protocol/vusb/vusb.c @@ -91,23 +91,48 @@ static void send_keyboard(report_keyboard_t *report) } +typedef struct { + uint8_t report_id; + report_mouse_t report; +} __attribute__ ((packed)) vusb_mouse_report_t; + static void send_mouse(report_mouse_t *report) { - report->report_id = REPORT_ID_MOUSE; + vusb_mouse_report_t r = { + .report_id = REPORT_ID_MOUSE, + .report = *report + }; if (usbInterruptIsReady3()) { - usbSetInterrupt3((void *)report, sizeof(*report)); + usbSetInterrupt3((void *)&r, sizeof(vusb_mouse_report_t)); } } +/* +typedef struct { + uint8_t report_id; + uint8_t data0; + uint8_t data1; +} __attribute__ ((packed)) vusb_system_report_t; +*/ + static void send_system(uint16_t data) { +/* // Not need static? static uint8_t report[] = { REPORT_ID_SYSTEM, 0, 0 }; report[1] = data&0xFF; report[2] = (data>>8)&0xFF; +*/ +/* + vusb_system_report_t r = { + .report_id = REPORT_ID_SYSTEM, + .data0 = data&0xFF, + .data1 = (data>>8)&0xFF + }; if (usbInterruptIsReady3()) { - usbSetInterrupt3((void *)&report, sizeof(report)); + usbSetInterrupt3((void *)&r, sizeof(vusb_system_report_t)); } +*/ } static void send_consumer(uint16_t data) |