Before we start a game we'll need to make some basic choices and set some global settings in big picture mode.
Step 1: Pick a Controller
If you're reading this, it's presumably because you want to use a certain controller with a certain game. If you happen to have more than one, you should start by picking which one you want to use -- various models are supported, and some have unique features: Steam Input Devices
Once you decide what controller you want to use, make sure to connect it to your computer, and if it uses batteries, make sure that it is charged.
Step 2: Big Picture Mode
Enter Big Picture mode by clicking the gamepad icon in the upper right corner of the Steam client (You can use the Steam Input configurator outside of Big Picture mode, but you'll need to enter it in order to set things up).
Step 3: Controller Settings
Click the gear icon to adjust settings:
Then click "Controller Settings":
If you are using a PlayStation 4, Xbox One, Xbox 360, or generic controller, make sure you have the corresponding configuration support boxes checked:
Also make sure your controller(s) is/are plugged in. All detected controllers compatible with the configurator will show up on this screen.
Step 4: Pick a Game
Figure out what game you want to use your controller with and open its menu from big picture mode.
NOTE: Disclosure: In this example I'm picking my own game because I have full control of its Steam Input API integration and can use it to demonstrate certain features.
Step 5: Manage Game
When the game's menu comes up, select "Manage Game" in the sidebar:
Step 6: You Did Plug the Controller in, Right?
If you don't have a controller plugged in, you will see a menu like this:
Once you plug in the controller, you should see something like this:
Click on "Controller Configuration" to open up the controller configuration menu.
Step 7: Controller Configuration
Here's what you'll see for a game that has implemented native API support for the Steam Input configurator:
Note that much of what you see here is specific to this particular game and will be different in other games.
The four buttons at the top -- Editor Controls, Battle Controls, Map Controls, and Menu Controls -- are action sets
. Whenever you bring up an in-game menu, the game sends a signal via the API to activate the "Menu Controls" action set. When the player visits the overworld, the game switches to "Map Controls", and "Battle Controls" activates when a battle begins. All this happens automatically without the users' input.
Action bindings for each action set are entirely independent of each other, so swapping A and B for Cancel / Select in "Menu Controls" will not affect anything in "Battle Controls", for instance.
To change bindings, click on any of the controller regions. Here's what pops up when you select the face buttons:
From here you can choose different actions from each of the button input drop-down menus:
Note that for this game, all of these are native in-game actions that have been defined by the developer. You can change what actions are bound to which inputs by selecting the input, and choosing an action from the list.
Legacy Mode Bindings
But what if the game doesn't have native Steam Input support? Let's take a look at legacy mode.
Here's an RPG called Cosmic Star Heroine
, which doesn't implement the native Steam Input API, and unlike Defender's Quest, doesn't have particularly complicated controls.
We're greeted by a default legacy configuration, selected from one of several templates:
Here, instead of binding physical inputs to native in-game actions, physical inputs are simply bound to other physical inputs. The face buttons, shoulder buttons, analog triggers, start and back buttons, and the left joystick are all mapped to their XInput equivalents. The left trackpad's input source mode is set to "Dpad", with XInput Dpad buttons bound to each direction. The right trackpad's input source mode is set to "Mouse Joystick", with right-stick-click bound to the right trackpad's click action.
Let's say I want to rebind the "Y" button on the button pad. First, click on the button pad:
Then click on the sub-input you want to edit. In this case, the "Y" button:
Here you see the legacy input binding menu. You can give this binding a name, as well as choose any of the available hardware inputs to bind to it.
You can bind keyboard buttons, mouse buttons, and even gamepad buttons (emulated gamepad buttons will be seen by the game as XInput events). You can also bind multiple buttons to a single input (Toggle Multi-Button On), as well as set special conditions for the input (Show Activators), but we'll get into those later.
This should give you a brief overview about how to start playing around with the Steam Input configurator. If you'd like to learn more, here's some articles to get you started: