Let the page buttons keep up with the finger: Next, Next, Next reaches page 4 (0.2.72)
The Previous and Next bars ran their tap through the tile guard, whose 600 ms same-tile window (so one contact never fires a tile twice) dropped the second and third tap of a quick Next, Next, Next. They now use accept_repeat, the -/+ keys' rule since 0.2.25: every clean tap counts, only a contact within 150 ms of the last accepted tap on the same button is a bounce. The page fill already dropped a fill under way when the next page was asked for. Firmware 0.2.61; test_cyd_ui.cpp covers the page buttons; host harness and check builds in docs/TEST_RESULTS_0272.md. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -73,8 +73,9 @@ class TouchGuard {
|
||||
if (moved_) { reject_ = MOVED; return false; }
|
||||
return accept_slider(now, tile);
|
||||
}
|
||||
// For -/+ keys: every clean tap counts, even the third within a second, so a
|
||||
// setpoint moves several steps in one go. Only bounce (same key within `gap`) is dropped.
|
||||
// For -/+ keys and the page buttons: every clean tap counts, even the third within a second,
|
||||
// so a setpoint moves several steps in one go and Next, Next, Next reaches page 4 without
|
||||
// waiting for each page to draw. Only bounce (same key within `gap`) is dropped.
|
||||
bool accept_repeat(uint32_t now, int tile, uint32_t gap = 150) {
|
||||
if (moved_) { reject_ = MOVED; return false; }
|
||||
if (accepted_) { reject_ = USED; return false; }
|
||||
|
||||
Reference in New Issue
Block a user