enso/app/gui/shortcuts.md
Adam Obuchowicz 4a249688e8
Unify Frontend App (#11287)
Fixes #10668
Fixes #8484

Summary of changes:
* `gui2` and `dashboard` are merged to `gui` directory. Various configs were merged (package.json, playwrigth, TS...). The src and e2e directories are split to `dashboard` and `project-view` for now.
* E2E tests run two servers on different ports. The tests are organized in projects. This is also to be changed soon, as we plan to [use better mocking in GUI/ProjectView](#9726)
* ESlint configs were merged to central `eslint.config.mjs`, and that file was moved to repository root. We kept the dashboard lints, but they can be relaxed. The dashboard code was changed to meet GUI lints.
* Also, the versions of linter plugins were bumped, and code fixed.
* The ide-desktop/client no longer has `dashboard` dependency - the only type used there was moved to common package.
* `common` package moved to `app`.
2024-10-11 18:23:02 +00:00

8.0 KiB

General Assumptions

The Meta key.

The Meta key was introduced to make the shortcuts consistent across platforms. It is defined as Command ⌘ on macOS, and as Ctrl on Windows and Linux.

Mouse Buttons

Shortcuts are designed to work well with both the mouse and the touchpad.

  • LMB corresponds to Left Mouse Button
  • MMB corresponds to Middle Mouse Button
  • RMB corresponds to Right Mouse Button

Graph Editor

General Shortcuts

Shortcut Action
Escape Cancel current interaction
Meta+` Show/hide Code Editor
Meta+D Show/hide Documentation Editor
Meta+, Show Settings
Meta+/ Show About Window
Meta+Z Undo last action
Meta+Y or Meta + Shift + Z Redo last undone action

Navigation

Shortcut Action
Drag gesture (two fingers) Pan the scene.
Pinch gesture (two fingers) Zoom the scene.
MMB drag Pan the scene.
RMB drag Zoom the scene.
LMB double press component Step into the component.
LMB double press background Step out of the current component.
Meta+E Step in the last selected component.
Meta+Shift+E Step out of the current component.
Meta + Shift + A Zoom to selected components.

Component Layout

Shortcut Action
LMB drag non-selected component Move the component to new position (dragging do not modify selection).
LMB drag selected component Move all selected components the component to new positions.

Component Selection

Shortcut Action
LMB click component Deselect all components. Select the target component.
LMB click background Deselect all components.
LMB drag background Select components using selection-box.
Shift + LMB click component Add / remove component to the selection group.
Shift + LMB drag background Add / remove components to the selection group.
Meta + A Select all components.
Escape Deselect all components (if not in a mode, like edit mode).
Meta + Shift + LMB click component Add component to the selection group.
Meta + Shift + LMB drag background Add components to the selection group.
Shift + Alt + LMB click component Remove component to the selection group.
Shift + Alt + LMB drag background Remove components to the selection group.
Meta + Shift + Alt + LMB click component Inverse component selection.
Meta + Shift + Alt + LMB drag background Inverse components selection.

Component Browser

Shortcut Action
Enter Open component browser
Tab Apply currently selected suggestion (insert it without finishing the editing)
Enter or LMB on suggestion Accept currently selected suggestion (insert it and finish editing)
Meta + Enter Accept raw input and finish editing
Move selection up
Move selection down

Component Editing

Shortcut Action
Meta + C Copy selected components.
Meta + V Paste copied components.
BackSpace or Delete Remove selected components.
Meta+G Collapse (group) selected components.
Meta+LMB Start editing component expression.
Meta + Shift + C Change color of selected components.

Visualization

Shortcut Action
Space Toggle visualization visibility of the selected component.
Meta hold Preview visualization of the hovered component (hide on release).
Shift + Space Toggle visualization fullscreen mode.
Escape Exit visualization fullscreen mode.
Meta + Space Cycle visualizations of the selected component.
F1 Open documentation view