From a9a3610dd4a168e473d2d6a2eb3fbc37aabb46c9 Mon Sep 17 00:00:00 2001 From: tmk Date: Thu, 28 Jun 2012 16:51:56 +0900 Subject: Add LUFA mouse feature and fix mouse report. - add LUFA boot mouse feature - remove report_id from mouse report - fix LUFA descriptor --- protocol/vusb/vusb.c | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) (limited to 'protocol/vusb/vusb.c') diff --git a/protocol/vusb/vusb.c b/protocol/vusb/vusb.c index 0bfe21e92..1dff5dea2 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) -- cgit v1.2.3-24-g4f1b