From 0ccba1e16017ec102e117810bf84621c1f38dbfc Mon Sep 17 00:00:00 2001 From: philmoz Date: Sun, 5 May 2024 16:12:50 +1000 Subject: [PATCH] fix(bw): editing names on 9x/xlite nav radios & popup menu using wrong keys/events (#4967) --- radio/src/gui/navigation/common.cpp | 2 +- radio/src/keys.h | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/radio/src/gui/navigation/common.cpp b/radio/src/gui/navigation/common.cpp index 298d562d3..985d971c8 100644 --- a/radio/src/gui/navigation/common.cpp +++ b/radio/src/gui/navigation/common.cpp @@ -48,7 +48,7 @@ int checkIncDecSelection = 0; void repeatLastCursorMove(event_t event) { - if (IS_PREVIOUS_EVENT(event) || IS_NEXT_EVENT(event)) { + if (IS_PREVIOUS_MOVE_EVENT(event) || IS_NEXT_MOVE_EVENT(event)) { pushEvent(event); } else { diff --git a/radio/src/keys.h b/radio/src/keys.h index 46d1a598c..b631affb1 100644 --- a/radio/src/keys.h +++ b/radio/src/keys.h @@ -149,12 +149,26 @@ inline bool IS_KEY_EVT(event_t evt, uint8_t key) inline bool IS_NEXT_EVENT(event_t evt) { return evt == EVT_KEY_FIRST(KEY_DOWN) || evt == EVT_KEY_REPT(KEY_DOWN) || - evt == EVT_KEY_FIRST(KEY_RIGHT) || evt == EVT_KEY_REPT(KEY_RIGHT) || evt == EVT_KEY_FIRST(KEY_MINUS) || evt == EVT_KEY_REPT(KEY_MINUS) || evt == EVT_ROTARY_RIGHT; } inline bool IS_PREVIOUS_EVENT(event_t evt) +{ + return evt == EVT_KEY_FIRST(KEY_UP) || evt == EVT_KEY_REPT(KEY_UP) || + evt == EVT_KEY_FIRST(KEY_PLUS) || evt == EVT_KEY_REPT(KEY_PLUS) || + evt == EVT_ROTARY_LEFT; +} + +inline bool IS_NEXT_MOVE_EVENT(event_t evt) +{ + return evt == EVT_KEY_FIRST(KEY_DOWN) || evt == EVT_KEY_REPT(KEY_DOWN) || + evt == EVT_KEY_FIRST(KEY_RIGHT) || evt == EVT_KEY_REPT(KEY_RIGHT) || + evt == EVT_KEY_FIRST(KEY_MINUS) || evt == EVT_KEY_REPT(KEY_MINUS) || + evt == EVT_ROTARY_RIGHT; +} + +inline bool IS_PREVIOUS_MOVE_EVENT(event_t evt) { return evt == EVT_KEY_FIRST(KEY_UP) || evt == EVT_KEY_REPT(KEY_UP) || evt == EVT_KEY_FIRST(KEY_LEFT) || evt == EVT_KEY_REPT(KEY_LEFT) ||