ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.19k stars 173 forks source link

PS3 controller doesn't work in some games with full controller support #6019

Open Tracerneo opened 5 years ago

Tracerneo commented 5 years ago

Your system information

Please describe your issue in as much detail as possible:

Some games don't work with PS3 controller. The controller is detected correctly in Steam, it works in Big Picture, can be configured, buttons remapped. When game is started, is detects controller (ABXY buttons displayed next to entries in menu), but moving joysticks and pressing buttons has no effect. Only PS button works to access Steam Overlay. Buttons can be mapped to keyboard/mouse and work correctly in games.

The controller works in some games, e.g. Skullgirls. Using xboxdrv --silent --detach-kernel-driver --mimic-xpad makes the controller be detected as XBox 360 controller and then it works in games (but the game runs slow on movement with pad then).

Tested with DualShock 3/SixAxis controllers, models CECHZC2H and CECHZC2E-A1, wired. Game was started from Big Picture Mode.

Steps for reproducing this issue:

Example game: https://store.steampowered.com/app/490230/

brundage commented 5 years ago

Basically the same issue for me. Controller works in Tricky Towers but not in Sundered.

yasuiniko commented 4 years ago

Same issue happens on macOS, hopefully this post helps the cause even though it's for the linux version of steam.

PS3 Controller works flawlessly in Big picture, but not in some games. Controller works in Hollow Knight but not Slay the Spire or Sleeping Dogs. The only button that works is the PS button, which opens the steam overlay.

I tried a couple gamepad configs, as well as Force Off, and was unable to identify any changes to how the game interpreted button presses. I determined that in Sleeping Dogs, the up-dpad button sends the X command to the game, and the right-dpad button sends the Square command to the game. This is true both in in-game menus and in the game itself.

I don't think the gampad config has any effect on the mapping between my button presses and the game input in Sleeping Dogs. Changing the gamepad config via the steam overlay so that Square maps to right-dpad in the controller options did not map Square back to itself, but instead had no effect. Mapping up-dpad to Square similarly had no effect, and the up-dpad button continued to send the X button input to the game. I also tried the mouse/keyboard gamepad layout, but it didn't seem to have any effect, ie the buttons still worked as described above.

The xboxdrv --silent --detach-kernel-driver --mimic-xpad trick didn't work for me.