From 05c80e632a75877804118515e0ba8f29afa1c292 Mon Sep 17 00:00:00 2001 From: Gergely Nagy Date: Thu, 9 Feb 2017 20:41:07 +0100 Subject: [PATCH] Implement a way to slow down the acceleration Signed-off-by: Gergely Nagy --- src/Keyboardio-MouseKeys.cpp | 10 ++++++++-- src/Keyboardio-MouseKeys.h | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Keyboardio-MouseKeys.cpp b/src/Keyboardio-MouseKeys.cpp index 23a85a64..702af5b6 100644 --- a/src/Keyboardio-MouseKeys.cpp +++ b/src/Keyboardio-MouseKeys.cpp @@ -5,6 +5,8 @@ #include "KeyboardioFirmware.h" uint8_t MouseKeys_::mouseMoveIntent; +uint8_t MouseKeys_::accelDelay; +uint8_t MouseKeys_::accelDelayCounter; void MouseKeys_::loopHook(bool postClear) { if (postClear) { @@ -19,8 +21,12 @@ void MouseKeys_::loopHook(bool postClear) { int8_t moveX = 0, moveY = 0; - if (MouseWrapper.mouseActiveForCycles < 255) - MouseWrapper.mouseActiveForCycles++; + if (accelDelayCounter == accelDelay) { + if (MouseWrapper.mouseActiveForCycles < 255) + MouseWrapper.mouseActiveForCycles++; + accelDelayCounter = 0; + } else + accelDelayCounter++; if (mouseMoveIntent & KEY_MOUSE_UP) moveY = -1; diff --git a/src/Keyboardio-MouseKeys.h b/src/Keyboardio-MouseKeys.h index 17d47aa5..ff42ea07 100644 --- a/src/Keyboardio-MouseKeys.h +++ b/src/Keyboardio-MouseKeys.h @@ -8,9 +8,11 @@ class MouseKeys_ : public KeyboardioPlugin { MouseKeys_ (void); virtual void begin(void) final; + static uint8_t accelDelay; private: static uint8_t mouseMoveIntent; + static uint8_t accelDelayCounter; static void loopHook(bool postClear); static Key eventHandlerHook(Key mappedKey, byte row, byte col, uint8_t keyState);