Commit Graph
2 Commits
Author SHA1 Message Date
Yunus Shaikh d1d104d67b feat(libSceImeDialog): add the pad keyboard model
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.
2026-10-27 05:19:40 +01:00
boykopovar f38d29fd08 refactor(sdk): add canonical headers for remaining libraries 2026-10-24 23:17:42 +03:00