---
updatedAt: 2025-11-11T01:48:20.000Z
agentTools:
  projectIndex: https://docs.formant.io/llms.txt
---

# Joystick: Joy messages

> 📘 A new teleoperation experience is here.
>
> We've released a new teleoperation experience. See the Getting Started guide for documentation on creating an observability dashboard.
>
> The documents in this section refer to the legacy teleoperation experience.

This guide will teach you how to configure `Joy` messages for joystick control.

# Step 1: Navigate to device teleoperation settings

1. In Formant, in the upper-left corner, open the menu and click **Settings**.
2. Click **Devices**, and then click on the device you want to configure.
3. Click on the **Teleoperation** tab to open the teleoperation configuration page.

# Step 2: Add a `Joy` stream

1. In the teleoperation configuration page, scroll down to **Joystick** and click the **plus (+) icon**.

### ROS

Formant will send joystick coordinate data as a `geometry_msgs/Twist` stream.

1. In the teleoperation configuration page, scroll down to **Joy** (*not* **Joystick**) and click the **plus (+) icon**.
2. Click **Add ROS Topic**.
3. Enter the ROS topic to which you want to post joystick coordinate data.
4. Click **Done**.

### API

You can also handle joystick input through the Agent SDK.

1. In the teleoperation configuration page, scroll down to **Joystick** and click the **plus (+) icon**.
2. Click **Add from API**.
3. Enter the name of the function which handles joystick input.
4. Click **Done**.

# Step 3: Configure joystick settings

1. Click the **edit (pencil) icon** to configure the settings for your Joy stream.

<Image align="center" width="400px" src="https://files.readme.io/053d59180cb07a45c3863120c358ddb95897e67fb53858bdb5f732096a46c54a-Screenshot_2024-12-05_at_1.05.18_PM.png" />

<br />

| Property                | Usage                                                                                                             |
| :---------------------- | :---------------------------------------------------------------------------------------------------------------- |
| Disable button mapping? | If **OFF**, gamepad buttons will map to buttons on the teleop interface. If **ON**, gamepad buttons are disabled. |
| Publish frequency       | Rate at which messages will be published. Number between 0 - 100 Hz. Default 5 Hz.                                |

2. Click **Done** to save your changes.

<Callout icon="👋" theme="default">
  ### If you notice an issue with this page or need help, please reach out to us! Use the 'Did this page help you?' buttons below, or get in contact with our Customer Success team via the Intercom messenger in the bottom-right corner of this page, or at [support@formant.io](mailto:support@formant.io).
</Callout>