# Input

## Modes

| Key              | Mode              |
| ---------------- | ----------------- |
| <kbd>Q</kbd>     | <kbd>Info</kbd>   |
| <kbd>A</kbd>     | <kbd>Data</kbd>   |
| <kbd>S</kbd>     | <kbd>Add</kbd>    |
| <kbd>D</kbd>     | <kbd>Remove</kbd> |
| <kbd>F</kbd>     | <kbd>Change</kbd> |
| <kbd>Shift</kbd> | <kbd>Group</kbd>  |

## Shortcut

| Combo                                             | Action              |
| ------------------------------------------------- | ------------------- |
| <kbd>Ctrl</kbd>\* + <kbd>L</kbd>                  | Toggle Layout       |
| <kbd>Ctrl</kbd>\* + <kbd>M</kbd>                  | Toggle Map          |
| <kbd>Ctrl</kbd>\* + <kbd>P</kbd>                  | Toggle Palette      |
| <kbd>Ctrl</kbd>\* + <kbd>A</kbd>                  | Toggle Select All   |
| <kbd>Ctrl</kbd>\* + <kbd>;</kbd>                  | Toggle Search       |
| <kbd>Ctrl</kbd>\* + <kbd>\</kbd>                  | Toggle Microphone   |
| <kbd>Ctrl</kbd>\* + <kbd>/</kbd>                  | Toggle Tooltips     |
| <kbd>Ctrl</kbd> + <kbd>C</kbd>                    | Copy                |
| <kbd>Ctrl</kbd> + <kbd>X</kbd>                    | Cut                 |
| <kbd>Ctrl</kbd> + <kbd>V</kbd>                    | Paste               |
| <kbd>Ctrl</kbd> + <kbd>Z</kbd>                    | Undo                |
| <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Z</kbd> | Redo                |
| <kbd>Ctrl</kbd> + <kbd>S</kbd>                    | Save                |
| <kbd>Ctrl</kbd> + <kbd>O</kbd>                    | Open                |
| <kbd>Arrow Up</kbd>                               | Next Unit Up        |
| <kbd>Arrow Down</kbd>                             | Next Unit Down      |
| <kbd>Arrow Left</kbd>                             | Next Unit Left      |
| <kbd>Arrow Right</kbd>                            | Next Unit Right     |
| <kbd>Shift</kbd> + <kbd>Arrow Up</kbd>            | Next Subgraph Up    |
| <kbd>Shift</kbd> + <kbd>Arrow Down</kbd>          | Next Subgraph Down  |
| <kbd>Shift</kbd> + <kbd>Arrow Left</kbd>          | Next Subgraph Left  |
| <kbd>Shift</kbd> + <kbd>Arrow Right</kbd>         | Next Subgraph Right |
| <kbd>Space</kbd>                                  | Center Graph        |

\* <kbd>Ctrl</kbd> is optional, but required when the editor is not focused (e.g. typing on Search).

## Escape

<kbd>Escape</kbd> key can be used to get out of some focused states such as fullwindow or unlocked.

> [!NOTE]
> This default behavior can be disabled by the currently focused component.

## Pointer (Mouse, Touch, Pen)

| Pointer                 | Mode              | Element                  | Action               |
| ----------------------- | ----------------- | ------------------------ | -------------------- |
| <kbd>Click</kbd>        |                   | <kbd>Node</kbd>          | Select               |
| <kbd>Click</kbd>        |                   | <kbd>Background</kbd>    | Deselect All         |
| <kbd>Double Click</kbd> |                   | <kbd>Component</kbd>     | Unlock Component     |
| <kbd>Double Click</kbd> |                   | <kbd>Background</kbd>    | Edit Empty Datum     |
| <kbd>Double Click</kbd> | <kbd>Group</kbd>  | <kbd>Background</kbd>    | Toggle Select All    |
| <kbd>Click</kbd>        | <kbd>Group</kbd>  | <kbd>Node</kbd>          | Multiselect          |
| <kbd>Click</kbd>        | <kbd>Data</kbd>   | <kbd>Pin</kbd>           | Suggest Pin Data     |
| <kbd>Click</kbd>        | <kbd>Data</kbd>   | <kbd>Unit</kbd>          | Suggest Unit Data    |
| <kbd>Click</kbd>        | <kbd>Add</kbd>    | <kbd>Node</kbd>          | Copy Subgraph        |
| <kbd>Click</kbd>        | <kbd>Remove</kbd> | <kbd>Pin</kbd>           | Ignore Pin           |
| <kbd>Click</kbd>        | <kbd>Remove</kbd> | <kbd>Unit</kbd>          | Cut to Clipboard     |
| <kbd>Hover</kbd>        | <kbd>Info</kbd>   | <kbd>Pin</kbd>           | Show Pin Info        |
| <kbd>Hover</kbd>        | <kbd>Info</kbd>   | <kbd>Unit</kbd>          | Show Unit Info       |
| <kbd>Long Press</kbd>   | <kbd>Group</kbd>  | <kbd>Background</kbd>    | Compose Selected     |
| <kbd>Long Press</kbd>   | <kbd>Group</kbd>  | <kbd>Unit</kbd>          | Inject Graph         |
| <kbd>Long Press</kbd>   | <kbd>Group</kbd>  | <kbd>Selected Unit</kbd> | Explode Graph        |
| <kbd>Long Press</kbd>   | <kbd>Data</kbd>   | <kbd>Background</kbd>    | Deep Copy Graph      |
| <kbd>Long Press</kbd>   | <kbd>Add</kbd>    | <kbd>Background</kbd>    | Copy Graph           |
| <kbd>Long Press</kbd>   | <kbd>Remove</kbd> | <kbd>Background</kbd>    | Cut Graph            |
| <kbd>Long Click</kbd>   | <kbd>Data</kbd>   | <kbd>Unit</kbd>          | Deep Copy Ghost      |
| <kbd>Long Click</kbd>   | <kbd>Add</kbd>    | <kbd>Unit</kbd>          | Copy Ghost           |
| <kbd>Long Click</kbd>   | <kbd>Remove</kbd> | <kbd>Unit</kbd>          | Cut Ghost            |
| <kbd>Long Drag</kbd>    | <kbd>Data</kbd>   | <kbd>Unit</kbd>          | Drag Deep Copy Ghost |
| <kbd>Long Drag</kbd>    | <kbd>Add</kbd>    | <kbd>Unit</kbd>          | Drag Copy Ghost      |
| <kbd>Long Drag</kbd>    | <kbd>Remove</kbd> | <kbd>Unit</kbd>          | Drag Cut Ghost       |

## Browser Default

### Shortcut

| Combo                          | Action               |
| ------------------------------ | -------------------- |
| <kbd>Meta</kbd> + <kbd>+</kbd> | Increment Zoom Level |
| <kbd>Meta</kbd> + <kbd>-</kbd> | Decrement Zoom Level |
