Adding Joysticks

Joystick settings

When configuring a Joystick, you can choose up to 4 axes across 2 joysticks. Each axis is mapped to a particular axis in a standard Twist message. A twist message has linear X, Y, & Z axes plus angular X, Y, & Z axes.


When configuring a joystick, you have the following options:

  • Twist Dimension: select which twist dimension this axis maps to
  • Gamepad Axis: if using a gamepad, map the gamepad axis to the joystick axis
  • Scale: When this axis is at 100%, what value should the twist command report
  • Exponent: for intermediate values, the exponential curve for which the twist value is computed.
  • Enable toggle: whether to display and enable the right (mapped to the arrow keys) and/or left (mapped to WASD) joystick.

Global settings

Below, you'll see a list of global settings for both joysticks:

  • Disable Gamepad Trigger Axis Mapping: for safety, you might not want the back trigger buttons on the gamepad attached to your computer to be mappable. Enable that here.
  • Disable Gamepad Input and Keyboard Input: For safety, you might want to force that joysticks are controlled with the mouse only. Enable that here.
  • Reduce Joystick Filter Timeout: when disabled, twist messages will publish at 10hz for new values and at 2hz for repeated values (like holding down "forward"). When enabled, twist messages will publish at 20hz and 10hz, respectively.