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
@@ -241,7 +241,6 @@ void editName(coord_t x, coord_t y, char* name, uint8_t size, event_t event,
#if !defined(NAVIGATION_XLITE)
if (v == ' ') {
s_editMode = 0;
killEvents(event);
break;
}
else
@@ -255,7 +254,6 @@ void editName(coord_t x, coord_t y, char* name, uint8_t size, event_t event,
#if defined(NAVIGATION_9X)
if (event==EVT_KEY_LONG(KEY_LEFT))
killEvents(KEY_LEFT);
#endif
break;
}
+1 -1
View File
@@ -55,7 +55,7 @@ void chainMenu(MenuHandlerFunc newMenu)
void pushMenu(MenuHandlerFunc newMenu)
{
killEvents(KEY_ENTER);
killEvents(KEY_ENTER); // TODO: Check if needed.
if (menuLevel == 0) {
if (newMenu == menuRadioSetup)
@@ -262,7 +262,6 @@ void menuModelExposAll(event_t event)
case EVT_KEY_LONG(KEY_EXIT):
if (s_copyMode && s_copyTgtOfs == 0) {
deleteExpo(s_currIdx);
killEvents(event);
event = 0;
}
// no break
@@ -297,7 +296,6 @@ void menuModelExposAll(event_t event)
}
// no break
case EVT_KEY_LONG(KEY_ENTER):
killEvents(event);
if (s_copyTgtOfs) {
s_copyMode = 0;
s_copyTgtOfs = 0;
@@ -335,7 +333,6 @@ void menuModelExposAll(event_t event)
// insertExpo(s_currIdx);
// pushMenu(menuModelExpoOne);
// s_copyMode = 0;
// killEvents(event);
// }
// break;
}
@@ -178,7 +178,6 @@ void menuModelMixAll(event_t event)
case EVT_KEY_LONG(KEY_EXIT):
if (s_copyMode && s_copyTgtOfs == 0) {
deleteMix(s_currIdx);
killEvents(event);
event = 0;
}
// no break
@@ -214,7 +213,6 @@ void menuModelMixAll(event_t event)
// no break
case EVT_KEY_LONG(KEY_ENTER):
killEvents(event);
if (s_copyTgtOfs) {
s_copyMode = 0;
s_copyTgtOfs = 0;
@@ -252,7 +250,6 @@ void menuModelMixAll(event_t event)
// insertMix(s_currIdx, s_currCh - 1);
// pushMenu(menuModelMixOne);
// s_copyMode = 0;
// killEvents(event);
// }
// break;
}
@@ -91,7 +91,7 @@ void menuModelModuleOptions(event_t event)
}
if (menuEvent) {
killEvents(KEY_EXIT);
killEvents(KEY_EXIT); // TODO: Check if needed
moduleState[g_moduleIdx].mode = MODULE_MODE_NORMAL;
if (reusableBuffer.hardwareAndSettings.moduleSettings.dirty) {
abortPopMenu();
@@ -103,7 +103,6 @@ void menuModelModuleOptions(event_t event)
}
if (event == EVT_KEY_LONG(KEY_ENTER) && reusableBuffer.hardwareAndSettings.moduleSettings.dirty) {
killEvents(event);
reusableBuffer.hardwareAndSettings.moduleSettings.dirty = MODULE_SETTINGS_OK;
moduleState[g_moduleIdx].writeModuleSettings(&reusableBuffer.hardwareAndSettings.moduleSettings);
}
@@ -106,7 +106,7 @@ void menuModelReceiverOptions(event_t event)
});
if (menuEvent) {
killEvents(KEY_EXIT);
killEvents(KEY_EXIT); // TODO: Check if needed
moduleState[g_moduleIdx].mode = MODULE_MODE_NORMAL;
if (reusableBuffer.hardwareAndSettings.receiverSettings.dirty) {
abortPopMenu();
@@ -127,7 +127,6 @@ void menuModelReceiverOptions(event_t event)
}
if (event == EVT_KEY_LONG(KEY_ENTER) && reusableBuffer.hardwareAndSettings.receiverSettings.dirty) {
killEvents(event);
reusableBuffer.hardwareAndSettings.receiverSettings.dirty = RECEIVER_SETTINGS_OK;
moduleState[g_moduleIdx].writeReceiverSettings(&reusableBuffer.hardwareAndSettings.receiverSettings);
}
@@ -50,21 +50,15 @@ enum USBJFields {
void menuModelUSBJoystickOne(event_t event)
{
#if defined(KEYS_GPIO_REG_MDL)
if (event == EVT_KEY_FIRST(KEY_MODEL)) {
pushMenu(menuChannelsView);
killEvents(event);
}
#elif defined(NAVIGATION_X7)
if (event == EVT_KEY_FIRST(KEY_MENU)) {
pushMenu(menuChannelsView);
killEvents(event);
}
#elif defined(NAVIGATION_XLITE)
#if defined(NAVIGATION_XLITE)
if (event == EVT_KEY_FIRST(KEY_ENTER) && keysGetState(KEY_SHIFT)) {
pushMenu(menuChannelsView);
killEvents(event);
}
#else
if (event == EVT_KEY_BREAK(KEY_MODEL) || event == EVT_KEY_BREAK(KEY_MENU)) {
pushMenu(menuChannelsView);
}
#endif
USBJoystickChData * cch = usbJChAddress(s_currIdx);
putsChn(12*FW, 0, s_currIdx+1, 0);
@@ -198,8 +192,7 @@ void menuModelUSBJoystick(event_t event)
coord_t y = 0;
uint8_t k = 0;
if (event == EVT_KEY_FIRST(KEY_ENTER)) {
killEvents(event);
if (event == EVT_KEY_BREAK(KEY_ENTER)) {
USBJoystickChData * cch = usbJChAddress(sub);
s_currIdx = sub;
if (sub >= 0)
@@ -64,7 +64,7 @@ void menuGhostModuleConfig(event_t event)
break;
case EVT_KEY_FIRST(KEY_ENTER):
case EVT_KEY_BREAK(KEY_ENTER):
reusableBuffer.ghostMenu.buttonAction = GHST_BTN_JOYPRESS;
reusableBuffer.ghostMenu.menuAction = GHST_MENU_CTRL_NONE;
moduleState[EXTERNAL_MODULE].counter = GHST_MENU_CONTROL;
@@ -265,7 +265,7 @@ void menuRadioHardware(event_t event)
case ITEM_RADIO_HARDWARE_LABEL_STICKS:
lcdDrawTextAlignedLeft(y, STR_STICKS);
lcdDrawText(HW_SETTINGS_COLUMN2, y, BUTTON(TR_CALIBRATION), attr);
if (attr && event == EVT_KEY_FIRST(KEY_ENTER)) {
if (attr && event == EVT_KEY_BREAK(KEY_ENTER)) {
pushMenu(menuRadioCalibration);
}
break;
@@ -40,8 +40,7 @@ void menuRadioPowerMeter(event_t event)
if (TELEMETRY_STREAMING()) {
lcdDrawCenteredText(LCD_H/2, STR_TURN_OFF_RECEIVER);
if (event == EVT_KEY_FIRST(KEY_EXIT)) {
killEvents(event);
if (event == EVT_KEY_BREAK(KEY_EXIT)) {
popMenu();
}
return;
@@ -307,7 +307,6 @@ void menuRadioSdManager(event_t _event)
#if defined(KEYS_GPIO_REG_MENU)
case EVT_KEY_LONG(KEY_MENU):
if (SD_CARD_PRESENT() && !READ_ONLY() && s_editMode == 0) {
killEvents(_event);
POPUP_MENU_ADD_ITEM(STR_SD_INFO);
POPUP_MENU_START(onSdManagerMenu);
}
@@ -332,7 +331,6 @@ void menuRadioSdManager(event_t _event)
menuVerticalOffset = 0;
menuVerticalPosition = HEADER_LINE;
REFRESH_FILES();
killEvents(_event);
return;
}
}
@@ -341,7 +339,6 @@ void menuRadioSdManager(event_t _event)
case EVT_KEY_LONG(KEY_ENTER):
#if (HEADER_LINE > 0)
if (menuVerticalPosition < HEADER_LINE) {
killEvents(_event);
POPUP_MENU_ADD_ITEM(STR_SD_INFO);
POPUP_MENU_START(onSdManagerMenu);
break;
@@ -351,7 +348,6 @@ void menuRadioSdManager(event_t _event)
getSelectionFullPath(lfn);
if (SD_CARD_PRESENT() && s_editMode <= 0) {
killEvents(_event);
int index = menuVerticalPosition - HEADER_LINE - menuVerticalOffset;
char * line = reusableBuffer.sdManager.lines[index];
if (!strcmp(line, "..")) {
@@ -56,8 +56,7 @@ void menuRadioSpectrumAnalyser(event_t event)
if (moduleState[g_moduleIdx].mode != MODULE_MODE_SPECTRUM_ANALYSER) {
if (TELEMETRY_STREAMING()) {
lcdDrawCenteredText(LCD_H/2, STR_TURN_OFF_RECEIVER);
if (event == EVT_KEY_FIRST(KEY_EXIT)) {
killEvents(event);
if (event == EVT_KEY_BREAK(KEY_EXIT)) {
popMenu();
}
return;
@@ -39,8 +39,8 @@ enum NavigationDirection {
#define EVT_KEY_PREVIOUS_VIEW(evt) (evt == EVT_KEY_FIRST(KEY_PAGEUP))
#define EVT_KEY_NEXT_VIEW(evt) (evt == EVT_KEY_FIRST(KEY_PAGEDN))
#elif defined(NAVIGATION_X7) || defined(NAVIGATION_X9D)
#define EVT_KEY_PREVIOUS_VIEW(evt) (evt == EVT_KEY_LONG(KEY_PAGE))
#define EVT_KEY_NEXT_VIEW(evt) (evt == EVT_KEY_BREAK(KEY_PAGE))
#define EVT_KEY_PREVIOUS_VIEW(evt) (evt == EVT_KEY_BREAK(KEY_PAGEUP))
#define EVT_KEY_NEXT_VIEW(evt) (evt == EVT_KEY_BREAK(KEY_PAGEDN))
#elif defined(NAVIGATION_9X)
#define EVT_KEY_PREVIOUS_VIEW(evt) (evt == EVT_KEY_LONG(KEY_UP))
#define EVT_KEY_NEXT_VIEW(evt) (evt == EVT_KEY_LONG(KEY_DOWN))
@@ -53,26 +53,21 @@ void menuViewTelemetry(event_t event)
{
enum NavigationDirection direction = NAVIGATION_DIRECTION_NONE;
if (event == EVT_KEY_FIRST(KEY_EXIT) && TELEMETRY_SCREEN_TYPE(s_frsky_view) != TELEMETRY_SCREEN_TYPE_SCRIPT) {
killEvents(event);
if (event == EVT_KEY_BREAK(KEY_EXIT) && TELEMETRY_SCREEN_TYPE(s_frsky_view) != TELEMETRY_SCREEN_TYPE_SCRIPT) {
chainMenu(menuMainView);
}
#if defined(LUA)
else if (event == EVT_KEY_LONG(KEY_EXIT)) {
killEvents(event);
chainMenu(menuMainView);
}
#endif
else if (EVT_KEY_PREVIOUS_VIEW(event)) {
killEvents(event);
decrTelemetryScreen();
}
else if (EVT_KEY_NEXT_VIEW(event)) {
killEvents(event);
incrTelemetryScreen();
}
else if (event == EVT_KEY_LONG(KEY_ENTER)) {
killEvents(event);
POPUP_MENU_START(onMainViewMenu, 2, STR_RESET_TELEMETRY, STR_RESET_FLIGHT);
}