gives the state of the control c for the first connected controller device on which it is supported.


gives the states of several controls.


gives the state of control c for controller devices with the specified identifier.


gives the states of several controls for several controller devices.

Details and Options

  • Dynamic[ControllerState[]] gives continually updated current controller states.
  • Typical control names include:
  • "X" or "X1"xprimary value
    "Y" or "Y1"yprimary value
    "Z" or "Z1"zprimary value
    "XY" or "XY1"{x,y}primary 2-axis controller value
    "XYZ" or "XYZ1"{x,y,z}primary 3-axis controller value
    "X2", "Y2", "XY2", etc.x, y, {x,y}, etc.values from a secondary controller
    "B1", "B2", etc.b1, b2, etc.button states
  • The following special control names are also possible:
  • "Axes"a list of all supported axis-like controls
    "Buttons"a list of all supported button-like controls
    "Controls"a list of all supported controls
    "Hardware"information on the controller device hardware
    "Mapping"rules for Wolfram System mappings of controls
    "Rules"rules for the settings of all controls
  • ControllerState always gives absolute instantaneous control states; it does not give relative or cyclic control states of the type available in Manipulate.
  • If no explicit controller identifier id is given, the controller used will be the first one found on the list specified by the option ControllerPath that supports all the controls "ci" requested.
  • Identifiers for controllers can be the following:
  • "name"device name from ControllerInformation
    "class"device class specifier
    nraw device index from ControllerInformation
    Allall devices supporting the requested controls
  • Possible device class identifiers include:
  • "Gamepad"controller typically including two analog controls
    "Joystick"controller typically including one primary analog control
    "Detachable"controller not built into a computer
    "BuiltIn"controller built into a computer
  • If a requested control value is not available, ControllerState returns $Failed for that value.


open allclose all

Basic Examples  (1)

Check the state of button 1:

Click for copyable input

Check multiple values at once:

Click for copyable input

Scope  (2)

Options  (1)

Properties & Relations  (3)

See Also

ControllerInformation  MousePosition  ControllerManipulate  Manipulate  CurrentValue


Introduced in 2007