A pure model of the controller keyboard: the Latin, Symbols and
Specials pages with their spanned keys, and a step function from pad
samples to edits. It follows shadPS4 30f4170896's on-screen keyboard
(ime_ui_shared.cpp:805-887, ime_dialog_ui.cpp and ime_kb_layout.cpp):
- Cross activates the selected key, armed once Cross is seen up, and
repeats only the editing keys; the D-pad and left stick move on the
grid and wrap, a held direction waits half a second at the edge.
- The shortcuts run only when the grid did nothing, in the source's
order: L2+Triangle symbols, Triangle space (not while L2 is held),
L3 specials, R2 done, L1+Square clear, Square backspace, L1 and R1
caret, R3, L2 shift; Circle cancels and loses to Done.
- L2 cycles lower, one-shot upper and caps lock, re-armed once the
trigger is back at 0.20.
- Repeats use ImGui's default delay and rate, 0.275 s and 0.05 s.
Every button and stick direction held in the first sample is ignored
until it is released, so nothing held when the dialog opens types,
deletes or repeats. The keyboard, menu and R3 mode keys of the source
are left empty, and the currency key and the Done label follow the
dialog's languages and enter label.