Add motion tracking and calibration features
This commit is contained in:
1 parent
4aa369ca73
commit
aab61a2b7b
13 files changed
+735
-169
No files matched your search
+2
-1
@@ -9,6 +9,7 @@ extern Config cfg;
|
||||
static uint8_t physBtnMask = 0;
|
||||
static uint8_t rawMaskPrev = 0;
|
||||
static unsigned long debounceMs = 0;
|
||||
unsigned long btnLastEdgeMs = 0;
|
||||
static const unsigned long DEBOUNCE_MS = 20;
|
||||
|
||||
// Double-press detection for left button
|
||||
@@ -61,7 +62,7 @@ void processPhysicalButtons() {
|
||||
if (BTN_RIGHT_PIN != BTN_PIN_NONE && digitalRead(BTN_RIGHT_PIN) == LOW) rawMask |= MOUSE_BUTTON_RIGHT;
|
||||
if (BTN_MIDDLE_PIN != BTN_PIN_NONE && digitalRead(BTN_MIDDLE_PIN) == LOW) rawMask |= MOUSE_BUTTON_MIDDLE;
|
||||
|
||||
if (rawMask != rawMaskPrev) { rawMaskPrev = rawMask; debounceMs = now; }
|
||||
if (rawMask != rawMaskPrev) { rawMaskPrev = rawMask; debounceMs = now; btnLastEdgeMs = now; }
|
||||
if (rawMask != physBtnMask && (now - debounceMs >= DEBOUNCE_MS)) {
|
||||
uint8_t newMask = rawMask;
|
||||
uint8_t pressed = newMask & ~physBtnMask;
|
||||
|
||||
Reference in new issue
Block a user