XInput / DirectInput Detector

On Windows, controllers talk to games in one of two main ways. XInput is the modern standard that almost every PC game supports. DirectInput is an older method some games and emulators still use. If a game ignores your controller or the buttons are mixed up, the wrong mode is often the reason.

This page tells you which mode your controller is in, what that means, and how to switch if you need to.

XInput vs DirectInput Mode Detector

Detect controller mode (XInput/DirectInput), view split trigger axes, and test independent rumble motors.

Detected ProtocolSearching...
Controller Hardware IDNot connected
Test result: Ready when you are. Connect your controller and run the test above.

As an Amazon Associate I earn from qualifying purchases.

What to do next

Use the result above to decide whether to re-test, calibrate, repair, or replace your controller.

How to use it

  1. Connect your controller and press any button.
  2. Read the detected mode and the name your browser reports for the controller.
  3. Press each button to check the layout matches the picture.
  4. If your controller has a mode switch, follow the steps shown for your brand, then reconnect and test again.

What your results mean

What the result means:

Detected What it means Works best with

XInput / standard mapping Modern mode, Xbox-style layout Almost all PC games and Steam

DirectInput / non-standard Older mode, layout may differ Some older games and emulators

Switch / Nintendo mode Nintendo layout (A and B swapped) Switch and Switch games on PC

Switching modes on popular controllers

Controller How to switch

8BitDo Usually a mode switch on the back, or a button held while turning on. Check the manual for your model.

GameSir Often a button combination held at power-on. Check the manual for your model.

PlayStation on PC Use Steam Input or DS4Windows to present it as an XInput controller

Generic controllers Look for a mode button or an X/D switch

Button combinations differ between models and firmware versions. The manual is the most reliable guide.

A short history of XInput and DirectInput

DirectInput is Windows' older way of reading controllers. It supports almost any device, but every controller can report its buttons differently, so games often need setting up for each one.

XInput arrived with the Xbox 360 controller and gives every controller the same Xbox-style layout. That's why almost all modern PC games expect it, and why controllers in XInput mode usually just work.

XInput and DirectInput side by side

The two systems read the same controller in different ways, which is why a controller can behave perfectly in one game and strangely in another. XInput gives every controller the same Xbox-style layout, so games know exactly which button is A and which axis is the left trigger. DirectInput lets each controller describe itself, which is flexible but means games often need setting up for each controller.

The table below shows the practical differences you're most likely to notice when testing.

XInput DirectInput

Button layout Always Xbox-style Varies by controller

Triggers Two separate axes Often one shared axis

Controllers at once Up to four Many more

Vibration Standard support Depends on the game and driver

Game support Almost all modern PC games Mostly older games and sims

Why triggers sometimes cancel each other out

When an Xbox controller is read through DirectInput, Windows combines both triggers into a single axis. Pulling the left trigger moves it one way, pulling the right moves it the other, and pulling both together returns it to the middle. In a game that reads it this way, pressing both triggers at once looks like pressing neither.

This is a limitation of how Windows exposes the controller, not a fault. If a game needs both triggers separately, it has to use XInput, or you can use Steam Input to translate the controller for it.

Switching modes on third-party controllers

Many third-party controllers can work in either mode. Some have a switch on the back marked X and D. Others change mode when you hold a button combination while connecting, and some switch automatically depending on the device they're plugged into. The exact method is different for every brand, so check the manual or the maker's support page.

After switching, unplug the controller, reconnect it and run this test again. The mode shown at the top of the page should change. If it doesn't, the controller may not have been reconnected, or the combination may need holding for longer.

Getting older games to see your controller

Some older PC games only understand DirectInput and ignore XInput controllers completely. If a game doesn't respond to your controller at all, switching to DirectInput mode is the first thing to try if your controller supports it.

If it doesn't, Steam Input can present your controller to the game in a way it understands, as long as you launch the game through Steam. Adding the game to your library as a non-Steam game works for games you bought elsewhere.

