Glossary Term

Testing Controllers on Steam Deck

Boot into Desktop Mode, open Firefox or another Chromium browser, and hold the Menu button on the Deck to swap the internal controls to gamepad emulation. External controllers connect via USB-C dock or Bluetooth as normal. Steam Input is always running on Deck and shapes what the browser sees — this guide walks you through the actual reliable path.

Definition

What Testing Controllers on Steam Deck means

Testing Controllers on Steam Deck: Steam Deck controller testing runs through the Gamepad API in Desktop Mode, requires the Deck's internal controls to be in gamepad emulation state, and involves Steam Input layouts that shape which button events reach the browser.
Also known astest controller in browser Steam DeckSteam Deck gamepad diagnosticDeck controller browser testing
Mechanism

The reliable Deck path

Steam Deck has two operating modes that treat controllers differently. Gaming Mode is Big Picture Mode with a Steam Input-managed virtual gamepad. Desktop Mode is KDE Plasma with the Deck controls emulating a keyboard-and-mouse by default. For browser controller testing, Desktop Mode with a specific setup is what works.

  1. 01

    Switch to Desktop Mode

    From Gaming Mode, hold the Power button and select Switch to Desktop. The Deck reboots into KDE Plasma. Every browser you install and every browser tool you visit runs here, not in Big Picture — Gaming Mode's Steam-managed environment routes controller input through Steam Input in ways that don't reach the browser reliably.

  2. 02

    Open a Chromium-based browser

    Firefox is pre-installed. Chrome and Edge can be installed from the Discover Store as Flatpaks. Chromium-based browsers give the most consistent Gamepad API behavior, though Firefox works fine for basic tests. Avoid Steam's built-in browser overlay — it doesn't expose the full Gamepad API.

  3. 03

    Hold the Menu button to toggle Deck controls

    By default in Desktop Mode, the Deck's built-in controls emulate keyboard + mouse. Hold the Menu (three horizontal lines) button until Steam shows a notification that controls have swapped. Now the Deck's sticks and buttons emit gamepad events the browser can see through the Gamepad API.

  4. 04

    Custom Steam Input layout for the browser

    For persistent gamepad emulation without the Menu-button toggle, add your browser as a non-Steam game in Steam, then set its Controller Layout to 'Gamepad' or a custom layout that emits standard Xbox controller events. This routes all Deck inputs to the browser as clean gamepad input instead of the Desktop keyboard-and-mouse mapping.

  5. 05

    External controllers connect normally

    USB-C hub or dock exposes USB ports for wired controllers. Bluetooth pairing works from Settings → Bluetooth. External controllers bypass most Steam Input quirks — Xbox and DualSense pads connected over USB-C or Bluetooth appear in the browser immediately after you press a button.

Affected hardware

Devices most affected by Testing Controllers on Steam Deck

See also

Related glossary terms

Frequently Asked

Testing Controllers on Steam Deck questions

The browser in Gaming Mode is Steam's built-in overlay browser, which doesn't expose the full Gamepad API reliably. Even when it does show controller events, Steam Input's virtual gamepad layer masks the raw hardware behavior we're trying to measure. Desktop Mode is the correct path for any diagnostic testing.

In Desktop Mode, the Deck's internal controls default to keyboard + mouse emulation — moving the right stick moves the cursor, tapping a button sends a keystroke. The Gamepad API never sees them because they're not being emitted as gamepad events at all. Hold the Menu button until Steam shows a mode-swap notification, then the controls emit standard gamepad events.

Both, unavoidably. The Deck's internal controls always pass through Steam Input's userspace HID driver before reaching any application. What you measure is the composite of the underlying hardware plus Steam's driver layer. For pure hardware measurement, an external controller connected via USB-C or Bluetooth bypasses Steam Input and gives a cleaner reading.

Add your browser as a non-Steam game via Steam → Games → Add a Non-Steam Game. Then in the browser's Steam entry, Controller Layout → Templates → Gamepad. This emits standard Xbox-style button events that any browser Gamepad API tester can read. Custom layouts with modifiers or per-key remapping will produce inconsistent test results — stick to the stock Gamepad template for measurement.

Yes. Settings → Bluetooth → Add Device, pair as normal, then press any button on the controller with the browser tester in focus. Deck Bluetooth is generally reliable for DualSense, Xbox Wireless, 8BitDo Pro 2, and most premium third-party controllers. Cheaper Bluetooth pads occasionally take multiple pairing attempts.

That's Steam Input rewriting the device name. When Steam Input is active — which is always in Gaming Mode and can be in Desktop Mode — external controllers get proxied through a Steam-managed virtual gamepad that reports as 'Steam Deck' or 'Microsoft X-Box 360 pad'. This is normal on Deck. The buttons and axes still work; only the identifier is different.

Absolutely. USB-C hub or the official Docking Station gives you USB ports for wired controllers, HDMI for the external display, and Ethernet. In Desktop Mode this works exactly like a normal PC — plug the controller into the dock, press a button, refresh the browser. Docked mode also gives you more comfortable typing and better browser performance.

Not as touchpads. Standard Gamepad API doesn't have a concept of trackpad surfaces. Steam Input can be configured to emit standard button or axis events from the touchpads, but the raw touch data — position on the pad, pressure, multiple touches — isn't exposed to browser code. Testing the touchpads specifically requires a Steam Input configuration that maps them to detectable button or axis events first.

Sources

Further reading

  1. Steam Input Configuration Documentation · Steamworks Documentation
Written by
Abdul Soomro
Founder & Lead Diagnostic Engineer
Last reviewed
Published