Make debounce times configurable on the fly

This commit is contained in:
Eric Tang
2018-07-05 14:41:19 -07:00
parent 2ef5c49090
commit d722b3d173
3 changed files with 8 additions and 3 deletions

View File

@@ -350,12 +350,12 @@ static void updateActiveUsbReports(void)
key_action_t *action = &CurrentKeymap[activeLayer][slotId][keyId];
if (keyState->debouncing) {
if ((uint8_t)(Timer_GetCurrentTime() - keyState->timestamp) > KEY_BOUNCE_TIME_MSEC) {
if ((uint8_t)(Timer_GetCurrentTime() - keyState->timestamp) > (keyState->previous ? DebounceTimePress : DebounceTimeRelease)) {
keyState->debouncing = false;
} else {
keyState->current = keyState->previous;
}
} else if (!keyState->previous && keyState->current) {
} else if (keyState->previous != keyState->current) {
keyState->timestamp = Timer_GetCurrentTime();
keyState->debouncing = true;
}