diff --git a/src/graphics/Screen.cpp b/src/graphics/Screen.cpp index eca1111d6..1e17402cb 100644 --- a/src/graphics/Screen.cpp +++ b/src/graphics/Screen.cpp @@ -1506,16 +1506,20 @@ int Screen::handleInputEvent(const InputEvent *event) // UP/DOWN in message screen scrolls through message threads if (ui->getUiState()->currentFrame == framesetInfo.positions.textMessage) { - if (event->inputEvent == INPUT_BROKER_UP) { - graphics::MessageRenderer::scrollUp(); - setFastFramerate(); // match existing behavior - return 0; - } + if (messageStore.getMessages().empty()) { + cannedMessageModule->LaunchWithDestination(NODENUM_BROADCAST); + } else { + if (event->inputEvent == INPUT_BROKER_UP) { + graphics::MessageRenderer::scrollUp(); + setFastFramerate(); // match existing behavior + return 0; + } - if (event->inputEvent == INPUT_BROKER_DOWN) { - graphics::MessageRenderer::scrollDown(); - setFastFramerate(); - return 0; + if (event->inputEvent == INPUT_BROKER_DOWN) { + graphics::MessageRenderer::scrollDown(); + setFastFramerate(); + return 0; + } } } // Use left or right input from a keyboard to move between frames,