|
|
@@ -225,11 +225,11 @@ public:
|
|
|
}
|
|
|
|
|
|
bool handleInput(char c) override {
|
|
|
- if (c == KEY_LEFT) {
|
|
|
+ if (c == KEY_LEFT || c == KEY_PREV) {
|
|
|
_page = (_page + HomePage::Count - 1) % HomePage::Count;
|
|
|
return true;
|
|
|
}
|
|
|
- if (c == KEY_RIGHT || c == KEY_SELECT) {
|
|
|
+ if (c == KEY_NEXT || c == KEY_RIGHT) {
|
|
|
_page = (_page + 1) % HomePage::Count;
|
|
|
if (_page == HomePage::RECENT) {
|
|
|
_task->showAlert("Recent adverts", 800);
|
|
|
@@ -331,7 +331,7 @@ public:
|
|
|
}
|
|
|
|
|
|
bool handleInput(char c) override {
|
|
|
- if (c == KEY_SELECT || c == KEY_RIGHT) {
|
|
|
+ if (c == KEY_NEXT || c == KEY_RIGHT) {
|
|
|
num_unread--;
|
|
|
if (num_unread == 0) {
|
|
|
_task->gotoHomeScreen();
|
|
|
@@ -494,9 +494,13 @@ void UITask::loop() {
|
|
|
#if defined(PIN_USER_BTN)
|
|
|
int ev = user_btn.check();
|
|
|
if (ev == BUTTON_EVENT_CLICK) {
|
|
|
- c = checkDisplayOn(KEY_SELECT);
|
|
|
+ c = checkDisplayOn(KEY_NEXT);
|
|
|
} else if (ev == BUTTON_EVENT_LONG_PRESS) {
|
|
|
c = handleLongPress(KEY_ENTER);
|
|
|
+ } else if (ev == BUTTON_EVENT_DOUBLE_CLICK) {
|
|
|
+ c = handleDoubleClick(KEY_PREV);
|
|
|
+ } else if (ev == BUTTON_EVENT_TRIPLE_CLICK) {
|
|
|
+ c = handleTripleClick(KEY_SELECT);
|
|
|
}
|
|
|
#endif
|
|
|
#if defined(WIO_TRACKER_L1)
|
|
|
@@ -516,9 +520,13 @@ void UITask::loop() {
|
|
|
#if defined(PIN_USER_BTN_ANA)
|
|
|
ev = analog_btn.check();
|
|
|
if (ev == BUTTON_EVENT_CLICK) {
|
|
|
- c = checkDisplayOn(KEY_SELECT);
|
|
|
+ c = checkDisplayOn(KEY_NEXT);
|
|
|
} else if (ev == BUTTON_EVENT_LONG_PRESS) {
|
|
|
c = handleLongPress(KEY_ENTER);
|
|
|
+ } else if (ev == BUTTON_EVENT_DOUBLE_CLICK) {
|
|
|
+ c = handleDoubleClick(KEY_PREV);
|
|
|
+ } else if (ev == BUTTON_EVENT_TRIPLE_CLICK) {
|
|
|
+ c = handleTripleClick(KEY_SELECT);
|
|
|
}
|
|
|
#endif
|
|
|
#if defined(DISP_BACKLIGHT) && defined(BACKLIGHT_BTN)
|
|
|
@@ -615,20 +623,53 @@ char UITask::handleLongPress(char c) {
|
|
|
return c;
|
|
|
}
|
|
|
|
|
|
-/*
|
|
|
-void UITask::handleButtonTriplePress() {
|
|
|
- MESH_DEBUG_PRINTLN("UITask: triple press triggered");
|
|
|
- // Toggle buzzer quiet mode
|
|
|
+char UITask::handleDoubleClick(char c) {
|
|
|
+ MESH_DEBUG_PRINTLN("UITask: double click triggered");
|
|
|
+ checkDisplayOn(c);
|
|
|
+ return c;
|
|
|
+}
|
|
|
+
|
|
|
+char UITask::handleTripleClick(char c) {
|
|
|
+ MESH_DEBUG_PRINTLN("UITask: triple click triggered");
|
|
|
+ checkDisplayOn(c);
|
|
|
+ toggleBuzzer();
|
|
|
+ c = 0;
|
|
|
+ return c;
|
|
|
+}
|
|
|
+
|
|
|
+void UITask::toggleGPS() {
|
|
|
+ if (_sensors != NULL) {
|
|
|
+ // toggle GPS on/off
|
|
|
+ int num = _sensors->getNumSettings();
|
|
|
+ for (int i = 0; i < num; i++) {
|
|
|
+ if (strcmp(_sensors->getSettingName(i), "gps") == 0) {
|
|
|
+ if (strcmp(_sensors->getSettingValue(i), "1") == 0) {
|
|
|
+ _sensors->setSettingValue("gps", "0");
|
|
|
+ soundBuzzer(UIEventType::ack);
|
|
|
+ showAlert("GPS: Disabled", 800);
|
|
|
+ } else {
|
|
|
+ _sensors->setSettingValue("gps", "1");
|
|
|
+ soundBuzzer(UIEventType::ack);
|
|
|
+ showAlert("GPS: Enabled", 800);
|
|
|
+ }
|
|
|
+ _next_refresh = 0;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void UITask::toggleBuzzer() {
|
|
|
+ // Toggle buzzer quiet mode
|
|
|
#ifdef PIN_BUZZER
|
|
|
if (buzzer.isQuiet()) {
|
|
|
buzzer.quiet(false);
|
|
|
soundBuzzer(UIEventType::ack);
|
|
|
- showAlert("Buzzer: ON", 600);
|
|
|
+ showAlert("Buzzer: ON", 800);
|
|
|
} else {
|
|
|
buzzer.quiet(true);
|
|
|
- showAlert("Buzzer: OFF", 600);
|
|
|
+ showAlert("Buzzer: OFF", 800);
|
|
|
}
|
|
|
_next_refresh = 0; // trigger refresh
|
|
|
#endif
|
|
|
}
|
|
|
-*/
|