How keyboard shortcuts are wired globally and per-panel in this repo.
packages/web-client/src/utils/keyboardShortcuts.ts.packages/web-client/src/index.ts and wired with:
isEnabled() (respects the keyboard shortcuts preference + open dialogs)getActivePanel() (for scope resolution)clientPreferences)services.keyboardShortcuts.register(...) so plugins can register panel-scoped shortcuts.KeyboardNavigationController via KeyboardShortcutRegistry.register(...).document keydown listener (capture phase) and dispatches by key.isEditableTarget pattern in KeyboardNavigationController).Ctrl+S (see split-panel shortcut in KeyboardNavigationController).PanelWorkspaceController and persisted in local storage (aiAssistantPanelFocusHistory).Ctrl+C/L/N focus the last-used chat/lists/notes panel.services.keyboardShortcuts.register(...) from the panel module (see lists/notes/time-tracker).scope: 'panelType' + panelType for a shared binding across all instances of a panel.scope: 'panelInstance' + panelId for instance-specific bindings.bindingId to support user-configurable overrides (defaults to id if omitted).event.preventDefault() and event.stopPropagation() before returning true.panel.active context and cache isPanelSelected.CommandPaletteController attaches a keydown listener while open and consumes keys like Escape.PanelWorkspaceController listens for Escape to close modal panels, but blocks when certain overlays are open.KeyboardShortcutallowShift: match even when Shift is pressed but not part of the modifiers.allowWhenDisabled: allow handling even when global shortcuts are disabled (useful for dialogs).priority: resolve conflicts within the same scope.platform: restrict to mac, win, linux, or all.services.keyboardShortcuts so bindings can be overridden later.Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer