X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/d860e9e842c05e759214f5170f78783decae9956..4a8ac5e474741f14492597880e751b3f806cb965:/Demos/Device/KeyboardMouse/KeyboardMouse.c diff --git a/Demos/Device/KeyboardMouse/KeyboardMouse.c b/Demos/Device/KeyboardMouse/KeyboardMouse.c index a85a3786d..25d633e43 100644 --- a/Demos/Device/KeyboardMouse/KeyboardMouse.c +++ b/Demos/Device/KeyboardMouse/KeyboardMouse.c @@ -84,7 +84,7 @@ int main(void) /** Event handler for the USB_Connect event. This indicates that the device is enumerating via the status LEDs and * starts the library USB task to begin the enumeration and USB management process. */ -EVENT_HANDLER(USB_Connect) +void EVENT_USB_Connect(void) { /* Start USB management task */ Scheduler_SetTaskMode(USB_USBTask, TASK_RUN); @@ -96,7 +96,7 @@ EVENT_HANDLER(USB_Connect) /** Event handler for the USB_Disconnect event. This indicates that the device is no longer connected to a host via * the status LEDs and stops the USB management task. */ -EVENT_HANDLER(USB_Disconnect) +void EVENT_USB_Disconnect(void) { /* Stop running HID reporting and USB management tasks */ Scheduler_SetTaskMode(USB_USBTask, TASK_STOP); @@ -108,7 +108,7 @@ EVENT_HANDLER(USB_Disconnect) /** Event handler for the USB_ConfigurationChanged event. This is fired when the host sets the current configuration * of the USB device after enumeration, and configures the keyboard and mouse device endpoints. */ -EVENT_HANDLER(USB_ConfigurationChanged) +void EVENT_USB_ConfigurationChanged(void) { /* Setup Keyboard Report Endpoint */ Endpoint_ConfigureEndpoint(KEYBOARD_IN_EPNUM, EP_TYPE_INTERRUPT, @@ -133,7 +133,7 @@ EVENT_HANDLER(USB_ConfigurationChanged) * control requests that are not handled internally by the USB library (including the HID commands, which are * all issued via the control endpoint), so that they can be handled appropriately for the application. */ -EVENT_HANDLER(USB_UnhandledControlPacket) +void EVENT_USB_UnhandledControlPacket(void) { uint8_t* ReportData; uint8_t ReportSize; @@ -144,6 +144,8 @@ EVENT_HANDLER(USB_UnhandledControlPacket) case REQ_GetReport: if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE)) { + Endpoint_ClearSETUP(); + /* Determine if it is the mouse or the keyboard data that is being requested */ if (!(USB_ControlRequest.wIndex)) { @@ -156,8 +158,6 @@ EVENT_HANDLER(USB_UnhandledControlPacket) ReportSize = sizeof(MouseReportData); } - Endpoint_ClearSETUP(); - /* Write the report data to the control endpoint */ Endpoint_Write_Control_Stream_LE(ReportData, ReportSize); @@ -240,8 +240,8 @@ TASK(USB_Keyboard) { uint8_t JoyStatus_LCL = Joystick_GetStatus(); - /* Check if HWB is not pressed, if so mouse mode enabled */ - if (!(HWB_GetStatus())) + /* Check if board button is not pressed, if so mouse mode enabled */ + if (!(Buttons_GetStatus() & BUTTONS_BUTTON1)) { if (JoyStatus_LCL & JOY_UP) KeyboardReportData.KeyCode[0] = 0x04; // A @@ -311,8 +311,8 @@ TASK(USB_Mouse) { uint8_t JoyStatus_LCL = Joystick_GetStatus(); - /* Check if HWB is pressed, if so mouse mode enabled */ - if (HWB_GetStatus()) + /* Check if board button is pressed, if so mouse mode enabled */ + if (Buttons_GetStatus() & BUTTONS_BUTTON1) { if (JoyStatus_LCL & JOY_UP) MouseReportData.Y = 1;