Gamepad & Device Interface
As soon as you connect almost any kind of controller or input device to your computer, the Wolfram Language will immediately let you use it to control Manipulate, 3D graphics, etc. The Wolfram Language also provides a symbolic representation that makes it uniquely easy to incorporate support for sophisticated interface devices in any program.
ControllerInformation — dynamically updated information on all connected controllers
ControllerState — states of particular controls
ControllerManipulate — interactively manipulate anything using external controllers
Manipulate — manipulate anything, with controls visible on the screen
Graphics3D, Plot3D, ... — use joysticks etc. to rotate 3D graphics
ControllerLinking — when to make a controller operate on a displayed object
ControllerMethod — how to set up default controls for an object
ControllerPath — specify preference order for external controllers
LocalizeVariables — whether to allow controllers to have global effects
ControlActive — specify "preview" settings when controls are active