keyboard-shortcuts
Installation
SKILL.md
Keyboard Shortcuts
Overview (registry + services)
- Registry implementation:
packages/web-client/src/utils/keyboardShortcuts.ts. - Registry is created in
packages/web-client/src/index.tsand wired with:isEnabled()(respects the keyboard shortcuts preference + open dialogs)getActivePanel()(for scope resolution)- binding overrides (from local storage via
clientPreferences)
- Core panel services expose
services.keyboardShortcuts.register(...)so plugins can register panel-scoped shortcuts.
Global shortcuts (app-level)
- Register in
KeyboardNavigationControllerviaKeyboardShortcutRegistry.register(...). - Registry attaches a single
documentkeydownlistener (capture phase) and dispatches by key. - Handlers should still guard on editable targets (e.g.,
isEditableTargetpattern inKeyboardNavigationController). - Examples: panel navigation (Ctrl+P / Ctrl+H), command palette (Cmd/Ctrl+K), panel cycling.
- Split placement uses
Ctrl+S(seesplit-panelshortcut inKeyboardNavigationController).