Make sure the keyboard is not read if any of the endpoints are busy sending data
This commit is contained in:
@@ -395,8 +395,12 @@ static uint32_t lastMouseUpdateTimeMicros;
|
|||||||
void UpdateUsbReports(void)
|
void UpdateUsbReports(void)
|
||||||
{
|
{
|
||||||
UsbReportUpdateCounter++;
|
UsbReportUpdateCounter++;
|
||||||
|
if (((usb_device_hid_struct_t *)UsbCompositeDevice.basicKeyboardHandle)->interruptInPipeBusy ||
|
||||||
if (Timer_GetElapsedTimeMicros(&lastMouseUpdateTimeMicros) < 1000U * USB_BASIC_KEYBOARD_INTERRUPT_IN_INTERVAL) {
|
((usb_device_hid_struct_t *)UsbCompositeDevice.mediaKeyboardHandle)->interruptInPipeBusy ||
|
||||||
|
((usb_device_hid_struct_t *)UsbCompositeDevice.systemKeyboardHandle)->interruptInPipeBusy ||
|
||||||
|
((usb_device_hid_struct_t *)UsbCompositeDevice.mouseHandle)->interruptInPipeBusy) {
|
||||||
|
return;
|
||||||
|
} else if (Timer_GetElapsedTimeMicros(&lastMouseUpdateTimeMicros) < 1000U * USB_BASIC_KEYBOARD_INTERRUPT_IN_INTERVAL) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Timer_SetCurrentTimeMicros(&lastMouseUpdateTimeMicros);
|
Timer_SetCurrentTimeMicros(&lastMouseUpdateTimeMicros);
|
||||||
|
|||||||
Reference in New Issue
Block a user