The controller works in Spider-Man. It works on the desktop. But in this one game, half the buttons do nothing — or worse, the wrong things. This is one of the most frustrating PC gaming experiences, and the cause is almost always one of five things.

Step 0: Rule Out Hardware

Open the KeyTest controller tester and press every single button. If they all register here, the controller is fine and the rest of this guide applies. If a button doesn't even register in KeyTest, see cleaning and maintenance or controller not connecting first.

Cause 1: Steam Input Conflict

By far the most common cause of weird controller behaviour in Steam games. The game reads the native controller AND the Steam Input virtual controller, doubling or scrambling inputs.

Fix: right-click the game in Steam → Properties → Controller → set to "Disable Steam Input" and re-launch. If the issue is the opposite (game wants Steam Input but isn't getting it), set it to "Enable Steam Input". See Steam Input vs native for the full breakdown.

Cause 2: Xinput vs DirectInput

Older PC games (pre-2010) often only support DirectInput, and Xbox controllers connected via Xinput become invisible to them. The reverse is also true — modern games often only listen to Xinput, ignoring DirectInput-only pads.

Fix: install x360ce for old games that need DirectInput-to-Xinput translation. For PlayStation pads needing Xinput, use DS4Windows or run the game through Steam.

Cause 3: In-Game Dead Zone Set Too High

If the right stick "feels dead" but moves fine in KeyTest, the game's right-stick dead zone may be set above your stick's actual centre noise. Dropping it from the default 0.20 to 0.10 fixes most "stick not working" complaints.

Cause 4: Wrong Binding Profile

Some games auto-detect the controller and load a profile (Xbox, PS, generic). When detection fails, the game falls back to a generic profile where button indices don't match your pad. Result: the wrong button does the wrong thing.

Fix: in the game's controls menu, manually rebind every action. If rebinding shows the right button name when you press the right physical button, you're done. If it shows the wrong name, the game's button index table is incompatible — try toggling Steam Input or DS4Windows.

Cause 5: Multiple Controllers Confusing the Game

If you have a wheel, a HOTAS, a second controller, or even an unplugged virtual XInput device from an old DS4Windows install, the game may be reading from the wrong device. Disconnect everything except the controller you want to use.

On Windows, check Device Manager → Human Interface Devices for "ghost" controllers (greyed-out entries). Right-click → Uninstall device for each.

When the Game Is Just Broken

Some PC ports genuinely have bad controller support. Notorious examples include Dark Souls (the original), Fallout 3, and many indie games. Search "[Game name] controller fix" on PCGamingWiki — the community-maintained pcgamingwiki.com almost always has a documented workaround for popular titles.

Frequently Asked Questions

Why do my controller buttons work in the menu but not in the game?

Two common causes: the game's binding profile is missing for your controller type, or the game is using DirectInput and you're connected via Xinput (or vice versa). Switching Steam Input on or off usually fixes it.

How do I check what button the game is detecting?

Use the KeyTest controller tester to confirm the controller reports the right index for each button. Then in-game, go to controls → rebind. If the wrong button name appears when you press the right one, the game's mapping table is misaligned with your pad.

Why does the right stick scroll the menu but not aim in-game?

Some games default to inverted Y or set the in-game right-stick deadzone to 0.5 (essentially disabled). Check Controls → Camera in the game's settings — it's almost always there.

My controller works on the title screen but the game won't see it.

The game uses different input subsystems for menu vs gameplay. This is a known issue in titles built on UE3 and old Unity. Try launching the game with the controller already connected, and avoid plugging in mid-session.