XInput vs DirectInput vs Steam Input: The PC Controller Compatibility Matrix
Disclosure: As an Amazon Associate, we earn from qualifying purchases.
“I bought a controller and my PC games don’t see it properly.” Almost every version of this complaint comes down to one thing: the game and the controller are speaking different input languages. On PC there are three of them — XInput, DirectInput, and Steam Input — and which one your controller uses decides whether buttons map correctly, whether rumble works, whether triggers behave as triggers, and whether motion controls exist at all. This guide maps the three, shows what each mode gains and loses, and tells you how to fix the common failures. It is the pre-purchase companion to the Xbox compatibility guide (which owns Xbox licensing) and the best PC controllers (which owns the picks).
The three languages, briefly
XInput is Microsoft’s modern gamepad API, built around the Xbox controller layout: two sticks, a D-pad, four face buttons, two bumpers, two analogue triggers, and a guide button. Games written for XInput expect exactly that layout, and an XInput controller usually works in those games with no configuration at all. Its limits are its fixed layout: it has no standard way to describe extra paddles, additional buttons, gyro, or touchpads, and rumble and trigger behaviour follow the Xbox model.
DirectInput is the older, more general API. It can describe almost any input device — flight sticks, racing wheels, arcade sticks, controllers with unusual button counts — because it exposes raw axes and buttons rather than a fixed gamepad shape. That generality is also its weakness in modern games: many current PC games only implement XInput, so a DirectInput-only controller may be invisible to them, or may need a wrapper to translate it into XInput before the game recognises it.
Steam Input is Valve’s translation layer inside Steam. It sits between your controller and the game, remapping whatever the controller reports into whatever the game expects — including translating a PlayStation-style pad into XInput for a game that only speaks XInput, and adding features the game never implemented, like gyro-to-mouse aiming or action layers. Steam Input is powerful and occasionally confusing, because it can mask the underlying mode: a controller that “works in Steam” may still fail in a non-Steam game that bypasses Steam Input entirely.
The matrix
| Situation | What usually happens | What can break |
|---|---|---|
| Xbox-style pad (XInput native) in a modern Steam game | Works immediately, correct prompts, rumble and triggers as expected | Extra paddles may need the maker’s app; see the software guide |
| Xbox-style pad in a non-Steam XInput game | Works immediately | Same paddle caveat; no Steam Input layer to help |
| PlayStation-style pad (DualSense) in Steam with Steam Input on | Works, translated to XInput; gyro can be mapped; prompts may still show Xbox buttons | Haptics and adaptive triggers are limited — Steam Input does not reproduce every DualSense feature in every game |
| PlayStation-style pad outside Steam | May be DirectInput-only to the game; some games ignore it or map it wrong | Use Steam Input (by adding the game to Steam) or a wrapper; check the maker’s guidance |
| Third-party pad with a mode switch (XInput/DirectInput toggle) | Physical switch or button combo selects the mode; XInput mode for modern games, DirectInput for older or unusual titles | The wrong mode is the single commonest “controller not working” cause — always check the switch first |
| Third-party pad with auto-switching | Controller picks a mode by connection or by the game; convenient when it works | Auto-switching can pick the wrong mode silently; a manual override, where one exists, beats guessing |
| Retro or arcade-style pad (DirectInput native) | Works in emulators and older games that speak DirectInput | Modern XInput-only games may not see it without Steam Input or a wrapper |
Two warnings apply to every row. First, mode behaviour is per-variant, never per-brand: one 8BitDo Ultimate variant’s mode switch behaviour cannot be assumed for another Ultimate variant, and the same applies to GameSir lines. Check the exact variant’s manual. Second, polling figures belong to connections, not to protocols: a controller’s advertised maximum polling rate applies to specific connections (wired or 2.4 GHz dongle on PC, typically; Bluetooth typically runs lower), and a polling figure is a report interval, not total input lag. Do not let a Hz number decide a protocol question — see the latency guide for why the whole chain matters.
Per-mode feature losses, honestly stated
In XInput mode, you generally keep: sticks, D-pad, face buttons, bumpers, analogue triggers, and standard rumble. You typically lose or must re-add through software: extra paddles and back buttons (unless the game or the maker’s app exposes them), gyro and motion (XInput has no gyro standard), touchpads, and PlayStation-specific features such as adaptive trigger resistance and advanced haptics.
In DirectInput mode, you keep raw access to whatever the hardware reports — which is why emulators and older games love it — but you lose plug-and-play in modern games, correct on-screen button prompts (a game expecting Xbox prompts will show them regardless of what you hold), and often rumble, which many modern games only implement through XInput.
Through Steam Input, you can gain: remapping of any button to any function, gyro aiming, action sets per game, and translation into XInput for games that need it. You can lose: simplicity (Steam Input configurations can conflict with a game’s own settings or with the maker’s companion app), and in some games, native features that Steam Input’s translation does not carry across. When Steam Input and a maker app both try to remap the same controller, turn one of them off before diagnosing anything else.
The fixes, in order
When a controller misbehaves on PC, work through this order rather than reinstalling drivers at random:
- Check the mode. If the controller has a switch, button combination, or app setting for XInput versus DirectInput, set it to XInput for modern games and retest. This alone resolves a large share of “not detected” and “buttons wrong” reports.
- Check where Steam Input sits. If the game runs through Steam, try Steam Input on, then Steam Input off (Steam’s per-game controller settings allow forced on, forced off, or default). If the game runs outside Steam, remember Steam Input is not in the chain at all unless you add the game to Steam as a non-Steam title.
- Check for double input. If one press registers twice, two layers are translating the same controller — typically Steam Input plus a wrapper, or the controller presenting itself through two APIs at once. Disable one layer.
- Check the connection before the protocol. A controller on a low battery, a loose cable, or a crowded Bluetooth environment can produce symptoms that look like protocol failures (dropped inputs, wrong axes). Swap to wired temporarily to isolate connection from protocol.
- Check the maker’s app last, not first. Companion apps can remap, update firmware, and set profiles — but they can also override what you just fixed. Get the controller working in its default mode first, then add app customisation on top of a working baseline.
What to check before you buy
Before buying a PC controller, answer four questions from the maker’s listing or manual for the exact variant: Does it offer XInput mode, and how is it selected (switch, combo, automatic)? Does it offer DirectInput mode for older games or emulators you actually play? Does its companion app run on PC, and does it require the app for basic function or only for extras? And are its headline features — gyro, paddles, trigger stops — available in the mode you will actually use, or only through software that may not run alongside your games? A controller whose best features only exist in a mode your favourite game does not use is not the controller you thought you bought.
[AFFILIATE LINK: 8BitDo Ultimate 2C Wireless] · [AFFILIATE LINK: GameSir T4 Kaleid] · [AFFILIATE LINK: Xbox Wireless Controller]
Related: Xbox controller compatibility guide · Best PC controllers 2026 · Controller latency guide

