When I reviewed the Steam Deck (opens in new tab), I criticized its weight but praised the fact that by building a handheld significantly bigger than the Nintendo Switch, Valve made room for full-size buttons and analog sticks. They're a pleasure to use and much more comfortable than the Switch's joycons. The Steam Deck's controls are designed to be as versatile as possible, with configurable trackpads and back paddles that add even more buttons.
Still, there are some cases where you might prefer to use a different controller on the Steam Deck—if you have it hooked up to a monitor, for example, or if it's propped up in front of you and you're crowded around it to play multiplayer like in those rooftop Switch parties. Thanks to Steam Input, the software that lets you reconfigure everything on the Deck to suit your fancy, Steam can also recognize just about any gamepad you throw at it.
Here's how to use a variety of controllers on the Steam Deck.
Xbox
How to use an Xbox controller on the Steam Deck
Wirelessly connecting an Xbox controller couldn't be much simpler.
On the Steam Deck, go to Settings > Bluetooth and turn it on.
Pairing an Xbox Series X/S or Xbox One controller: Press the pairing button on the Xbox controller until it begins flashing.
After a few seconds, "Xbox Wireless Controller" should show up under "Available to pair" on the Steam Deck's Bluetooth screen. Highlight it and hit A. Paired!
Compatibility note: All Xbox Series X/S controllers support Bluetooth. Later model Xbox One controllers also support Bluetooth. If the plastic around the Xbox logo is the glossy plastic that forms the top of controller with the bumpers and triggers, it's an older model without Bluetooth. If the plastic around the Xbox logo is the same as rest of the controller's face, it's a newer model with Bluetooth built-in.
Using an Xbox controller on the Steam Deck: Once paired, you can use an Xbox controller just like you would the Steam Deck's built-in controls, and since their button arrangements are identical, there's really no configuration needed. Just hop into a game.
PlayStation
How to use a PlayStation controller on the Steam Deck
On the Steam Deck, go to Settings > Bluetooth and turn it on.
Pairing DualShock 4 or PS5 DualSense: Press and hold the PlayStation logo button and the Share button (next to the D-pad) until the LED begins rapidly flashing.
After a few seconds, "Wireless Controller" should show up under "Available to pair" on the Steam Deck's Bluetooth screen. Highlight it and hit A. Paired!
Using a PlayStation controller on the Steam Deck: Steam recognizes PlayStation controllers, so in the UI they work just as seamlessly as Xbox pads. It's even smart enough to change the UI to match the PlayStation buttons! Very cool.
When you get in-game, the Steam Deck will by default remap the controls to your PlayStation controller and pop up a warning that the button icons in-game may not match. This is common: many PC games only have UI elements that match the Xbox controller layout, but some will have an option in the settings menu to display PlayStation icons instead, and a rare few will actually detect PlayStation controllers natively.
Compatibility note: The DualShock 3 also works with the Steam Deck via USB using a USB-A to USB-C cable. Bluetooth is a trickier proposition. It can't pair with SteamOS out of the box, but there are some specialized utilities for Arch Linux that can make it happen.
Switch
How to use a Switch Pro controller or joycons on the Steam Deck
On the Steam Deck, go to Settings > Bluetooth and turn it on.
Switch Pro controller: Hold the pairing button on the top of the controller for a few seconds. You won't get a flashing light, but it'll enter pairing mode as long as the controller has battery.
After a few seconds, "Pro Controller" should show up under "Available to pair" on the Steam Deck's Bluetooth screen. Highlight it and hit A. Paired!
Using a Switch Pro controller on the Steam Deck: The Steam Deck UI is smart enough to know that you're using a Nintendo controller, so you can press A on the Switch Pro controller (which would be B on the Steam/Xbox pads) and get the correct input. Just keep in mind that most games will show you Xbox UI buttons where A and B are reversed, so in-game it may be confusing.
Compatibility note: It's also possible to pair the Switch's joycons to the Steam Deck—they also work via Bluetooth, but must be paired as separate devices. In Arch Linux you can use a tool to turn the joycons into a pair.
Steam
How to use a Steam controller on the Steam Deck
Steamception!
On the Steam Deck, go to Settings > Bluetooth and turn it on.
Steam controller: Hold Y + Steam button to start the controller in Bluetooth pairing mode. (If you just dug a barely-used Steam controller out of a closet, you may first need to launch Steam Big Picture mode on desktop to update its firmware to support Bluetooth).
Using a Steam controller on the Steam Deck: Since the Steam Deck essentially has the same inputs as Valve's own controller, you can use its buttons and trackpads the same way. You're just missing two extra grips on the back.
Wired
What about wired controllers?
Yep, those totally work, too. Using a USB-C cable, I plugged Xbox Series X, DualSense and Switch Pro controllers into the Steam Deck and they worked instantly.
I also plugged in an Xbox 360 controller using a USB-A to USB-C adapter, and it worked like a charm. So does the Steam controller, with an adapter for its micro-USB cable.
Emulation
What about controllers in emulators?
I added emulators to my Steam library so I could access them from the SteamOS UI and use Steam Input for them, with one trackpad serving as my mouse and the back grip buttons serving as my left- and right-click. Those bindings left me free to use the regular controller buttons to emulate the original system controllers.
I had mixed results testing the keymapping of external controllers in emulators. Dolphin let me bind keys to a DualSense, but the inputs didn't seem to register when I launched a game. PS1 emulator DuckStation, which actually has a controller-navigable UI, detected the inputs immediately.
If you want to use a GameCube controller on the Steam Deck, that's absolutely possible. I plugged the Wii U GameCube controller adapter into a USB-C hub, and while it wasn't detected within SteamOS, the Dolphin emulator recognized it and it worked perfectly.
I tried pairing a Wii Remote on the Linux desktop, and it showed up in Bluetooth devices but failed at the pairing step. Arch Linux supposedly supports the Wii Remote with no fuss, but it may require some driver fiddling to get it working.