mirror of
https://github.com/meshtastic/firmware.git
synced 2025-07-29 18:05:42 +00:00
Merge 031aec6ae4
into 608fdc6f52
This commit is contained in:
commit
b86d8f7504
@ -294,7 +294,7 @@ void menuHandler::messageResponseMenu()
|
||||
|
||||
void menuHandler::homeBaseMenu()
|
||||
{
|
||||
enum optionsNumbers { Back, Backlight, Position, Preset, Freetext, Bluetooth, Sleep, enumEnd };
|
||||
enum optionsNumbers { Back, Backlight, Position, Preset, Freetext, Lost, Bluetooth, Sleep, enumEnd };
|
||||
|
||||
static const char *optionsArray[enumEnd] = {"Back"};
|
||||
static int optionsEnumArray[enumEnd] = {Back};
|
||||
@ -316,6 +316,8 @@ void menuHandler::homeBaseMenu()
|
||||
optionsArray[options] = "New Freetext Msg";
|
||||
optionsEnumArray[options++] = Freetext;
|
||||
}
|
||||
optionsArray[options] = "LostAndFound";
|
||||
optionsEnumArray[options++] = Lost;
|
||||
optionsArray[options] = "Bluetooth Toggle";
|
||||
optionsEnumArray[options++] = Bluetooth;
|
||||
|
||||
@ -345,6 +347,9 @@ void menuHandler::homeBaseMenu()
|
||||
} else if (selected == Bluetooth) {
|
||||
menuQueue = bluetooth_toggle_menu;
|
||||
screen->runNow();
|
||||
} else if (selected == Lost) {
|
||||
InputEvent event = {.inputEvent = (input_broker_event)INPUT_BROKER_LOST_TOGGLE, .kbchar = INPUT_BROKER_LOST_TOGGLE, .touchX = 0, .touchY = 0};
|
||||
inputBroker->injectInputEvent(&event);
|
||||
}
|
||||
};
|
||||
screen->showOverlayBanner(bannerOptions);
|
||||
|
@ -27,6 +27,7 @@ enum input_broker_event {
|
||||
#define INPUT_BROKER_MSG_MUTE_TOGGLE 0xac
|
||||
#define INPUT_BROKER_MSG_FN_SYMBOL_ON 0xf1
|
||||
#define INPUT_BROKER_MSG_FN_SYMBOL_OFF 0xf2
|
||||
#define INPUT_BROKER_LOST_TOGGLE 0xa1
|
||||
#define INPUT_BROKER_MSG_BLUETOOTH_TOGGLE 0xAA
|
||||
#define INPUT_BROKER_MSG_TAB 0x09
|
||||
#define INPUT_BROKER_MSG_EMOTE_LIST 0x8F
|
||||
|
@ -74,6 +74,21 @@ int SystemCommandsModule::handleInputEvent(const InputEvent *event)
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
case INPUT_BROKER_LOST_TOGGLE:
|
||||
LOG_WARN("Lost Toggle");
|
||||
if (config.device.role == meshtastic_Config_DeviceConfig_Role_CLIENT) {
|
||||
LOG_WARN("Changing mode to LOST_AND_FOUND");
|
||||
config.device.role = meshtastic_Config_DeviceConfig_Role_LOST_AND_FOUND;
|
||||
IF_SCREEN(screen->forceDisplay(); screen->showSimpleBanner("Switching to LOST!", 3000);)
|
||||
nodeDB->saveToDisk(SEGMENT_CONFIG);
|
||||
} else {
|
||||
LOG_WARN("Changing mode to Client");
|
||||
config.device.role = meshtastic_Config_DeviceConfig_Role_CLIENT;
|
||||
IF_SCREEN(screen->forceDisplay(); screen->showSimpleBanner("Switching to Client!", 3000);)
|
||||
nodeDB->saveToDisk(SEGMENT_CONFIG);
|
||||
}
|
||||
rebootAtMsec = millis() + DEFAULT_REBOOT_SECONDS * 1000;
|
||||
return true;
|
||||
case INPUT_BROKER_MSG_REBOOT:
|
||||
IF_SCREEN(screen->showSimpleBanner("Rebooting...", 0));
|
||||
nodeDB->saveToDisk();
|
||||
|
Loading…
Reference in New Issue
Block a user