Steamworks Documentation
Steam Controller

Overview


Formerly, many different parts of the Steam input system contained the words "Steam Controller", but that got a little confusing. Now "Steam Controller" just means this particular input device.

Steam Controller

The Steam Controller is distinguished from standard XInput devices in several ways:

  • Two haptic trackpads
  • Two digital "grip" paddles on the back
  • An internal gyroscope
  • One analog joystick instead of two
  • Haptic pulses instead of traditional "rumble"

What follows is a detailed breakdown of its physical inputs.

Face buttons

Digital
The A, B, X, and Y buttons follow the physical layout and coloring of the XInput standard seen in devices like the Xbox 360 controller.

steam_controller_face.png

Joystick

Analog, 2 axes (+ digital "click")

The analog joystick is essentially identical to a traditional controller's, including digital "click the stick" functionality. The only difference is the steam controller only has one.

steam_controller_joystick.png

Back and Start

Digital
The Back and Start buttons are on either side of the Steam "home" button. Unlike the Steam "home" button, they are not reserved by the system and can be freely used by games & applications.

steam_controller_back_start.png

Steam "home" button

Reserved

The central Steam "home" button is reserved by the system and can't be used by games & applications. Pressing this button during a game will invoke the Steam overlay.

steam_controller_home.png
NOTE: Invoking the Steam overlay will not pause your game! It is up to you to detect the overlay and pause your game yourself.

You can detect the overlay by calling ISteamUtils::IsOverlayEnabled

Shoulder buttons

Digital
The shoulder buttons are pretty standard.

steam_controller_shoulder_buttons.png

Shoulder triggers

Analog, 1 axis (+ digital "full pull")
The analog triggers on the Steam Controller have a distinct digital "click" at the end of the normal analog range distinguishing a "full pull" from a "soft pull", similar to the triggers on the Nintendo GameCube controller.

steam_controller_triggers.png

Haptic Trackpads

Analog, 2 axes (+ digital "click")
The haptic trackpads are perhaps the defining feature of the Steam Controller, as well as the most versatile physical inputs on the device. They feature a high resolution touch surface with programmable haptic feedback, as well as digital click functionality on each. These can be used to generate direct analog motion with many different user settings, but they can also be made to emulate other devices, such as mice, joysticks, trackballs, etc. Some of their most powerful features come from using them in concert with the steam overlay to create on-screen radial menus and touch menus (see Input Source Modes). The left touchpad features an embossed Dpad shape, but is otherwise entirely identical to the right touchpad in terms of functionality.

steam_controller_touchpads.png

Gyro

Analog, 3 axes
Last but not least, the Steam Controller features an internal gyroscope for motion sensing. The gyro is fully able to detect all three axes of motion (pitch, yaw, and roll), and has been put to great use as an aim device in first-person shooters, among other applications.

steam_controller_gyro.png

BLE FW Update

The Windows FW update tool installing the BLE FW image or rolling back to production FW can be found here:
Steam Controller FW Update Tool