My controller is not being detected
Most undetected controllers come down to a charge-only cable, the wrong input mode, or another application holding the device exclusively.
Detection problems are rarely a broken controller. Work through these in order, because the first two account for most cases and cost nothing to check.
1. The cable
The most common cause by a wide margin. USB cables supplied with accessories are often charge-only: they carry power but have no data lines at all. The controller charges, the light comes on, and nothing can see it.
Swap it for a cable you know carries data, ideally the one that came with the controller or a phone’s data cable. If the controller suddenly appears, that was it.
2. Another application holding it
Steam Input takes exclusive control of connected controllers and re-presents them as a virtual device. While it has the controller, other applications may see nothing.
Close Steam entirely, or open its controller settings and disable Steam Input for that specific device, then retest. Other launchers and streaming applications can do the same thing, so close anything that might be listening for a controller.
3. Input mode
Many third party controllers ship in DirectInput mode, which browsers support poorly or not at all. Switching to XInput usually fixes detection instantly.
Look for a physical switch on the back or underside, or a button combination in the manual, often something like holding Home plus a face button for a few seconds. The indicator light pattern normally changes to confirm the mode has switched.
4. The connection itself
- Try a different USB port, ideally one directly on the machine rather than a hub, a monitor or a keyboard passthrough.
- On Bluetooth, remove the pairing entirely and pair again rather than reconnecting. Stale pairings are a common cause of a controller that connects but reports nothing.
- Disconnect other controllers. Some systems behave unpredictably with several attached at once, and the browser may be reporting a different one than you expect.
5. The browser
Gamepad support varies. Chromium based browsers have the broadest support, and Firefox and Safari trail on some controllers, particularly for rumble and for non-standard mappings.
If a controller works in one browser and not another, that is a browser limitation rather than a hardware fault, and there is nothing to fix on the controller.
Remember the press-a-button rule
A browser will not reveal a connected controller until you press a button on it. This catches people constantly, because the controller is plugged in, powered, and working, and the page still says nothing is there.
This is a deliberate privacy measure. A list of attached devices is a useful fingerprinting signal, so the specification requires deliberate interaction first. Press any button and the controller appears immediately.
When it really is the hardware
If the controller is invisible everywhere, on more than one machine, with a known good data cable, and in the correct input mode, then the fault is in the controller. The USB port on the controller itself is the usual failure point, particularly on controllers that live in a bag, and it is a replaceable part on most models.
Common questions
Why does my controller work in Steam but nowhere else?
Steam Input captures controllers exclusively and presents them to games as a virtual device. While Steam holds the controller, other applications including your browser may not see the real one. Closing Steam, or disabling Steam Input for that controller, releases it.
My controller charges but is not detected.
That is the signature of a charge-only USB cable. Charging uses only the power pins, so a cable with no data lines charges perfectly while carrying no data at all. Cables that came with headphones, power banks and similar accessories are frequently charge-only.
What is the difference between XInput and DirectInput?
They are two competing standards for talking to game controllers. XInput is newer and much better supported by browsers and modern games. Many third party controllers ship in DirectInput mode and have a switch or button combination to change to XInput, which usually resolves detection problems immediately.
It works on my PC but not my phone.
Mobile browser support for the Gamepad API is patchier, and some controllers pair with phones in a keyboard or mouse mode rather than as a gamepad. Test on a desktop before concluding the controller is faulty.