diff --git a/openrtx/include/ui.h b/openrtx/include/ui.h index 5a90167a..2bf3091e 100644 --- a/openrtx/include/ui.h +++ b/openrtx/include/ui.h @@ -37,6 +37,7 @@ enum uiScreen MENU_CONTACTS, MENU_SMS, MENU_GPS, + MENU_MACRO, MENU_SETTINGS, SETTINGS_TIMEDATE, SETTINGS_TIMEDATE_SET, diff --git a/openrtx/src/ui.c b/openrtx/src/ui.c index 6af9d2d7..e2aeb20c 100644 --- a/openrtx/src/ui.c +++ b/openrtx/src/ui.c @@ -684,6 +684,23 @@ bool _ui_freq_check_limits(freq_t freq) return valid; } +bool _ui_drawMenuMacro() { + gfx_print(layout.line1_pos, "1 2 3", FONT_SIZE_12PT, TEXT_ALIGN_CENTER, + color_white); + gfx_print(layout.line2_pos, "4 5 6", FONT_SIZE_12PT, TEXT_ALIGN_CENTER, + color_white); + gfx_print(layout.line3_pos, "7 8 9", FONT_SIZE_12PT, TEXT_ALIGN_CENTER, + color_white); + return true; +} + +bool _ui_drawDarkOverlay() { + color_t alpha_grey = {0, 0, 0, 245}; + point_t origin = {0, 0}; + gfx_drawRect(origin, SCREEN_WIDTH, SCREEN_HEIGHT, alpha_grey, true); + return true; +} + void ui_updateFSM(event_t event, bool *sync_rtx) { // Check if battery has enough charge to operate @@ -732,6 +749,7 @@ void ui_updateFSM(event_t event, bool *sync_rtx) else if(msg.keys & KEY_ENTER) // Open Menu state.ui_screen = MENU_TOP; +<<<<<<< HEAD else if(input_isNumberPressed(msg)) { // Open Frequency input screen @@ -843,6 +861,12 @@ void ui_updateFSM(event_t event, bool *sync_rtx) } } } + else if(msg.keys & KEY_MONI) + { + // Open Macro Menu + _ui_drawDarkOverlay(); + state.ui_screen = MENU_MACRO; + } break; // Top menu screen case MENU_TOP: @@ -905,6 +929,12 @@ void ui_updateFSM(event_t event, bool *sync_rtx) menu_selected = 0; } break; + // Macro menu + case MENU_MACRO: + // Exit from this menu when monitor key is released + if(!(msg.keys & KEY_MONI)) + state.ui_screen = MAIN_VFO; + break; // Settings menu screen case MENU_SETTINGS: if(msg.keys & KEY_ENTER) @@ -1009,6 +1039,10 @@ void ui_updateGUI(state_t last_state) case MENU_CHANNEL: _ui_drawMenuChannel(); break; + // Macro menu + case MENU_MACRO: + screen_update = _ui_drawMenuMacro(); + break; // Settings menu screen case MENU_SETTINGS: _ui_drawMenuSettings(); diff --git a/platform/drivers/keyboard/keyboard_linux.c b/platform/drivers/keyboard/keyboard_linux.c index 59497dfc..5e0ce871 100644 --- a/platform/drivers/keyboard/keyboard_linux.c +++ b/platform/drivers/keyboard/keyboard_linux.c @@ -49,7 +49,7 @@ keyboard_t kbd_getKeys() { if (state[SDL_SCANCODE_RETURN]) keys |= KEY_ENTER; if (state[SDL_SCANCODE_NONUSHASH]) keys |= KEY_HASH; if (state[SDL_SCANCODE_MINUS]) keys |= KEY_F1; - if (state[SDLK_PLUS]) keys |= KEY_MONI; + if (state[SDL_SCANCODE_M]) keys |= KEY_MONI; return keys; }