Repository navigation
Description
Problem
Studio should feel like a playable instrument first and a form-based editor second. At the moment, mapped performance keys can be routed to a focused form control instead of playback.
The current keyboard helper intentionally ignores input, select, button, and textarea targets. As a result, focusing a parameter or rack control can make note/octave attempts operate the UI—or do nothing—rather than reach the synth.
Desired behavior
Unmodified mapped performance keys should be dominant throughout Studio:
- Notes:
A W S E D F T G Y H U J K - Octave:
Z X
Those keys should trigger playback even when an input, range, select, or button currently has focus. Modifier shortcuts (Cmd/Ctrl/Alt) and non-performance editing keys should continue to behave normally.
Implementation should keep keydown/keyup handling symmetric, prevent the focused control's default behavior for captured performance keys, and avoid stuck notes when focus, visibility, or connection changes.
Broader UI/UX pass
Use this issue for a focused Studio usability pass as well:
- improve hierarchy and discoverability across the browser, rack, inspector, and performance keyboard;
- make busy, preview, accepted, conflict, offline, empty, and computed/read-only states clear;
- improve responsive behavior and avoid cramped/overflowing controls;
- preserve accessible semantics and visible focus while keeping performance input dominant;
- add concise in-product guidance for keyboard play and parameter editing.
Acceptance criteria
- Mapped unmodified keys always reach playback regardless of the focused Studio control.
- Captured keys do not also type into, select, click, or otherwise operate the focused control.
- Modifier shortcuts and numeric/arrow/Enter/Escape parameter editing continue to work.
- Key release remains correct if focus changes between keydown and keyup.
- Tests cover focused number/range inputs, selects, buttons, ordinary document focus, modifiers, repeats, blur, and visibility changes.
- The main Studio workflows receive a visual/interaction polish pass on desktop and narrow viewports.
- Accessibility and keyboard navigation regressions are covered by tests where practical.
Activity