On the T-LoRa Pager there was no way to paste: the in-RAM clipboard is
only consumed by the Cut/Copy/Paste edit menu, which opens solely from a
touch long-press on a textarea, and the Pager's encoder never reaches
LVGL's press events. Copy from a message bubble worked; nothing could
paste the result -- the 64-hex contact key and 32-hex channel secret
fields being the painful cases.
Physical Fn(Alt) held + V now pastes into the field being edited:
- PagerKeyboardState: V_POS; a held-Alt V press is resolved by matrix
position before the symbol map, swallowed, and reported through
alt_v_chord_pending_/consumeAltVChord() (same shape as Alt+Backspace
and the Pro's Alt+B). discardAlt() clears it. !HAS_TDECK_PRO only.
- PagerKeyboard.h/.cpp: pagerKeyboardConsumeAltVChord().
- UITask: the Paste cell's logic is factored into txtPasteInto(ta)
(selection replaced, pasteTextFor hex-key extraction kept) and reused
by updatePagerAltVChord(), which uses the same "actually editing" test
as the Alt+Shift Caps chord, hides any open edit menu/accent popup,
and toasts "Pasted" / "Clipboard empty". Drained at the remote-mirror
and screen-off discard sites like the other chords.
- TLORA_PAGER_SHORTCUTS.md: documented.
- test_pager_keyboard_state: chord fires once and swallows V;
tap-Fn-then-V still returns '?'; discardAlt() drops a pending chord.
Trade-off: Fn+V is '?' on this layout, so only a HELD Fn chords. The
one-shot (tap Fn, then V) and locked (double-tap Fn) symbol layers still
type '?', the same compromise the Pro's physical Alt+B makes with '!'.
Tested on tlora_pager_sx1262_companion_radio_touch: Copy from a bubble
then Fn+V in the composer pastes; Fn+V in a key field pastes just the
key out of a copied message; empty clipboard toasts; tap-Fn-then-V
still types '?'.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VKtRiAcddFBAUDogBWmZk4