From 5790d6f5dcc3de9a15f72947bc1db848f154ba55 Mon Sep 17 00:00:00 2001 From: Jonas Diemer Date: Sat, 3 Jan 2026 08:54:23 +0100 Subject: [PATCH] Subtract time it took reaching the evaluation from the press duration. (#208) Adresses #206 --- src/main.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index b9e3342..5273d03 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -150,8 +150,10 @@ void verifyWakeupLongPress() { // Give the user up to 1000ms to start holding the power button, and must hold for SETTINGS.getPowerButtonDuration() const auto start = millis(); bool abort = false; - // It takes us some time to wake up from deep sleep, so we need to subtract that from the duration - constexpr uint16_t calibration = 29; + // Subtract the current time, because inputManager only starts counting the HeldTime from the first update() + // This way, we remove the time we already took to reach here from the duration, + // assuming the button was held until now from millis()==0 (i.e. device start time). + const uint16_t calibration = start; const uint16_t calibratedPressDuration = (calibration < SETTINGS.getPowerButtonDuration()) ? SETTINGS.getPowerButtonDuration() - calibration : 1;