From 522474cf62aea0cffa2544ba40ab6b504ce05916 Mon Sep 17 00:00:00 2001 From: philmoz Date: Mon, 28 Apr 2025 21:28:49 +1000 Subject: [PATCH] feat(color): allow long press of PAGE keys to navigate menus (#6109) --- radio/src/gui/colorlcd/libui/tabsgroup.cpp | 2 ++ radio/src/gui/colorlcd/libui/tabsgroup.h | 2 ++ radio/src/gui/colorlcd/libui/window.cpp | 8 ++++++++ 3 files changed, 12 insertions(+) diff --git a/radio/src/gui/colorlcd/libui/tabsgroup.cpp b/radio/src/gui/colorlcd/libui/tabsgroup.cpp index 4cf32d760..19cf100bb 100644 --- a/radio/src/gui/colorlcd/libui/tabsgroup.cpp +++ b/radio/src/gui/colorlcd/libui/tabsgroup.cpp @@ -363,6 +363,8 @@ void TabsGroup::checkEvents() #if defined(HARDWARE_KEYS) void TabsGroup::onPressPGUP() { header->prevTab(); } void TabsGroup::onPressPGDN() { header->nextTab(); } +void TabsGroup::onLongPressPGUP() { header->prevTab(); } +void TabsGroup::onLongPressPGDN() { header->nextTab(); } void TabsGroup::onLongPressRTN() { onCancel(); } #endif diff --git a/radio/src/gui/colorlcd/libui/tabsgroup.h b/radio/src/gui/colorlcd/libui/tabsgroup.h index 2d6ea496b..53d2c88ed 100644 --- a/radio/src/gui/colorlcd/libui/tabsgroup.h +++ b/radio/src/gui/colorlcd/libui/tabsgroup.h @@ -100,6 +100,8 @@ class TabsGroup : public NavWindow #if defined(HARDWARE_KEYS) void onPressPGUP() override; void onPressPGDN() override; + void onLongPressPGUP() override; + void onLongPressPGDN() override; void onLongPressRTN() override; #endif }; diff --git a/radio/src/gui/colorlcd/libui/window.cpp b/radio/src/gui/colorlcd/libui/window.cpp index 22e8b2484..304c0693e 100644 --- a/radio/src/gui/colorlcd/libui/window.cpp +++ b/radio/src/gui/colorlcd/libui/window.cpp @@ -446,6 +446,14 @@ void NavWindow::onEvent(event_t event) onPressPGUP(); break; + case EVT_KEY_LONG(KEY_PAGEDN): + onLongPressPGDN(); + break; + + case EVT_KEY_LONG(KEY_PAGEUP): + onLongPressPGUP(); + break; + case EVT_KEY_LONG(KEY_EXIT): onLongPressRTN(); break;