> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rollingquest.kramgames.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Controls & Keyboard Shortcuts

> Complete reference of all keyboard shortcuts, mouse actions, and input bindings in the RollingQuest level editor.

The editor uses a combination of keyboard shortcuts and mouse actions. All inputs are disabled while a menu or panel is open — press **Escape** to close menus and return to the viewport.

## Camera Movement

| Key            | Action                                             |
| -------------- | -------------------------------------------------- |
| **Arrow Keys** | Move the camera forward, backward, left, and right |
| **Mouse**      | Rotate the camera (look around)                    |

The camera uses an acceleration/deceleration model: it speeds up while you hold an arrow key and gradually slows down when you release. Maximum movement speed is capped to prevent disorientation.

## Block Selector Navigation

| Key   | Action                      |
| ----- | --------------------------- |
| **W** | Move selector forward (+Z)  |
| **S** | Move selector backward (-Z) |
| **A** | Move selector left (-X)     |
| **D** | Move selector right (+X)    |
| **E** | Move selector up (+Y)       |
| **Q** | Move selector down (-Y)     |

The selector is a wireframe cursor that highlights the current grid position. When a block is selected (grabbed), moving the selector also moves the block.

## Block Actions

| Key             | Action                                                                    |
| --------------- | ------------------------------------------------------------------------- |
| **Space**       | Insert a block at the selector position, or grab/ungrab an existing block |
| **Backspace**   | Remove the block at the selector position (and its items/enemies)         |
| **Left Click**  | Select a block side via raycast                                           |
| **Right Click** | Apply the currently selected block template to the clicked side           |
| **Tab**         | Copy the block template from the selected side to the pool                |
| **Shift+Tab**   | Copy the block template AND its element properties                        |

## Menu Shortcuts

| Key        | Action                                            |
| ---------- | ------------------------------------------------- |
| **Escape** | Open the Main Menu (or close the current menu)    |
| **B**      | Open the Blocks Pool                              |
| **I**      | Open the Items Pool                               |
| **P**      | Open the Balls Pool                               |
| **O**      | Open the Enemies Pool                             |
| **U**      | Open the Decorations Pool                         |
| **V**      | Open Element Properties for the selected side     |
| **M**      | Open the Messages Editor                          |
| **C**      | Open the Script Editor                            |
| **Z**      | Open the Sections Editor                          |
| **R**      | Open the Level Rotation Menu                      |
| **T**      | Test the current level                            |
| **F1**     | Toggle the help panel (shows/hides all shortcuts) |

## Input Behavior

* All keyboard inputs are **single-press** — holding a key does not repeat the action (except camera movement and selector navigation)
* The **Escape** key has priority: if any menu is open, it closes the topmost menu first
* When a menu is open, all block and camera inputs are disabled
* Mouse cursor is hidden and locked while camera input is enabled; it becomes visible when a menu opens

<Warning>
  Pressing **Escape** while the Main Menu is open will close it and return to the editor. If you have unsaved changes and try to quit, a confirmation popup will appear.
</Warning>
