refactor: key handling (#4849)

This commit is contained in:
philmoz
2024-05-27 18:33:53 +10:00
committed by GitHub
parent b8a0038c68
commit e807ccbebf
101 changed files with 380 additions and 578 deletions
+17 -28
View File
@@ -141,7 +141,6 @@ void menuModelSelect(event_t event)
break;
case EVT_KEY_LONG(KEY_EXIT):
killEvents(event);
if (s_copyMode && s_copyTgtOfs == 0 && g_eeGeneral.currModel != sub && modelExists(sub)) {
POPUP_CONFIRMATION(STR_DELETEMODEL, nullptr);
SET_WARNING_INFO(modelHeaders[sub].name, sizeof(g_model.header.name), 0);
@@ -208,7 +207,6 @@ void menuModelSelect(event_t event)
event == EVT_KEY_LONG(KEY_ENTER)) {
s_copyMode = 0;
killEvents(event);
if (g_eeGeneral.currModel != sub) {
if (modelExists(sub)) {
POPUP_MENU_ADD_ITEM(STR_SELECT_MODEL);
@@ -240,36 +238,27 @@ void menuModelSelect(event_t event)
}
break;
#if defined(KEYS_GPIO_REG_PAGEDN)
case EVT_KEY_FIRST(KEY_PAGEUP):
chainMenu(menuTabModel[DIM(menuTabModel)-1].menuFunc);
killEvents(event);
break;
case EVT_KEY_FIRST(KEY_PAGEDN):
chainMenu(menuModelSetup);
break;
#elif defined(KEYS_GPIO_REG_PAGE)
case EVT_KEY_LONG(KEY_PAGE):
chainMenu(menuTabModel[DIM(menuTabModel)-1].menuFunc);
killEvents(event);
break;
case EVT_KEY_BREAK(KEY_PAGE):
chainMenu(menuModelSetup);
break;
#else
case EVT_KEY_FIRST(KEY_LEFT):
case EVT_KEY_FIRST(KEY_RIGHT):
if (sub == g_eeGeneral.currModel) {
bool forward = (event == EVT_KEY_FIRST(KEY_RIGHT));
chainMenu(forward ? menuModelSetup
: menuTabModel[DIM(menuTabModel) - 1].menuFunc);
} else {
// Page navigation only allowed if cursor on first line (for consistency)
if (sub != g_eeGeneral.currModel) {
AUDIO_WARNING2();
break;
}
// Fallthrough
case EVT_KEY_BREAK(KEY_PAGEUP):
chainMenu(menuTabModel[DIM(menuTabModel)-1].menuFunc);
break;
case EVT_KEY_FIRST(KEY_RIGHT):
// Page navigation only allowed if cursor on first line (for consistency)
if (sub != g_eeGeneral.currModel) {
AUDIO_WARNING2();
break;
}
// Fallthrough
case EVT_KEY_BREAK(KEY_PAGEDN):
chainMenu(menuModelSetup);
break;
#endif
}
if (s_copyMode) {