X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/c93259fbdbfec154b37fd4c3a4e1b43f5b7265e5..df14c97519f52f14fcc5b4aaadb504342ae9c696:/Demos/Device/LowLevel/Keyboard/Keyboard.c?ds=inline diff --git a/Demos/Device/LowLevel/Keyboard/Keyboard.c b/Demos/Device/LowLevel/Keyboard/Keyboard.c index 3755d09de..aeaa045de 100644 --- a/Demos/Device/LowLevel/Keyboard/Keyboard.c +++ b/Demos/Device/LowLevel/Keyboard/Keyboard.c @@ -294,14 +294,11 @@ void SendNextReport(void) { static USB_KeyboardReport_Data_t PrevKeyboardReportData; USB_KeyboardReport_Data_t KeyboardReportData; - bool SendReport = true; + bool SendReport = false; /* Create the next keyboard report for transmission to the host */ CreateKeyboardReport(&KeyboardReportData); - /* Check to see if the report data has changed - if so a report MUST be sent */ - SendReport = (memcmp(&PrevKeyboardReportData, &KeyboardReportData, sizeof(USB_KeyboardReport_Data_t)) != 0); - /* Check if the idle period is set and has elapsed */ if (IdleCount && (!(IdleMSRemaining))) { @@ -311,6 +308,11 @@ void SendNextReport(void) /* Idle period is set and has elapsed, must send a report to the host */ SendReport = true; } + else + { + /* Check to see if the report data has changed - if so a report MUST be sent */ + SendReport = (memcmp(&PrevKeyboardReportData, &KeyboardReportData, sizeof(USB_KeyboardReport_Data_t)) != 0); + } /* Select the Keyboard Report Endpoint */ Endpoint_SelectEndpoint(KEYBOARD_IN_EPADDR);