mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-07 00:20:07 +00:00
## Summary Add default keyboard shortcuts for mode toggle and assets panel access. ## Changes - **Ctrl+Shift+A**: Toggle between Simple Mode and Graph Mode (`Comfy.ToggleLinear`) - **A**: Open/toggle assets panel (`Workspace.ToggleSidebarTab.assets`) - Show keybinding in ModeToggle button tooltip (e.g. "Simple Mode (Ctrl+Shift+A)") ## Keybinding Rationale - `A` follows the existing pattern: `w` (workflows), `n` (node-lib), `m` (model-lib) - `Ctrl+Shift+A` chosen because: - Ctrl+Shift is the standard modifier pattern for toggle commands - "A" mnemonic for "App mode" - Does not conflict with existing keybindings ## Testing - Verified typecheck passes - Verified lint passes <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Tooltips now show dynamic keyboard shortcut suffixes for mode and tab controls. * Added keyboard shortcut: A — toggles the assets sidebar. * Added keyboard shortcut: Ctrl+Shift+A — toggles linear mode. * **Localization** * Added a localized shortcut suffix template so displayed shortcuts respect translations. <!-- end of auto-generated comment: release notes by coderabbit.ai --> ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-8593-feat-add-default-keybindings-for-toggle-mode-and-assets-panel-2fc6d73d36508172bd6ed3378f43de55) by [Unito](https://www.unito.io) --------- Co-authored-by: GitHub Action <action@github.com>
213 lines
3.4 KiB
TypeScript
213 lines
3.4 KiB
TypeScript
import type { Keybinding } from './types'
|
|
|
|
export const CORE_KEYBINDINGS: Keybinding[] = [
|
|
{
|
|
combo: {
|
|
ctrl: true,
|
|
key: 'Enter'
|
|
},
|
|
commandId: 'Comfy.QueuePrompt'
|
|
},
|
|
{
|
|
combo: {
|
|
ctrl: true,
|
|
shift: true,
|
|
key: 'Enter'
|
|
},
|
|
commandId: 'Comfy.QueuePromptFront'
|
|
},
|
|
{
|
|
combo: {
|
|
ctrl: true,
|
|
alt: true,
|
|
key: 'Enter'
|
|
},
|
|
commandId: 'Comfy.Interrupt'
|
|
},
|
|
{
|
|
combo: {
|
|
key: 'r'
|
|
},
|
|
commandId: 'Comfy.RefreshNodeDefinitions'
|
|
},
|
|
{
|
|
combo: {
|
|
key: 'w'
|
|
},
|
|
commandId: 'Workspace.ToggleSidebarTab.workflows'
|
|
},
|
|
{
|
|
combo: {
|
|
key: 'n'
|
|
},
|
|
commandId: 'Workspace.ToggleSidebarTab.node-library'
|
|
},
|
|
{
|
|
combo: {
|
|
key: 'm'
|
|
},
|
|
commandId: 'Workspace.ToggleSidebarTab.model-library'
|
|
},
|
|
{
|
|
combo: {
|
|
key: 'a'
|
|
},
|
|
commandId: 'Workspace.ToggleSidebarTab.assets'
|
|
},
|
|
{
|
|
combo: {
|
|
ctrl: true,
|
|
shift: true,
|
|
key: 'a'
|
|
},
|
|
commandId: 'Comfy.ToggleLinear'
|
|
},
|
|
{
|
|
combo: {
|
|
key: 's',
|
|
ctrl: true
|
|
},
|
|
commandId: 'Comfy.SaveWorkflow'
|
|
},
|
|
{
|
|
combo: {
|
|
key: 'o',
|
|
ctrl: true
|
|
},
|
|
commandId: 'Comfy.OpenWorkflow'
|
|
},
|
|
{
|
|
combo: {
|
|
key: 'g',
|
|
ctrl: true
|
|
},
|
|
commandId: 'Comfy.Graph.GroupSelectedNodes'
|
|
},
|
|
{
|
|
combo: {
|
|
key: ',',
|
|
ctrl: true
|
|
},
|
|
commandId: 'Comfy.ShowSettingsDialog'
|
|
},
|
|
{
|
|
combo: {
|
|
key: '=',
|
|
alt: true
|
|
},
|
|
commandId: 'Comfy.Canvas.ZoomIn',
|
|
targetElementId: 'graph-canvas'
|
|
},
|
|
{
|
|
combo: {
|
|
key: '+',
|
|
alt: true,
|
|
shift: true
|
|
},
|
|
commandId: 'Comfy.Canvas.ZoomIn',
|
|
targetElementId: 'graph-canvas'
|
|
},
|
|
{
|
|
combo: {
|
|
key: '+',
|
|
alt: true
|
|
},
|
|
commandId: 'Comfy.Canvas.ZoomIn',
|
|
targetElementId: 'graph-canvas'
|
|
},
|
|
{
|
|
combo: {
|
|
key: '-',
|
|
alt: true
|
|
},
|
|
commandId: 'Comfy.Canvas.ZoomOut',
|
|
targetElementId: 'graph-canvas'
|
|
},
|
|
{
|
|
combo: {
|
|
key: '.'
|
|
},
|
|
commandId: 'Comfy.Canvas.FitView',
|
|
targetElementId: 'graph-canvas-container'
|
|
},
|
|
{
|
|
combo: {
|
|
key: 'p'
|
|
},
|
|
commandId: 'Comfy.Canvas.ToggleSelected.Pin',
|
|
targetElementId: 'graph-canvas-container'
|
|
},
|
|
{
|
|
combo: {
|
|
key: 'c',
|
|
alt: true
|
|
},
|
|
commandId: 'Comfy.Canvas.ToggleSelectedNodes.Collapse',
|
|
targetElementId: 'graph-canvas-container'
|
|
},
|
|
{
|
|
combo: {
|
|
key: 'b',
|
|
ctrl: true
|
|
},
|
|
commandId: 'Comfy.Canvas.ToggleSelectedNodes.Bypass',
|
|
targetElementId: 'graph-canvas-container'
|
|
},
|
|
{
|
|
combo: {
|
|
key: 'm',
|
|
ctrl: true
|
|
},
|
|
commandId: 'Comfy.Canvas.ToggleSelectedNodes.Mute',
|
|
targetElementId: 'graph-canvas-container'
|
|
},
|
|
{
|
|
combo: {
|
|
key: '`',
|
|
ctrl: true
|
|
},
|
|
commandId: 'Workspace.ToggleBottomPanelTab.logs-terminal'
|
|
},
|
|
{
|
|
combo: {
|
|
key: 'e',
|
|
ctrl: true,
|
|
shift: true
|
|
},
|
|
commandId: 'Comfy.Graph.ConvertToSubgraph'
|
|
},
|
|
{
|
|
combo: {
|
|
key: 'm',
|
|
alt: true
|
|
},
|
|
commandId: 'Comfy.Canvas.ToggleMinimap'
|
|
},
|
|
{
|
|
combo: {
|
|
ctrl: true,
|
|
shift: true,
|
|
key: 'k'
|
|
},
|
|
commandId: 'Workspace.ToggleBottomPanel.Shortcuts'
|
|
},
|
|
{
|
|
combo: {
|
|
key: 'v'
|
|
},
|
|
commandId: 'Comfy.Canvas.Unlock'
|
|
},
|
|
{
|
|
combo: {
|
|
key: 'h'
|
|
},
|
|
commandId: 'Comfy.Canvas.Lock'
|
|
},
|
|
{
|
|
combo: {
|
|
key: 'Escape'
|
|
},
|
|
commandId: 'Comfy.Graph.ExitSubgraph'
|
|
}
|
|
]
|