From 5a756edf8b3d9fcd3fa183bb956dc3c14e4b0fd1 Mon Sep 17 00:00:00 2001 From: Kristian Sloth Lauszus Date: Sun, 8 Apr 2018 21:39:43 +0200 Subject: [PATCH 1/2] Remove historic code that tried to solve the mouse speed issue --- right/src/usb_report_updater.c | 51 ++++------------------------------ 1 file changed, 5 insertions(+), 46 deletions(-) diff --git a/right/src/usb_report_updater.c b/right/src/usb_report_updater.c index 91dd146..b395a9e 100644 --- a/right/src/usb_report_updater.c +++ b/right/src/usb_report_updater.c @@ -369,13 +369,8 @@ static void updateActiveUsbReports(void) previousLayer = activeLayer; } -static bool UsbBasicKeyboardReportEverSent = false; -static bool UsbMediaKeyboardReportEverSent = false; -static bool UsbSystemKeyboardReportEverSent = false; -static bool UsbMouseReportEverSentEverSent = false; - uint32_t UsbReportUpdateCounter; -static uint32_t lastUsbUpdateTime; +static uint32_t lastMouseUpdateTime; void UpdateUsbReports(void) { @@ -386,45 +381,11 @@ void UpdateUsbReports(void) activeMouseStates[SerializedMouseAction_MoveDown] || activeMouseStates[SerializedMouseAction_MoveLeft] || activeMouseStates[SerializedMouseAction_MoveRight]) { - if (Timer_GetElapsedTime(&lastUsbUpdateTime) < 10) + if (Timer_GetElapsedTime(&lastMouseUpdateTime) < 10) return; - } else { - if (Timer_GetElapsedTime(&lastUsbUpdateTime) > 100) { - UsbBasicKeyboardReportEverSent = false; - UsbMediaKeyboardReportEverSent = false; - UsbSystemKeyboardReportEverSent = false; - UsbMouseReportEverSentEverSent = false; - } - - if (IsUsbBasicKeyboardReportSent) { - UsbBasicKeyboardReportEverSent = true; - } - if (IsUsbMediaKeyboardReportSent) { - UsbMediaKeyboardReportEverSent = true; - } - if (IsUsbSystemKeyboardReportSent) { - UsbSystemKeyboardReportEverSent = true; - } - if (IsUsbMouseReportSent) { - UsbMouseReportEverSentEverSent = true; - } - - bool areUsbReportsSent = true; - if (UsbBasicKeyboardReportEverSent) { - areUsbReportsSent &= IsUsbBasicKeyboardReportSent; - } - if (UsbMediaKeyboardReportEverSent) { - areUsbReportsSent &= IsUsbMediaKeyboardReportSent; - } - if (UsbSystemKeyboardReportEverSent) { - areUsbReportsSent &= IsUsbSystemKeyboardReportSent; - } - if (UsbMouseReportEverSentEverSent) { - areUsbReportsSent &= IsUsbMouseReportSent; - } - if (!areUsbReportsSent) { - return; - } + Timer_SetCurrentTime(&lastMouseUpdateTime); + } else if (!IsUsbBasicKeyboardReportSent || !IsUsbMediaKeyboardReportSent || !IsUsbSystemKeyboardReportSent || !IsUsbMouseReportSent) { + return; } ResetActiveUsbBasicKeyboardReport(); @@ -464,6 +425,4 @@ void UpdateUsbReports(void) if ((previousLayer != LayerId_Base || !IsUsbBasicKeyboardReportSent || !IsUsbMediaKeyboardReportSent || !IsUsbSystemKeyboardReportSent || !IsUsbMouseReportSent) && IsComputerSleeping()) WakeupComputer(true); // Wake up the computer if any key is pressed and the computer is sleeping - - Timer_SetCurrentTime(&lastUsbUpdateTime); } From c90261d549d233f783eedd3f96fc7a9ef27469ab Mon Sep 17 00:00:00 2001 From: Kristian Sloth Lauszus Date: Sun, 8 Apr 2018 21:59:57 +0200 Subject: [PATCH 2/2] Set the update rate according to the mouse endpoint polling interval --- right/src/usb_report_updater.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/right/src/usb_report_updater.c b/right/src/usb_report_updater.c index b395a9e..c1f565c 100644 --- a/right/src/usb_report_updater.c +++ b/right/src/usb_report_updater.c @@ -381,7 +381,7 @@ void UpdateUsbReports(void) activeMouseStates[SerializedMouseAction_MoveDown] || activeMouseStates[SerializedMouseAction_MoveLeft] || activeMouseStates[SerializedMouseAction_MoveRight]) { - if (Timer_GetElapsedTime(&lastMouseUpdateTime) < 10) + if (Timer_GetElapsedTime(&lastMouseUpdateTime) < USB_MOUSE_INTERRUPT_IN_INTERVAL) return; Timer_SetCurrentTime(&lastMouseUpdateTime); } else if (!IsUsbBasicKeyboardReportSent || !IsUsbMediaKeyboardReportSent || !IsUsbSystemKeyboardReportSent || !IsUsbMouseReportSent) {