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

# Stream Deck

> Pair your Stream Deck with your in-game radio and configure radio controls and status displays.

The LSR Radio plugin controls your **in-game FiveM radio**. It is separate from LSR Dispatch Desktop and does not control the web or desktop dispatch console.

## Download the plugin

> [card] [Download LSR Radio for Stream Deck](https://media.lsreality.com/streamdeck/lsr-radio.streamDeckPlugin)
>
> Download the .streamDeckPlugin installer, then open it to install LSR Radio in the Stream Deck application.

You do not need to install Node.js or build the plugin. After downloading, follow **Install and pair** below to connect it to your in-game radio.

## Before you start

* Install the Stream Deck desktop application, version **7.0 or newer**, and keep it open.
* Download `lsr-radio.streamDeckPlugin` using the download card above.
* Your community must have the in-game Stream Deck integration enabled.
* Join the FiveM server and make sure your character has the required radio access.

Standard key actions work across supported Stream Deck key layouts. Supported Stream Deck + dials add channel, zone, and volume rotation controls. A Pedal can operate held controls but cannot display radio information. Device support depends on your Stream Deck application and hardware.

## Install and pair

1. Open the downloaded `lsr-radio.streamDeckPlugin` installer and approve installation in Stream Deck.
2. After an upgrade, fully exit and restart Stream Deck—not just its window.
3. Drag an action from **LSR Radio** onto a key, pedal, or supported dial.
4. Select the action to open its settings and select **Generate pairing code**.
5. In FiveM, run `/radiosettings`, open **Stream Deck**, enter the **eight-digit code**, and select **Connect / Pair** within **two minutes**.
6. Confirm **Authenticated — local action bridge ready** and check that the Deck shows your radio state.
7. Close Radio Settings before operating the radio controls.

Alternatively, use `/radiostreamdeck` followed by the code to pair in game.

> [!WARNING]
>
> A pairing code is private and temporary. Do not post it in chat, screenshots, or bug reports. Generating a new code invalidates the previous one.

Pairing does not power on or tune the radio automatically. An off or untuned radio can still have a healthy Stream Deck connection.

## Pick your actions

| Action | Use |
| - | - |
| **Radio Status** | Display zone, channel, signal, talker, scan, TX/RX, emergency, volume, or other supported status. |
| **Toggle Radio UI** | Open or close the radio face. |
| **Radio / Handheld / Mobile Power** | Operate the corresponding power control. |
| **Channel Step / Zone Step** | Move forward or backward through available channels or zones. |
| **Volume** | Change radio volume by a configured step or supported dial rotation. |
| **Scan** | Toggle scanning. |
| **Switch Radio Display** | Change between handheld and mobile presentation in a vehicle; this is not a power switch. |
| **Tune / Preset** | Tune a permitted zone/channel using the identifiers supplied by staff. |
| **Hold PTT** | Transmit while the control is physically held. |
| **Hold Emergency** | Activate panic with a press; use a separate owner hold to clear it. |

Presets require actual numeric zone and channel identifiers, not their positions in a visual list. Ask staff if you do not know the correct identifiers. Plugin controls do not bypass normal radio access, power, vehicle, coverage, or transmit restrictions.

Held PTT and emergency actions are not supported in Stream Deck Multi Actions or Key Logic. If a profile/device disappears or the connection drops, held input is canceled; release and make a new physical press after reconnecting.

## Manage the connection in game

Open `/radiosettings` → **Stream Deck**:

* **Retry saved connection** retries an existing pairing without repeating previous actions.
* **Disconnect (keep pairing)** pauses the connection while retaining saved pairing information. A reload may reconnect it.
* **Forget this game's pairing** removes this game's saved pairing and pauses reconnection.
* **Connection details and help** expands the supplementary status and help, collapsed by default.

To revoke the plugin-side pairing too, use **Reset pairing** in the Stream Deck action settings. You can also use `/radiostreamdeck off` for the game-side Forget action.

## If pairing does not complete

1. Keep Stream Deck running and select an installed LSR Radio action.
2. If Generate pairing code times out, wait for the error, then retry. After an upgrade, fully exit and restart Stream Deck first.
3. Generate a fresh code and enter it promptly in the in-game tab.
4. Read the displayed error. If the integration is disabled by the server, staff must enable it.
5. If paired but actions are rejected, close typing, settings, and pause menus, then check radio power, access, tuning, and coverage.

Do not open internet firewall ports, disable browser security, or share pairing credentials to troubleshoot. See [Troubleshooting](https://docs.lsreality.com/troubleshooting.md) for what to include in a private support report.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.