From e6f5fa43e6f0ebca20b589eef736994ea8d76e68 Mon Sep 17 00:00:00 2001 From: Arthur Tazhitdinov Date: Sat, 7 Feb 2026 18:17:00 +0300 Subject: [PATCH] feat(ux): invert BACK button behavior in reader activities (#726) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary * Inverts back button behaviour while reading - short press to go home, long press to open file browser ## Additional Context * It seems counterintuitive that going into a book from home screen and pressing back doesn’t take you back to the home screen. With the recent books now displayed in the home view and a separate recents view, going directly to the file browser is less necessary. --- src/activities/reader/EpubReaderActivity.cpp | 8 ++++---- src/activities/reader/TxtReaderActivity.cpp | 8 ++++---- src/activities/reader/XtcReaderActivity.cpp | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/activities/reader/EpubReaderActivity.cpp b/src/activities/reader/EpubReaderActivity.cpp index 5428a00c..cd045c8e 100644 --- a/src/activities/reader/EpubReaderActivity.cpp +++ b/src/activities/reader/EpubReaderActivity.cpp @@ -204,15 +204,15 @@ void EpubReaderActivity::loop() { xSemaphoreGive(renderingMutex); } - // Long press BACK (1s+) goes directly to home + // Long press BACK (1s+) goes to file selection if (mappedInput.isPressed(MappedInputManager::Button::Back) && mappedInput.getHeldTime() >= goHomeMs) { - onGoHome(); + onGoBack(); return; } - // Short press BACK goes to file selection + // Short press BACK goes directly to home if (mappedInput.wasReleased(MappedInputManager::Button::Back) && mappedInput.getHeldTime() < goHomeMs) { - onGoBack(); + onGoHome(); return; } diff --git a/src/activities/reader/TxtReaderActivity.cpp b/src/activities/reader/TxtReaderActivity.cpp index 4d4985c5..2032518a 100644 --- a/src/activities/reader/TxtReaderActivity.cpp +++ b/src/activities/reader/TxtReaderActivity.cpp @@ -102,15 +102,15 @@ void TxtReaderActivity::loop() { return; } - // Long press BACK (1s+) goes directly to home + // Long press BACK (1s+) goes to file selection if (mappedInput.isPressed(MappedInputManager::Button::Back) && mappedInput.getHeldTime() >= goHomeMs) { - onGoHome(); + onGoBack(); return; } - // Short press BACK goes to file selection + // Short press BACK goes directly to home if (mappedInput.wasReleased(MappedInputManager::Button::Back) && mappedInput.getHeldTime() < goHomeMs) { - onGoBack(); + onGoHome(); return; } diff --git a/src/activities/reader/XtcReaderActivity.cpp b/src/activities/reader/XtcReaderActivity.cpp index c143d2c5..c28f6f44 100644 --- a/src/activities/reader/XtcReaderActivity.cpp +++ b/src/activities/reader/XtcReaderActivity.cpp @@ -102,15 +102,15 @@ void XtcReaderActivity::loop() { } } - // Long press BACK (1s+) goes directly to home + // Long press BACK (1s+) goes to file selection if (mappedInput.isPressed(MappedInputManager::Button::Back) && mappedInput.getHeldTime() >= goHomeMs) { - onGoHome(); + onGoBack(); return; } - // Short press BACK goes to file selection + // Short press BACK goes directly to home if (mappedInput.wasReleased(MappedInputManager::Button::Back) && mappedInput.getHeldTime() < goHomeMs) { - onGoBack(); + onGoHome(); return; }