Controller Not Detected on PC: Windows, Steam, Bluetooth, Browser
"My controller isn't detected" is five different problems wearing one coat. The pad can be dead, the cable can be charge-only, Windows can see it while the game refuses to, Steam can see it while the game you launched outside Steam does not, and a web page can see nothing at all until you press a button. Each has its own fix and none of them is "reinstall Windows". This guide walks the chain from the controller to the game in the order a repair technician would, with the manufacturer's own steps at each link, and ends with the browser, because our gamepad tester lives there and we hear "it shows nothing" every day.
Step 0: is it on, and is it talking to something else?
A controller that is still paired to its console will happily reconnect to the console in the next room. Sony's pairing page spells it out: "Each time you change devices, you must pair the controller with the new device." Microsoft's Bluetooth page adds that an Xbox pad "can only connect to one device at a time", and that double-pressing the Pair button switches it from Bluetooth back to the console it last knew. So the first check is not on the PC. Is the pad's light doing what the maker says a connected pad's light does? On an Xbox controller the Xbox button flashes when it is looking for a host and stays lit when it has found one; on a Switch Pro Controller, player LEDs that light in sequence and go out mean the pad needs pairing, and no light at all means no charge. A flat battery produces a very convincing "not detected".
Step 1: cable and port
Wired should be the boring case, and it usually is, with one trap. USB-C cables sold for charging phones often have no data wires. Sony's DualSense support page says so plainly: cables marked "charge only" cannot be used, try one labelled "charge and sync" or "charging and data". Microsoft's page for connecting an Xbox controller to a PC says the same thing in its own words, "be sure to use a cable that supports data transfer", and its troubleshooting steps are: restart the PC, test over a cable, try a different cable and port, update the controller, run Windows Update. Swap the cable before you swap anything else; it is the cheapest component in the chain and the one most often wrong.
If a USB pad was fine until the PC slept, Microsoft's advice is to press the Xbox button or unplug and replug it; sleep states lose controllers more often than people expect.
Step 2: Bluetooth, done the maker's way
Pairing instructions are short and specific, and the common failure is doing them halfway.
Xbox. Not every Xbox controller has Bluetooth. Microsoft's test is cosmetic: on Bluetooth-capable pads "the plastic around the Xbox button is part of the faceplate"; on older ones that plastic belongs to the top piece with the bumpers, and those need the Xbox Wireless Adapter or a cable. To pair, hold the Pair button for three seconds until the Xbox button flashes rapidly, then on Windows go to Settings › Bluetooth & devices › Add device. Note Microsoft's quirk: a pad on the Xbox Wireless Adapter is added under "Everything else", not under "Bluetooth". Microsoft recommends only one controller over Bluetooth at a time, says Bluetooth "does not support any attachments, such as headsets", and lists "light blinks but never pairs" as a known symptom whose fix is holding the Xbox button to power off for a few seconds and starting over.
DualSense and DualShock 4. With the controller off and unplugged, hold Create (Share on a DualShock 4) and then hold the PS button until the light bar blinks; then pick it from Windows' Bluetooth list. Sony also notes that the pad's haptics on PC "requires a USB connection", so a Bluetooth DualSense that works but does not rumble is behaving as documented, not failing.
Switch Pro Controller. Nintendo documents pairing to the console, not to a PC: hold the SYNC button on the top edge for at least a second until the lights run. The same button puts it into pairing mode for a PC's Bluetooth list; that part is common practice rather than Nintendo's text. A single press of SYNC resets a confused pad.
If the pad pairs, disappears and pairs again, you are probably fighting the console. Turn the console fully off, or re-pair the pad to the console later with a cable.
Step 3: Windows sees it, the game does not
This is the most common "not detected" on a PC that already shows the controller in Settings, and the reason is a thirty-year-old split in how Windows talks to game controllers.
Microsoft's documentation describes two interfaces. XInput is for Xbox controllers, with up to four at a time. DirectInput is the older, general one that everything else uses. The key sentence, from Microsoft's own comparison page: "By supporting XInput only, your game will not work with legacy DirectInput devices. XInput will not recognize these devices." Plenty of games support XInput only. To such a game a DualSense, a Switch Pro Controller or a flight stick is not a controller at all, however healthy it looks in Windows. Microsoft also notes the reverse case: an Xbox pad read through DirectInput has both triggers on one axis and no rumble, so a game that seems to see the pad but treats the triggers as one button is reading it the old way, by design.
The fix is a translator that makes the pad look like an Xbox controller.
Steam Input is the one most people already have. Valve's documentation is direct: with Steam Input active, "the controller will show up in your game as an Xbox controller", and on Windows the Steam overlay "will hook traditional gamepad input APIs such as XInput" to deliver it. You turn it on per controller family in Steam › Settings › Controller by ticking the configuration support box for PlayStation, Xbox, Switch Pro or generic pads; Valve's player guide says "all detected controllers compatible with the configurator will show up on this screen". The Switch Pro option arrived in 2018 as "Nintendo Switch Configuration Support", with a companion switch to swap A/B and X/Y to Nintendo's layout.
DS4Windows does the same job outside Steam. Its README puts it in one line: "By emulating an Xbox 360 controller, many more games are accessible." It relies on the ViGEmBus virtual-controller driver, and because the real pad and the virtual Xbox pad are both visible to Windows, games can see two controllers and react to both; the HidHide driver exists for exactly this, "hiding a device from the application" so only the virtual pad shows. Two honesty notes. The original DS4Windows repository was gone when we checked and the maintained fork has announced it is winding down; ViGEmBus itself is marked retired by its author. Both still work on current Windows as far as public reports go, but do not expect updates.
Step 4: detected in Steam, not in the game
Three checks, all from Valve's own material.
The box is unticked. The configuration support checkboxes above are off by default for some controller types. Without the box, Steam shows the pad in its settings and does nothing with it in games.
It is Steam's job only when Steam launched the game. Steam Input works through the overlay for games started from your library. A game you double-clicked from its own folder, or that launched from a separate launcher, is running without the overlay and sees the raw pad, XInput or not. Add it to your Steam library as a non-Steam title and launch it from there.
Something else is remapping first. Valve's player guide warns that with another remapper active Steam will not use the pad directly, because what it sees is already an Xbox 360 controller. Pick one translator and quit the other. Valve also notes that controllers with extra inputs can end up with "some of them duplicated" under emulation, which is the source of many "the game registers two presses" complaints.
Finally, the desktop. Outside a game, Steam's Desktop Configuration turns the pad into mouse and keyboard, which is why a controller appears to type in a browser while a page insists no gamepad exists. Valve describes it as "your input bindings for navigating the Desktop with a controller". If you want a web page to see the pad, that layer has to be out of the way; see the browser section below.
Step 5: firmware
Old firmware is a quieter cause of flaky detection, especially over Bluetooth. Microsoft's update page says keeping the controller current "maximizes your controller's capabilities and compatibility" and that it is done from the Xbox Accessories app with a cable or the Xbox Wireless Adapter, because "updating the controller over Bluetooth is not supported". The original Xbox One pad with a round 3.5 mm port updates over USB only. Sony's equivalent is the PlayStation Accessories app for Windows 10 64-bit and 11, which Sony says works over USB or Bluetooth. Switch controllers update from the console's System Settings, not from a PC; the path is on our Switch page.
Step 6: the browser shows nothing
Our tests, and every other site like them, use the Gamepad API, and it has a rule that trips up almost everyone the first time. MDN states it: for a controller that is already plugged in, "the gamepadconnected event is dispatched to the focused page when the user presses a button or moves an axis." The W3C specification calls this a gamepad user gesture and says the list of gamepads is "empty before a gamepad user gesture has been seen". Chrome counts a pressed button or a stick pushed past half travel. Firefox goes further, exposing pads "only when the user interacts with one with the page visible". So: connect the pad, click the page, press a face button. A page that says "no gamepad" before you have touched the controller is working correctly.
Beyond the gesture, a few mechanics explain the rest of the reports we get.
The page is inside a frame. The Gamepad API is governed by a Permissions-Policy feature called gamepad; if a parent page blocks it, MDN says calls "will throw a SecurityError" and connection events never fire. Open the test in its own tab.
It is a Switch controller. Chromium has its own driver for Nintendo pads, because they send nothing over USB until the browser performs a start-up handshake. A Pro Controller connects by USB or Bluetooth; Joy-Con only by Bluetooth, each one as its own gamepad until a matching left and right are merged into one. Other browsers rely on the operating system and may show a Pro Controller with no buttons mapped.
Steam is running. With Steam open and the Desktop Configuration active, what reaches the browser may be mouse movement rather than a gamepad, or an emulated Xbox pad alongside the real one. Valve documents the desktop layer and the emulation; the exact interaction with a browser is not in its pages, so we describe it as what owners report rather than as a published rule. Quitting Steam for the length of a test removes the question.
It is not an HTTPS problem. We see this advice often. The Gamepad specification has no secure-context requirement, and MDN lists none, so a plain HTTP page can read a gamepad. Our pages are served over HTTPS anyway.
Once a pad does show up, the polling rate test tells you whether a Bluetooth link is dropping reports, which feels like a controller that is "half detected".
The order, in one list
- Pad on, charged, light in the connected state, not grabbed by a console.
- A data cable, a different port; on wireless, a fresh pairing done to the end.
- Windows: the pad listed in Settings › Bluetooth & devices.
- The game: XInput-only? Turn on Steam Input for that controller type or use DS4Windows, not both.
- Steam: game launched from Steam, configuration support box ticked, no second remapper.
- Firmware current, over a cable.
- Browser: own tab, click, press a button; Steam quit if the page still sees nothing.
If the chain holds all the way and the pad still misbehaves, the problem is probably in the sticks rather than the link, and the stick drift test is the next page to open. If the pad works everywhere but one game, that game's own controller settings and our calibration guide are where the answer lives.
Questions people ask
Why is my Xbox controller not detected on PC over Bluetooth? Check it is a Bluetooth model (faceplate plastic around the Xbox button), hold Pair for three seconds, add it in Settings, and if it blinks without pairing, power it off with a long press of the Xbox button and retry. Firmware over a cable if that fails.
Windows shows the controller but the game doesn't. Why? The game speaks XInput only and your pad is not an Xbox pad. Steam Input or DS4Windows presents it as one.
Steam detects my controller but the game doesn't. Launch the game from Steam, tick configuration support for that controller type, and close any other remapper.
Why does the gamepad tester say no controller connected? Nothing is reported to a web page until you press a button on the pad with the page focused. Press one. If still nothing, open the tester in its own tab and quit Steam.
Does a controller need HTTPS to work in a browser? No. That requirement is not in the specification.
Can I use two translators, Steam Input and DS4Windows, together? You can, and you will get double inputs. Pick one.
Related
Gamepad Tester →How to Calibrate a Controller on Windows, Steam and DS4Windows →Controller Polling Rate Test →Sources: manufacturer and repair documentation listed in the text. Figures drawn by The Control Center.