If your gamepad works flawlessly in one game but is completely ignored in another, the culprit is almost always the difference between two controller standards: XInput and DirectInput. Understanding these two protocols explains most PC controller headaches and points directly to the fix. This guide breaks down what each one is, why the mismatch happens, and how to make any controller work everywhere.

Our Top Picks

  1. Logitech G F310 Wired Gamepad Controller ConsoleOne Size6.78 x 2.94 x 8.06 Inches0.9 pounds
    Check on Amazon
  2. Logitech G F710 Wireless Gamepad with USB Nano6.61 x 3.11 x 7.87 Inches0.6 pounds
    Check on Amazon
  3. XBOX Wireless Gaming Controller + USB-C Cable6.91 x 5.61 x 2.76 inches0.95 Pounds
    Check on Amazon
  4. GameSir G7 SE Wired Controller for Xbox Series0.9 pounds
    Check on Amazon

The two controller standards explained

DirectInput is the older Windows standard that many joysticks, flight sticks, and third-party gamepads use. XInput is the newer standard Microsoft introduced alongside the Xbox 360 controller, and it is now what most modern games expect. XInput is simpler and standardized, so games that support it recognize any XInput controller instantly with correct button prompts, while DirectInput devices can appear with scrambled or missing buttons in those same games.

Why a controller works in some games but not others

Modern games often only listen for XInput. If your controller reports itself as a DirectInput device, those games simply do not see it, even though Windows detects it fine. Conversely, some older games only understand DirectInput and ignore an XInput pad. The game, not the controller, decides which standard it listens for, which is why the same gamepad behaves differently from title to title.

Controller type Native standard Modern game support
Xbox controllers XInput Excellent, plug and play
PlayStation controllers Neither natively (needs a layer) Good via Steam Input
Generic/third-party pads Often DirectInput Spotty without a wrapper
Flight sticks and wheels DirectInput Depends on the game

How to make any controller work

The universal fix is a translation layer. Steam Input, built into Steam, can take almost any controller, including PlayStation and generic pads, and present it to games as a standard XInput Xbox controller. Add the game to Steam, enable controller support in Steam settings, and most compatibility problems vanish. For non-Steam games, tools like DS4Windows for PlayStation controllers or a generic XInput wrapper do the same job by emulating an Xbox pad.

Setting up Steam Input

In Steam, open Settings and then Controller, and enable support for your controller type. Launch the game through Steam, and it will see a virtual Xbox controller regardless of your physical device. This single approach solves the majority of “my controller is not detected” complaints because it forces every game onto the XInput path they expect.

Troubleshooting stubborn cases

If a game still ignores your controller, check that only one input method is active, since running Steam Input and a separate wrapper at the same time can confuse games with duplicate or ghost controllers. Disable the extra layer. Also confirm the controller is not stuck in a special mode, as some third-party pads have a switch to toggle between XInput and DirectInput; setting it to XInput (often the X position) makes them behave like an Xbox controller directly.

Button prompts and mismatched icons

When a game shows Xbox button icons while you hold a PlayStation pad, that is XInput translation at work and is normal. Many games now detect PlayStation controllers and show correct prompts, but if yours does not, the mismatch is cosmetic and the buttons still function in the standard layout.

Frequently asked questions

Should I buy an XInput or DirectInput controller?

For general gaming, choose a controller that natively supports XInput, such as an Xbox controller or any modern pad advertised as XInput compatible, because it just works in the widest range of games. DirectInput devices like flight sticks are for specialized use where the game explicitly supports them.

Why does my PlayStation controller not work in some games?

PlayStation controllers do not natively speak XInput, so games expecting XInput may not detect them without a translation layer. Enabling PlayStation support in Steam Input or using DS4Windows presents the controller as an Xbox pad, which resolves detection in nearly every game.

Bottom line

The XInput versus DirectInput split explains almost every “works here, not there” controller problem. Modern games want XInput, older ones may want DirectInput, and the game chooses. Route any controller through Steam Input or a wrapper like DS4Windows to present it as an Xbox pad, and it will work virtually everywhere.

Related guides

Browse all PC Gaming Guides guides →