You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
enhancement: redesign the virtual keyboard layout after the PS5 structural model #41
Rework the layout and visuals of the existing VirtualKeyboard to follow the PS5 keyboard's structural and interaction model, with ControlFS's own visual identity. Not a rewrite of the keyboard logic.
Motivation
The current keyboard works but its layout is dense and its function keys are scattered; a familiar console structure is faster to use from the couch.
Requirements
Text field on top; four character rows (e.g. 1 2 3 4 5 6 7 8 9 0 @, Q W E R T Y U I O P #, A S D F G H J K L " /, Z X C V B N M . _ ? !).
Function row: ⇧ (Shift) · ABC (letters) · @#: (symbols) · wide SPACE · ⌫ (Backspace).
Uses ControlFS theme tokens; no Sony assets, logos, textures or screenshots.
Shared by every text field: create folder, rename, search, archive password, compress name, filters, batch rename, path edit.
Controller UX
D-pad/left stick move focus; South/A (✕) types the focused key; East/B (○) cancels; West/X (□) Backspace; North/Y (△) Shift; LB/RB move the cursor; Start/Options = Done; View/Create toggles symbols. Prompts come from #34.
Technical Notes
Change VirtualKeyboardLayouts.Build and ModalView.BuildKeyboard; keep VirtualKeyboard (model) and its tests; adjust KeyboardDriver test helper to the new grid.
Acceptance Criteria
All existing keyboard tests pass after updating the layout-dependent helpers.
A user can type Relatório ação 2026 (an accented Portuguese sample) using only the D-pad and South.
Layout matches the structure above at 1080p and on a handheld.
Testing
Unit tests for new branches and for every bug reproduced before a fix (no trivial variations, see AGENTS.md). Manual comparison of flows (not visuals) with a PS5 keyboard; screenshots in smoke.
Follow-up verification of the pending acceptance criterion "layout matches the structure at 1080p and on a handheld": screens-only smoke run 36349504542 (1920x1080 and 1280x800) shows the text field on top, four character rows, the function row (⇧ · ABC · @#: · space · ⌫) and the bottom row (◀ ▶ · … · Cancelar · Concluir), nothing clipped, in the #172 modal panel. Deliberate deviations from the example rows in this issue: " / and ? live on the symbols page instead of the letter rows because they are forbidden in Windows file names (the keyboard is shared by name fields); PT-BR shows ç in the third row. Real controller / TV-distance checks remain in docs/TESTING.md (not hardware validated).
Summary
Rework the layout and visuals of the existing
VirtualKeyboardto follow the PS5 keyboard's structural and interaction model, with ControlFS's own visual identity. Not a rewrite of the keyboard logic.Motivation
The current keyboard works but its layout is dense and its function keys are scattered; a familiar console structure is faster to use from the couch.
Requirements
1 2 3 4 5 6 7 8 9 0 @,Q W E R T Y U I O P #,A S D F G H J K L " /,Z X C V B N M . _ ? !).⇧(Shift) ·ABC(letters) ·@#:(symbols) · wideSPACE·⌫(Backspace).◀▶(and▲▼where multi-line applies) ·…(more: accents, language) · wideDONE.ShiftState).…page or long-press).Controller UX
D-pad/left stick move focus; South/A (✕) types the focused key; East/B (○) cancels; West/X (□) Backspace; North/Y (△) Shift; LB/RB move the cursor; Start/Options = Done; View/Create toggles symbols. Prompts come from #34.
Technical Notes
Change
VirtualKeyboardLayouts.BuildandModalView.BuildKeyboard; keepVirtualKeyboard(model) and its tests; adjustKeyboardDrivertest helper to the new grid.Acceptance Criteria
Relatório ação 2026(an accented Portuguese sample) using only the D-pad and South.Testing
Unit tests for new branches and for every bug reproduced before a fix (no trivial variations, see AGENTS.md). Manual comparison of flows (not visuals) with a PS5 keyboard; screenshots in smoke.
Dependencies
Priority: high · Milestone: 3 · Virtual Keyboard UX