chore(bw): cleanup and consolidate navigation code (#5896)

Co-authored-by: philmoz <phil.a.mitchell@gmail.com>
This commit is contained in:
philmoz
2025-03-19 11:01:16 +10:00
committed by GitHub
co-authored by philmoz
parent 6973f07e07
commit 62a935bf84
19 changed files with 132 additions and 208 deletions
+6 -18
View File
@@ -211,7 +211,7 @@ void editName(coord_t x, coord_t y, char* name, uint8_t size, event_t event,
s_editMode = 0;
break;
#if defined(NAVIGATION_XLITE) || defined(NAVIGATION_9X)
#if defined(HAS_LEFT_RIGHT_NAV_KEYS)
case EVT_KEY_BREAK(KEY_LEFT):
if (cur > 0)
cur--;
@@ -223,33 +223,21 @@ void editName(coord_t x, coord_t y, char* name, uint8_t size, event_t event,
break;
#endif
#if defined(NAVIGATION_XLITE)
case EVT_KEY_BREAK(KEY_SHIFT):
#elif defined(NAVIGATION_9X)
case EVT_KEY_LONG(KEY_LEFT):
case EVT_KEY_LONG(KEY_RIGHT):
#else
case EVT_KEY_LONG(KEY_ENTER):
#endif
killEvents(event);
#if !defined(NAVIGATION_XLITE)
if (v == ' ') {
if ((event != EVT_KEY_BREAK(KEY_SHIFT)) && v == ' ') {
s_editMode = 0;
break;
}
else
#endif
if (v >= 'A' && v <= 'Z') {
v = 'a' + v - 'A'; // toggle case
}
else if (v >= 'a' && v <= 'z') {
v = 'A' + v - 'a'; // toggle case
} else if (isupper(v)) {
v = tolower(v); // toggle case
} else if (islower(v)) {
v = toupper(v); // toggle case
}
#if defined(NAVIGATION_9X)
if (event==EVT_KEY_LONG(KEY_LEFT))
#endif
break;
}
@@ -50,15 +50,10 @@ enum USBJFields {
void menuModelUSBJoystickOne(event_t event)
{
#if defined(NAVIGATION_XLITE)
if (event == EVT_KEY_FIRST(KEY_ENTER) && keysGetState(KEY_SHIFT)) {
if (EVT_KEY_OPEN_CHAN_VIEW(event)) {
pushMenu(menuChannelsView);
}
#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);
lcdDrawNumber(20*FW, 0, channelOutputs[s_currIdx], RIGHT);
@@ -273,13 +273,13 @@ void onUpdateReceiverSelection(const char * result)
void menuRadioSdManager(event_t _event)
{
#if defined(NAVIGATION_X9D)
#if LCD_DEPTH > 1
int lastPos = menuVerticalPosition;
#endif
if (_event == EVT_ENTRY) {
f_chdir(ROOT_PATH);
#if defined(NAVIGATION_X9D)
#if LCD_DEPTH > 1
lastPos = -1;
#endif
}
+2 -22
View File
@@ -32,23 +32,6 @@ enum NavigationDirection {
#define decrTelemetryScreen() direction = NAVIGATION_DIRECTION_UP
#define incrTelemetryScreen() direction = NAVIGATION_DIRECTION_DOWN
#if defined(NAVIGATION_XLITE)
#define EVT_KEY_PREVIOUS_VIEW(evt) (evt == EVT_KEY_LONG(KEY_LEFT) && keysGetState(KEY_SHIFT))
#define EVT_KEY_NEXT_VIEW(evt) (evt == EVT_KEY_LONG(KEY_RIGHT) && keysGetState(KEY_SHIFT))
#elif defined(KEYS_GPIO_REG_PAGEDN)
#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_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))
#else
#define EVT_KEY_PREVIOUS_VIEW(evt) (evt == EVT_KEY_FIRST(KEY_UP))
#define EVT_KEY_NEXT_VIEW(evt) (evt == EVT_KEY_FIRST(KEY_DOWN))
#endif
void menuViewTelemetry(event_t event)
{
enum NavigationDirection direction = NAVIGATION_DIRECTION_NONE;
@@ -61,11 +44,11 @@ void menuViewTelemetry(event_t event)
chainMenu(menuMainView);
}
#endif
else if (EVT_KEY_PREVIOUS_VIEW(event)) {
else if (EVT_KEY_PREVIOUS_TELEM_VIEW(event)) {
killEvents(event);
decrTelemetryScreen();
}
else if (EVT_KEY_NEXT_VIEW(event)) {
else if (EVT_KEY_NEXT_TELEM_VIEW(event)) {
killEvents(event);
incrTelemetryScreen();
}
@@ -109,6 +92,3 @@ void showTelemScreen(uint8_t index)
}
}
}
#undef EVT_KEY_PREVIOUS_VIEW
#undef EVT_KEY_NEXT_VIEW