diff --git a/radio/src/gui/colorlcd/radio_spectrum_analyser.cpp b/radio/src/gui/colorlcd/radio_spectrum_analyser.cpp index 98a8f924a..3d435fa5e 100644 --- a/radio/src/gui/colorlcd/radio_spectrum_analyser.cpp +++ b/radio/src/gui/colorlcd/radio_spectrum_analyser.cpp @@ -206,6 +206,16 @@ RadioSpectrumAnalyser::RadioSpectrumAnalyser(uint8_t moduleIdx) : start(); } +#if defined(HARDWARE_KEYS) +void RadioSpectrumAnalyser::onEvent(event_t event) +{ + if (event == EVT_KEY_LONG(KEY_EXIT) || event == EVT_KEY_BREAK(KEY_EXIT)) { + stop(); + } + Page::onEvent(event); +} +#endif + void RadioSpectrumAnalyser::buildHeader(Window * window) { new StaticText(window, {PAGE_TITLE_LEFT, PAGE_TITLE_TOP + 10, LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT}, STR_MENU_SPECTRUM_ANALYSER, 0, COLOR_THEME_SECONDARY1); diff --git a/radio/src/gui/colorlcd/radio_spectrum_analyser.h b/radio/src/gui/colorlcd/radio_spectrum_analyser.h index ccca50e48..bbce7c783 100644 --- a/radio/src/gui/colorlcd/radio_spectrum_analyser.h +++ b/radio/src/gui/colorlcd/radio_spectrum_analyser.h @@ -27,6 +27,7 @@ class RadioSpectrumAnalyser: public Page { public: explicit RadioSpectrumAnalyser(uint8_t moduleIdx); + void onEvent(event_t event) override; protected: uint8_t moduleIdx;