mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-11-02 19:02:00 +00:00
fix(ui-lvgl): quick panel over a frozen screen; slider not taken by Home's swipe
- Quick panel: the screen under it is frozen and dimmed in one snapshot
(freeze::early), so the slide redraws an image and the panel; a tap or
swipe up under it closes it and nothing under it takes a touch. Tiles are
two pages of four with dots; tiles restyle only when their state changes.
- Home: a touch that starts on the top layer (the quick panel, the status
bar) is not a page swipe -- a sideways drag of the brightness slider over
Home ended the drag and turned the page under it.
- Keyboard: OK and hide don't put the cursor back on a field whose keyboard
is gone.
- BotScreen: adminRowBox -> centerRow (the sim build broke in 3293ac09).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -259,7 +259,10 @@ static void onEvent(lv_event_t* e) {
|
||||
return;
|
||||
}
|
||||
lv_keyboard_def_event_cb(e); // type the character / backspace / OK
|
||||
if (lv_obj_t* ta = lv_keyboard_get_textarea(kbd)) keepCursor(ta);
|
||||
// OK and hide put the keyboard (and the field's cursor) away themselves
|
||||
const bool closes = strcmp(t, KB_OK) == 0 || strcmp(t, KB_HIDE) == 0;
|
||||
lv_obj_t* ta = lv_keyboard_get_textarea(kbd);
|
||||
if (ta && !closes && !lv_obj_has_flag(kbd, LV_OBJ_FLAG_HIDDEN)) keepCursor(ta);
|
||||
if (strcmp(t, KB_BS) != 0) releaseShift(kbd);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user