mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-08-07 20:56:11 +00:00
feat(ui): keyboard overhaul — shared instance, icon keys, symbols page
- Unify on the shared keyboard: WaypointsView drives UITask::keyboard()
instead of its own instance; openKb() clears {loc}/{time} for literal
fields (labels, coordinates). Reclaims the duplicate widget from the heap.
- Icon glyphs on the special row: caps ⇧, space ⎵ (two halves), delete ⌫,
OK ✓ (reuses ICON_CHECK); {} and the page toggle stay text.
- Second character page (symbols), toggled by a "#@"/"abc" key. Tidy the
letters page: drop the duplicate grid space, add the comma, group
punctuation as . , ! ?
- Harden the preview buffers (KB_PREVIEW_CAP) against very wide displays.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
4145185031
commit
8c0ccaed73
@@ -87,6 +87,36 @@ MINI_ICON(ICON_CROSS, 4, // ✗
|
||||
packRow(".##."),
|
||||
packRow("#..#"));
|
||||
|
||||
// Keyboard special-key glyphs.
|
||||
MINI_ICON(ICON_SHIFT, 7, // ⇧ caps
|
||||
packRow("...#..."),
|
||||
packRow("..###.."),
|
||||
packRow(".#####."),
|
||||
packRow("#######"),
|
||||
packRow("..###.."),
|
||||
packRow("..###.."),
|
||||
packRow("..###.."));
|
||||
MINI_ICON(ICON_BACKSPACE, 8, // ⌫ delete-left (× knocked out of the arrow body)
|
||||
packRow("...#####"),
|
||||
packRow("..######"),
|
||||
packRow(".###.#.#"),
|
||||
packRow("#####.##"),
|
||||
packRow(".###.#.#"),
|
||||
packRow("..######"),
|
||||
packRow("...#####"));
|
||||
// Space ⎵ is wider than the 8-px mini-icon limit, so it is two halves drawn
|
||||
// side by side (offset by ICON_SPACE_L.w * scale): ticks at both far ends + bar.
|
||||
MINI_ICON(ICON_SPACE_L, 8,
|
||||
packRow("#......."),
|
||||
packRow("#......."),
|
||||
packRow("#......."),
|
||||
packRow("########"));
|
||||
MINI_ICON(ICON_SPACE_R, 8,
|
||||
packRow(".......#"),
|
||||
packRow(".......#"),
|
||||
packRow(".......#"),
|
||||
packRow("########"));
|
||||
|
||||
// ── Big ASCII-art icons (skeleton, not yet used) ─────────────────────────────
|
||||
// Same authoring idea as the mini-icons but for full page glyphs up to 32 px
|
||||
// wide: one uint32_t per row. The existing XBM bitmaps below (logo/bluetooth/…)
|
||||
|
||||
Reference in New Issue
Block a user