User Tools

Site Tools


en:orx:config:settings_main:input_joystick

Joystick inputs

Orx supports up to 16 joysticks or gamepad devices.

Joystick buttons

Here's the list of the available joystick buttons for the input config system (replace the * with the ID of the joystick you want to use, a number between 1 and 16):

  • JOY_1_*
  • JOY_2_*
  • JOY_3_*
  • JOY_4_*
  • JOY_5_*
  • JOY_6_*
  • JOY_7_*
  • JOY_8_*
  • JOY_9_*
  • JOY_10_*
  • JOY_11_*
  • JOY_12_*
  • JOY_13_*
  • JOY_14_*
  • JOY_15_*
  • JOY_16_*

There are also special re-mapped named buttons to suit just about every controller:

  • JOY_A_*
  • JOY_B_*
  • JOY_X_*
  • JOY_Y_*
  • JOY_LBUMPER_*
  • JOY_RBUMPER_*
  • JOY_BACK_*
  • JOY_START_*
  • JOY_GUIDE_*
  • JOY_LTHUMB_*
  • JOY_RTHUMB_*
  • JOY_UP_*
  • JOY_RIGHT_*
  • JOY_DOWN_*
  • JOY_LEFT_*

Joystick axes

Here's the list of the available joystick axes for the input config system (replace the * with the ID of the joystick you want to use, a number between 1 and 16):

  • JOY_LX_*
  • JOY_LY_*
  • JOY_RX_*
  • JOY_RY_*

Each is a axis. For example: JOY_LX_1 is the left/right of the left analog stick on controller 1, while JOY_LY_1 is the up/down axis of the same stick on controller 1.

JOY_RX_1 and JOY_RY_1 will be the left/right, up/down of the right stick on controller 1.

Each controller will implement its layout differently. But Orx makes use of the SDL_GameControllerDB community database internally to make the mapping consistent for all controllers playing your game

To allow the user to customise mapping, it is helpful to consider providing remapping in your game.

Triggers

Triggers are technically an axis as well. They are read as a range of values rather than on/off like a button. These are available on newer console controllers like the Xbox 360 or PS4:

  • JOY_LTRIGGER_*
  • JOY_RTRIGGER_*

Joystick half-axes

Here's the list of the available joystick half axes for the input config system which allow you to easily use the axis like an 8-way old school joystick (replace the * with the ID of the joystick you want to use, a number between 1 and 16):

  • +JOY_LX_* (Binds the left joystick's positive X half-axis to an input)
  • -JOY_LX_* (Binds the left joystick's negative X half-axis to an input)
  • +JOY_LY_* (Binds the left joystick's positive Y half-axis to an input)
  • -JOY_LY_* (Binds the left joystick's negative Y half-axis to an input)
  • +JOY_RX_* (Binds the right joystick's positive X half-axis to an input)
  • -JOY_RX_* (Binds the right joystick's negative X half-axis to an input)
  • +JOY_RY_* (Binds the right joystick's positive Y half-axis to an input)
  • -JOY_RY_* (Binds the right joystick's negative Y half-axis to an input)
en/orx/config/settings_main/input_joystick.txt · Last modified: 2020/08/31 05:44 (4 years ago) by sausage