Problem
screen.js's onKeyDown handler (around line 2122) hardcodes keyboard shortcuts (Space, Delete, Backspace, Escape, G, F, K) directly as a document-level key listener, rather than registering them through the core-provided window.registerShortcut() API.
Core's shortcut system (documented in slopsmith's CLAUDE.md under "Keyboard Shortcuts") exists specifically so that:
- All shortcuts appear in the global
? help panel
- Shortcuts can be scoped (
plugin-{id}) and conditionally active
- Users have one place to discover every available keybind across the whole app
Because the editor's shortcuts bypass this system entirely, they're invisible to users unless they read the source — despite the Arrangement Editor being arguably the most shortcut-dense screen in the entire plugin ecosystem.
Ask
Migrate the hardcoded key handling in onKeyDown to window.registerShortcut() calls, scoped to plugin-editor (or player/global as appropriate per key), so these shortcuts surface in the ? help panel like every other plugin's shortcuts are expected to.
Migrated from Maestro-Ltd/slopsmith-plugin-editor#21.
Problem
screen.js'sonKeyDownhandler (around line 2122) hardcodes keyboard shortcuts (Space, Delete, Backspace, Escape, G, F, K) directly as adocument-level key listener, rather than registering them through the core-providedwindow.registerShortcut()API.Core's shortcut system (documented in
slopsmith's CLAUDE.md under "Keyboard Shortcuts") exists specifically so that:?help panelplugin-{id}) and conditionally activeBecause the editor's shortcuts bypass this system entirely, they're invisible to users unless they read the source — despite the Arrangement Editor being arguably the most shortcut-dense screen in the entire plugin ecosystem.
Ask
Migrate the hardcoded key handling in
onKeyDowntowindow.registerShortcut()calls, scoped toplugin-editor(orplayer/globalas appropriate per key), so these shortcuts surface in the?help panel like every other plugin's shortcuts are expected to.Migrated from Maestro-Ltd/slopsmith-plugin-editor#21.