mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-11-02 10:51:57 +00:00
Add files via upload
This commit is contained in:
@@ -1267,8 +1267,7 @@ void UITask::loop() {
|
|||||||
#if FEAT_DISPLAY_ROTATION_SETTING && defined(JOYSTICK_UPRIGHT_ROTATION)
|
#if FEAT_DISPLAY_ROTATION_SETTING && defined(JOYSTICK_UPRIGHT_ROTATION)
|
||||||
if (_node_prefs) joy_rot += (JOYSTICK_UPRIGHT_ROTATION - _node_prefs->display_rotation) & 3;
|
if (_node_prefs) joy_rot += (JOYSTICK_UPRIGHT_ROTATION - _node_prefs->display_rotation) & 3;
|
||||||
#endif
|
#endif
|
||||||
int ev = user_btn.check();
|
auto enterClick = [&]() {
|
||||||
if (ev == BUTTON_EVENT_CLICK) {
|
|
||||||
if (back_btn.isPressed() && !_unlock_kb) {
|
if (back_btn.isPressed() && !_unlock_kb) {
|
||||||
// Enter clicked while Back is held — lock/unlock sequence
|
// Enter clicked while Back is held — lock/unlock sequence
|
||||||
if (_display && !_display->isOn()) {
|
if (_display && !_display->isOn()) {
|
||||||
@@ -1292,6 +1291,25 @@ void UITask::loop() {
|
|||||||
_lock_seq_ms = 0;
|
_lock_seq_ms = 0;
|
||||||
}
|
}
|
||||||
enqueueKey(checkDisplayOn(KEY_ENTER));
|
enqueueKey(checkDisplayOn(KEY_ENTER));
|
||||||
|
};
|
||||||
|
int ev = user_btn.check();
|
||||||
|
#ifdef UI_ENTER_DOUBLE_BACK
|
||||||
|
// For a joystick without a reachable Back button: a double click on Enter goes
|
||||||
|
// back. Multi-click delays a single Enter by the click window. Where text is
|
||||||
|
// typed (on-screen keyboard, PIN pad) or the lock sequence is counting, a
|
||||||
|
// double is just two Enters, so a repeated letter still works.
|
||||||
|
if (ev == BUTTON_EVENT_DOUBLE_CLICK || ev == BUTTON_EVENT_TRIPLE_CLICK) {
|
||||||
|
int n = (ev == BUTTON_EVENT_DOUBLE_CLICK) ? 2 : 3;
|
||||||
|
if (_unlock_kb || _kb.isVisible() || back_btn.isPressed()) {
|
||||||
|
for (int i = 0; i < n; i++) enterClick();
|
||||||
|
} else {
|
||||||
|
enqueueKey(checkDisplayOn(KEY_CANCEL));
|
||||||
|
}
|
||||||
|
ev = BUTTON_EVENT_NONE;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
if (ev == BUTTON_EVENT_CLICK) {
|
||||||
|
enterClick();
|
||||||
}
|
}
|
||||||
} else if (ev == BUTTON_EVENT_LONG_PRESS) {
|
} else if (ev == BUTTON_EVENT_LONG_PRESS) {
|
||||||
enqueueKey(handleLongPress(KEY_ENTER)); // REVISIT: could be mapped to different key code
|
enqueueKey(handleLongPress(KEY_ENTER)); // REVISIT: could be mapped to different key code
|
||||||
|
|||||||
Reference in New Issue
Block a user