49typedef enum : uint8_t {
60typedef enum : uint8_t {
70typedef enum : uint8_t {
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
uint8_t ra8_kbd_hit(const ra8_kbd_layout_t *kb, int32_t px, int32_t py)
Map a tap to a key index.
ra8_err_t ra8_kbd_text_init(ra8_kbd_text_t *t)
Reset a text buffer to empty / uncommitted.
ra8_err_t ra8_kbd_apply(ra8_kbd_text_t *t, ra8_kbd_layout_t *kb, uint8_t key_idx)
Apply key key_idx to the text buffer, SHIFT, and active layer.
ra8_kbd_key_kind_t
What a key does when tapped.
@ k_ra8_kbd_key_space
Append a space.
@ k_ra8_kbd_key_layer
Switch to the layer in aux.
@ k_ra8_kbd_key_enter
Commit the query (RETURN).
@ k_ra8_kbd_key_char
Append the shift-correct char.
@ k_ra8_kbd_key_shift
Toggle the one-shot SHIFT.
@ k_ra8_kbd_key_backspace
Delete the last char.
ra8_err_t ra8_kbd_layout_init(ra8_kbd_layout_t *kb, const ra8_ui_rect_t *frame)
Lay the letters layer into frame; clear SHIFT.
char ra8_kbd_key_glyph(const ra8_kbd_layout_t *kb, uint8_t key_idx)
Effective character a char key emits given the live SHIFT state.
ra8_kbd_layer_t
Which key set is shown.
@ k_ra8_kbd_layer_symbols
Brackets / math symbols (#+=).
@ k_ra8_kbd_layer_letters
QWERTY letters (with one-shot SHIFT).
@ k_ra8_kbd_layer_numbers
Digits + common symbols (123).
ra8_kbd_limits_t
Static capacities for the keyboard widget.
@ k_ra8_kbd_rows
Key rows per layer.
@ k_ra8_kbd_max_keys
Key-rect slots (<= 31 used per layer).
@ k_ra8_kbd_no_hit
ra8_kbd_hit "no key" sentinel.
@ k_ra8_kbd_text_max
Text buffer capacity incl.
Bounded UI interaction core: hit-testing, screen stack, paging.
One key: a hit rectangle, its unshifted + shifted chars, a kind, and (for layer keys) the target laye...
uint8_t aux
Target ra8_kbd_layer_t for a layer key.
char ch_lower
Unshifted char (char keys); 0 else.
ra8_kbd_key_kind_t kind
Key behaviour.
ra8_ui_rect_t rect
Hit / draw rectangle.
char ch_upper
Shifted char (char keys); 0 else.
The key grid for the active layer, plus SHIFT / layer / frame state.
ra8_kbd_key_t keys[k_ra8_kbd_max_keys]
Keys for the active layer.
uint8_t count
Keys in use.
uint8_t layer
Active ra8_kbd_layer_t.
bool shift
One-shot SHIFT armed.
ra8_ui_rect_t frame
Saved frame (re-lay on swap).
The typed query buffer + commit state.
char buf[k_ra8_kbd_text_max]
NUL-terminated query.
uint8_t len
Chars before the NUL.
bool committed
RETURN was applied.
Axis-aligned rectangle in framebuffer pixel coordinates.