From 18e6c49f52b4c2cc1d8440b278ab15306485bfa3 Mon Sep 17 00:00:00 2001 From: 0xFEEDC0DE64 Date: Sun, 7 Jun 2020 00:11:25 +0200 Subject: [PATCH] Made debounce respect the configured setting --- src/dpad.h | 10 ++++------ src/dpad3wire.h | 11 +++++------ 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/dpad.h b/src/dpad.h index 410421b..1d0f9da 100644 --- a/src/dpad.h +++ b/src/dpad.h @@ -63,29 +63,27 @@ void update() ButtonBack = 3 }; - constexpr auto debounceTime = 25; - - if (std::get(lastState) != std::get(state) && now-debounceUp > debounceTime) + if (std::get(lastState) != std::get(state) && now-debounceUp > settings.boardcomputerHardware.dpadDebounce) { if (std::get(state)) InputDispatcher::rotate(-1); std::get(lastState) = std::get(state); debounceUp = now; } - if (std::get(lastState) != std::get(state) && now-debounceDown > debounceTime) + if (std::get(lastState) != std::get(state) && now-debounceDown > settings.boardcomputerHardware.dpadDebounce) { if (std::get(state)) InputDispatcher::rotate(1); std::get(lastState) = std::get(state); debounceDown = now; } - if (std::get(lastState) != std::get(state) && now-debounceConfirm > debounceTime) + if (std::get(lastState) != std::get(state) && now-debounceConfirm > settings.boardcomputerHardware.dpadDebounce) { InputDispatcher::confirmButton(std::get(state)); std::get(lastState) = std::get(state); debounceConfirm = now; } - if (std::get(lastState) != std::get(state) && now-debounceBack > debounceTime) + if (std::get(lastState) != std::get(state) && now-debounceBack > settings.boardcomputerHardware.dpadDebounce) { InputDispatcher::backButton(std::get(state)); std::get(lastState) = std::get(state); diff --git a/src/dpad3wire.h b/src/dpad3wire.h index 2ab66cb..8d3efe5 100644 --- a/src/dpad3wire.h +++ b/src/dpad3wire.h @@ -5,6 +5,7 @@ #include "globals.h" #include "dpad.h" +#include "globals.h" #include "types.h" namespace { @@ -78,29 +79,27 @@ void update() ButtonBack = 2 }; - constexpr auto debounceTime = 25; - - if (std::get(lastState) != std::get(state) && now-debounceUp > debounceTime) + if (std::get(lastState) != std::get(state) && now-debounceUp > settings.boardcomputerHardware.dpadDebounce) { if (std::get(state)) InputDispatcher::rotate(-1); std::get(lastState) = std::get(state); debounceUp = now; } - if (std::get(lastState) != std::get(state) && now-debounceDown > debounceTime) + if (std::get(lastState) != std::get(state) && now-debounceDown > settings.boardcomputerHardware.dpadDebounce) { if (std::get(state)) InputDispatcher::rotate(1); std::get(lastState) = std::get(state); debounceDown = now; } - if (std::get(lastState) != std::get(state) && now-debounceConfirm > debounceTime) + if (std::get(lastState) != std::get(state) && now-debounceConfirm > settings.boardcomputerHardware.dpadDebounce) { InputDispatcher::confirmButton(std::get(state)); std::get(lastState) = std::get(state); debounceConfirm = now; } - if (std::get(lastState) != std::get(state) && now-debounceBack > debounceTime) + if (std::get(lastState) != std::get(state) && now-debounceBack > settings.boardcomputerHardware.dpadDebounce) { InputDispatcher::backButton(std::get(state)); std::get(lastState) = std::get(state);