diff --git a/src/core/scrollableTextArea.cpp b/src/core/scrollableTextArea.cpp index 8197e72ae4..8d92f9b1a5 100644 --- a/src/core/scrollableTextArea.cpp +++ b/src/core/scrollableTextArea.cpp @@ -73,12 +73,14 @@ size_t ScrollableTextArea::getMaxLines() { return linesBuffer.size(); } void ScrollableTextArea::show(bool force) { draw(force); + delay(200); // drain input buffer - while (check(SelPress)) { - update(force); - yield(); - } + // Flush any stale SelPress + while (check(SelPress)) { update(force); } + + // Wait for SelPress or EscPress to exit while (!check(SelPress)) { + if (check(EscPress)) break; update(force); yield(); }