> For the complete documentation index, see [llms.txt](https://guide.cronuszen.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guide.cronuszen.com/zen-studio-live/mouse-and-keyboard-panel.md).

# Mouse and Keyboard panel

The **Mouse & Keyboard Settings** panel is divided into two working areas: **Mapping** and **Aim Settings**, with profile controls in the left sidebar and header, and file controls in the footer.

***

### Header

| Element          | Function              |
| ---------------- | --------------------- |
| Profile          | Names the `.zmk` file |
| In-Game Settings | Stores your own notes |
| Saved Profiles   | Saved `.zmk` files    |

***

### Sidebar

#### Select profile

Six selectable profiles:

* **HIP**
* **ADS**
* **AUX 1**
* **AUX 2**
* **AUX 3**
* **AUX 4**

**AUX** stands for *auxiliary*. These are additional mapping profiles that are activated with an assigned key or mouse button.

#### Button labels

Two options: **PlayStation** and **Xbox**. This switches which button icons are shown throughout the mapping rows.

#### Keyboard view

Toggle with **OFF** and **ON** positions. When set to **ON**, the mapping is displayed as a keyboard layout.

***

### Mapping

The **Mapping** panel contains four tabs:\
**Primary**, **Secondary**, **Movement** and **Controller**. **Copy** and **Paste** buttons are located below the panel.

{% tabs %}
{% tab title="Primary" %}
Binding rows arranged in two columns. Each row shows a controller button icon, the assigned mouse or keyboard input, and an **×** button to clear the binding.
{% endtab %}

{% tab title="Secondary" %}
Binding rows arranged in two columns. Each row shows a controller button icon, the assigned mouse or keyboard input, and an **×** button to clear the binding.
{% endtab %}

{% tab title="Movement" %}
Contains a single section: **Left Stick**.

**Direction bindings**

| Stick input | Bound key |
| ----------- | --------- |
| Up          | `W`       |
| Down        | `S`       |
| Left        | `A`       |
| Right       | `D`       |
| WLK         | `G`       |

Rows are cleared with the **×** button.

**Sliders**

| Label      | Row marker | Control                 |
| ---------- | ---------- | ----------------------- |
| Walk Scale | WLK        | Slider with value field |
| Analog Sim | SIM        | Slider with value field |

**Walk Scale** works together with the key assigned to the **WLK** row. While that key is held, the slider sets how slowly you move instead of running at full speed.

**Analog Sim** applies to the `W`, `A`, `S`, `D` direction bindings. It converts their digital on/off input into a gradual, analog-style output, similar to how an analog stick behaves.
{% endtab %}

{% tab title="Controller" %}
Contains three sections: **Left Stick**, **Right Stick** and **Triggers**.

Each dropdown remaps that input to a different key or button. Each **Deadzone** slider sets a custom deadzone for that input.

**Left Stick**

| Row      | Control                 |
| -------- | ----------------------- |
| Stick    | Dropdown — `None`       |
| Stick    | Dropdown — `None`       |
| Deadzone | Slider with value field |

**Right Stick**

| Row      | Control                 |
| -------- | ----------------------- |
| Stick    | Dropdown — `None`       |
| Stick    | Dropdown — `None`       |
| Deadzone | Slider with value field |

**Triggers**

| Row           | Control                 |
| ------------- | ----------------------- |
| Trigger       | Dropdown — `None`       |
| Deadzone      | Slider with value field |
| Trigger       | Dropdown — `None`       |
| Deadzone      | Slider with value field |
| {% endtab %}  |                         |
| {% endtabs %} |                         |

***

### Aim Settings

#### Tuning

| Setting       | Control       |
| ------------- | ------------- |
| Sensitivity   | Numeric field |
| X/Y Ratio     | Numeric field |
| Boost         | Numeric field |
| Smoothness    | Numeric field |
| Invert Y-Axis | Toggle        |

**Sensitivity** sets how far the reticle moves for a given mouse movement. Higher values aim faster.

**X/Y Ratio** sets the vertical sensitivity relative to the horizontal sensitivity. A value of `1.00` makes both axes equal.

**Boost** raises the output sent to the stick, so small mouse movements produce a stronger reticle movement.

**Smoothness** averages consecutive mouse samples to reduce jitter. Higher values feel steadier but respond more slowly.

**Invert Y-Axis** reverses the vertical aiming direction.

#### Translator

| Setting         | Control       |
| --------------- | ------------- |
| Deadzone X      | Numeric field |
| Deadzone Y      | Numeric field |
| Deadzone Shape  | Dropdown      |
| Analog Stickize | Numeric field |

**Deadzone X** and **Deadzone Y** compensate for the deadzone of the game, so the smallest mouse movement already registers.

**Deadzone Shape** sets the geometry of the deadzone to match the shape the game uses.

**Analog Stickize** scales the simulated stick output.

***

### Ballistic Curve

The curve editor plots input against output, with both axes scaled from `0` to `10k`. Curve points are shown as markers on the plot.

The horizontal axis is the incoming mouse movement, the vertical axis is the resulting reticle movement. A straight diagonal line from `0` to `10k` is a linear curve, where the output matches the input.

#### Selected point

| Element | Control |
| ------- | ------- |
| X       | X-Axis  |
| Y       | Y-Axis  |

**X** and **Y** set the exact position of the selected point, as an alternative to dragging it on the plot.

**Remove** deletes the selected point. The start and end point of the curve cannot be removed.

#### Editor toolbar

<table data-search="false"><thead><tr><th>Control</th><th>Function</th></tr></thead><tbody><tr><td>Info</td><td>Button</td></tr><tr><td>−</td><td>Zoom out</td></tr><tr><td>Fit</td><td>Fit view</td></tr><tr><td>+</td><td>Zoom in</td></tr><tr><td>Percentage</td><td>Current zoom level</td></tr><tr><td>↩️</td><td>Undo</td></tr><tr><td>↪️</td><td>Redo</td></tr><tr><td>📖</td><td>Shows Minimap</td></tr><tr><td>Copy</td><td>Copies the current ballistic curve</td></tr><tr><td>Paste</td><td>Inserts a ballistic curve</td></tr><tr><td>Reset</td><td>Resets the curve back to linear</td></tr><tr><td>Expand</td><td>Shows ballistic curve in fullscreen</td></tr></tbody></table>

***

### Footer

| Control                   | Function                                 |
| ------------------------- | ---------------------------------------- |
| Import                    | Loads a new `.zmk` file                  |
| Export                    | Saves the current `.zmk` file            |
| Defaults                  | Resets `.zmk` file                       |
| Reload                    | Reloads the page                         |
| Finalize → Save to Device | Saves the current `.zmk` file to the Zen |

{% hint style="info" %}
Only one `.zmk` file can be stored on the Zen at a time.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://guide.cronuszen.com/zen-studio-live/mouse-and-keyboard-panel.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
