X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/b37d77eab32d171ad7b28157a924a4026e2aebd1..77a9df36a77d2523dd2bc24fa17f9f04c6c175c5:/Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.c diff --git a/Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.c b/Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.c index fc81445c1..3dcf9df29 100644 --- a/Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.c +++ b/Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.c @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2010. + Copyright (C) Dean Camera, 2011. dean [at] fourwalledcubicle [dot] com - www.fourwalledcubicle.com + www.lufa-lib.org */ /* - Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2011 Dean Camera (dean [at] fourwalledcubicle [dot] com) Copyright 2010 Denver Gingerich (denver [at] ossguy [dot] com) Permission to use, copy, modify, distribute, and sell this @@ -38,10 +38,10 @@ #include "KeyboardMouse.h" /** Global structure to hold the current keyboard interface HID report, for transmission to the host */ -USB_KeyboardReport_Data_t KeyboardReportData; +static USB_KeyboardReport_Data_t KeyboardReportData; /** Global structure to hold the current mouse interface HID report, for transmission to the host */ -USB_MouseReport_Data_t MouseReportData; +static USB_MouseReport_Data_t MouseReportData; /** Main program entry point. This routine configures the hardware required by the application, then @@ -117,11 +117,11 @@ void EVENT_USB_Device_ConfigurationChanged(void) LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR); } -/** Event handler for the USB_UnhandledControlPacket event. This is used to catch standard and class specific - * 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 for the USB_ControlRequest event. This is used to catch and process control requests sent to + * the device from the USB host before passing along unhandled control requests to the library for processing + * internally. */ -void EVENT_USB_Device_UnhandledControlRequest(void) +void EVENT_USB_Device_ControlRequest(void) { uint8_t* ReportData; uint8_t ReportSize; @@ -168,7 +168,7 @@ void EVENT_USB_Device_UnhandledControlRequest(void) } /* Read in the LED report from the host */ - uint8_t LEDStatus = Endpoint_Read_Byte(); + uint8_t LEDStatus = Endpoint_Read_8(); Endpoint_ClearOUT(); Endpoint_ClearStatusStage(); @@ -222,17 +222,17 @@ void Keyboard_HID_Task(void) KeyboardReportData.Modifier = HID_KEYBOARD_MODIFER_LEFTSHIFT; if (JoyStatus_LCL & JOY_UP) - KeyboardReportData.KeyCode[0] = 0x04; // A + KeyboardReportData.KeyCode[0] = HID_KEYBOARD_SC_A; else if (JoyStatus_LCL & JOY_DOWN) - KeyboardReportData.KeyCode[0] = 0x05; // B + KeyboardReportData.KeyCode[0] = HID_KEYBOARD_SC_B; if (JoyStatus_LCL & JOY_LEFT) - KeyboardReportData.KeyCode[0] = 0x06; // C + KeyboardReportData.KeyCode[0] = HID_KEYBOARD_SC_C; else if (JoyStatus_LCL & JOY_RIGHT) - KeyboardReportData.KeyCode[0] = 0x07; // D + KeyboardReportData.KeyCode[0] = HID_KEYBOARD_SC_D; if (JoyStatus_LCL & JOY_PRESS) - KeyboardReportData.KeyCode[0] = 0x08; // E + KeyboardReportData.KeyCode[0] = HID_KEYBOARD_SC_E; } /* Select the Keyboard Report Endpoint */ @@ -242,7 +242,7 @@ void Keyboard_HID_Task(void) if (Endpoint_IsReadWriteAllowed()) { /* Write Keyboard Report Data */ - Endpoint_Write_Stream_LE(&KeyboardReportData, sizeof(KeyboardReportData)); + Endpoint_Write_Stream_LE(&KeyboardReportData, sizeof(KeyboardReportData), NULL); /* Finalize the stream transfer to send the last packet */ Endpoint_ClearIN(); @@ -258,7 +258,7 @@ void Keyboard_HID_Task(void) if (Endpoint_IsReadWriteAllowed()) { /* Read in and process the LED report from the host */ - Keyboard_ProcessLEDReport(Endpoint_Read_Byte()); + Keyboard_ProcessLEDReport(Endpoint_Read_8()); /* Handshake the OUT Endpoint - clear endpoint and ready for next report */ Endpoint_ClearOUT(); @@ -290,7 +290,7 @@ void Mouse_HID_Task(void) MouseReportData.X = -1; if (JoyStatus_LCL & JOY_PRESS) - MouseReportData.Button = (1 << 0); + MouseReportData.Button |= (1 << 0); } /* Select the Mouse Report Endpoint */ @@ -300,7 +300,7 @@ void Mouse_HID_Task(void) if (Endpoint_IsReadWriteAllowed()) { /* Write Mouse Report Data */ - Endpoint_Write_Stream_LE(&MouseReportData, sizeof(MouseReportData)); + Endpoint_Write_Stream_LE(&MouseReportData, sizeof(MouseReportData), NULL); /* Finalize the stream transfer to send the last packet */ Endpoint_ClearIN();