When a game sees two controllers

Sometimes a game shows your controller twice, or one controller moves two players. That usually happens when a program such as Steam, DS4Windows or a manufacturer's app creates a virtual controller while the real one is still visible. The game then reads both.

Close any controller programs except the one you want to use, reconnect the controller and test again. If the test shows only one controller afterwards, the game should too.

Checking the full trigger range

Pull each trigger slowly from rest to fully pressed and watch the bar. It should start at zero, rise smoothly and reach the top. If it stops short of the top, the game may never register a full press, which can matter in driving games where the trigger is the accelerator.

A trigger that doesn't return fully to zero can cause a car to creep forward or a weapon to aim on its own. Both usually point to a worn trigger spring or sensor.

XInput on browsers and other devices

Browsers on Windows read XInput controllers using the standard Xbox layout, which is why Xbox controllers and most XInput controllers show correct button names here. DirectInput controllers can appear with numbered buttons instead, because the browser can't always tell which is which.

XInput itself is a Windows feature. Mac, Linux, phones and consoles read controllers in their own ways, so the XInput and DirectInput labels on this page only apply when you're testing on Windows.

Newer Windows controller support

Windows also has a newer controller system used by some recent games and apps, which adds features like separate trigger vibration on Xbox controllers. Most games still use XInput, and the controller behaves the same either way for normal buttons and sticks.

If trigger vibration works in some games and not others, it's because only some games use the newer system. That's normal and not a fault.

Testing vibration

XInput controllers have two vibration motors, a heavier one on the left and a lighter one on the right. Use the vibration test to check both. If one doesn't vibrate, the motor or its connection may be faulty.

Xbox Series and Xbox One controllers also have trigger vibration motors, but these are only available through newer Windows controller systems, not XInput. So trigger vibration won't show here.

Checking the D-pad

In XInput mode, the D-pad reports as four buttons. In DirectInput mode, it often reports as a hat switch with eight directions. Press each direction and diagonal to make sure they register correctly.

If diagonals don't register, the D-pad may be worn or dirty.

Common XInput problems

If a controller works in some games but not others, check which mode it's in. If buttons are in the wrong place, the game may be reading it in the wrong mode. If nothing works, try a different USB port and check the controller in Windows' device settings.

Updating the controller's firmware or Windows can also help.

Wireless adapters and XInput

Xbox controllers connected through the Xbox Wireless Adapter or over Bluetooth still use XInput, so they'll appear the same here as when wired. Some third-party wireless dongles also present the controller as an XInput device.

If a controller shows correctly wired but not wireless, update the controller and adapter firmware through the Xbox Accessories app.

Common problems

The game doesn't detect my controller

Switch to XInput mode, or enable Steam Input for the game.

A and B are swapped

The controller is in Switch mode. Switch to XInput for PC games.

Triggers act like buttons

Some DirectInput modes treat triggers as on/off. XInput gives full trigger range.

Frequently asked questions

Which mode should I use on PC?

XInput, unless a specific game or emulator asks for DirectInput.

Do PlayStation controllers use XInput?

Not natively. Steam Input or DS4Windows translate them for games that expect XInput.

Does mode affect input lag?

Not meaningfully. Connection type and polling rate matter more.

Is XInput better than DirectInput?

For modern games, yes, because they expect it. DirectInput is mainly useful for older games and some flight and racing setups.

Why does my controller show numbered buttons?

It's probably in DirectInput mode, which doesn't use standard button names.

Can I use more than four XInput controllers?

XInput itself supports four. Some programs work around this, but most games still stop at four.

Does switching mode affect input lag?

Not in any way you'd notice. Connection type and polling rate matter far more.

Does PlayStation controller support depend on XInput?

PlayStation controllers aren't XInput devices. Many games support them directly, and Steam Input can translate them for the rest.

Related tools and guides