Process the key inputs at a constant rate when moving the mouse, so the mouse speed is consistent

Fixes #99
This commit is contained in:
Kristian Sloth Lauszus
2018-04-08 21:18:56 +02:00
parent ac75d0ca8b
commit d2acfba659

View File

@@ -381,6 +381,14 @@ void UpdateUsbReports(void)
{ {
UsbReportUpdateCounter++; UsbReportUpdateCounter++;
// Process the key inputs at a constant rate when moving the mouse, so the mouse speed is consistent
if (activeMouseStates[SerializedMouseAction_MoveUp] ||
activeMouseStates[SerializedMouseAction_MoveDown] ||
activeMouseStates[SerializedMouseAction_MoveLeft] ||
activeMouseStates[SerializedMouseAction_MoveRight]) {
if (Timer_GetElapsedTime(&lastUsbUpdateTime) < 10)
return;
} else {
if (Timer_GetElapsedTime(&lastUsbUpdateTime) > 100) { if (Timer_GetElapsedTime(&lastUsbUpdateTime) > 100) {
UsbBasicKeyboardReportEverSent = false; UsbBasicKeyboardReportEverSent = false;
UsbMediaKeyboardReportEverSent = false; UsbMediaKeyboardReportEverSent = false;
@@ -417,6 +425,7 @@ void UpdateUsbReports(void)
if (!areUsbReportsSent) { if (!areUsbReportsSent) {
return; return;
} }
}
ResetActiveUsbBasicKeyboardReport(); ResetActiveUsbBasicKeyboardReport();
ResetActiveUsbMediaKeyboardReport(); ResetActiveUsbMediaKeyboardReport();