Steam breaks controller input in PCSX2 (Workaround)
#1
EDIT: I've found a possible solution, posted further down, which doesn't require exiting Steam. I can't guarantee it is the best solution, but so far it seems to work without additional unexpected issues.

I haven't used PCSX2 in quite a while, and just installed and ran the most recent Nightly.

Entering a game, I found my controller (a first-party wired Xbox One controller) didn't work properly.  The 'B' button paused the game, the 'Start' button brought up the PCSX2 overlay menu, another button toggled fast-forward.  Instead of working as a game controller, the gamepad buttons were seemingly triggering PCSX2 hotkeys.

I spent some time in the settings menu, trying different controller configurations and looking for other options. I'd switch between SDL and D-input, restore defaults, select my gamepad, auto-assign, the displayed mappings would look correct, then I'd re-enter the game only for the gamepad buttons to trigger the same emulator hotkeys.

I searched online and found a number of posts mentioning similar controller issues in PCSX2, with various controllers, and some exactly describing the same hotkey effect.

Remembering a weird conflict I'd once had with some random free PC game I'd downloaded, I then exited Steam, which I tend to keep running in the background.  I started PCSX2, went straight into a PS2 game, and the controller worked perfectly.  I exited PCSX2, started Steam again, got the Steam pop-up that said it had recognized my Xbox One controller, started PCSX2 again, went back into the same PS2 game, and the gamepad buttons were again (incorrectly) acting like emulator hotkeys.

Basically, it looks like there is some kind of conflict caused by how Steam handles controllers even outside of its own games. If Steam is running, then it doesn't matter what PCSX2 appears to be telling you. I'd guess Steam is hijacking controller handling in general for Windows, and PCSX2 is getting and then using input that has already been processed by Steam, which is somehow being treated as emulator hotkeys when you go into a PS2 game?
Reply

Sponsored links

#2
(02-07-2023, 03:30 AM)Baines Wrote: I'd guess Steam is hijacking controller handling in general for Windows, and PCSX2 is getting and then using input that has already been processed by Steam, which is somehow being treated as emulator hotkeys when you go into a PS2 game?

you got it
CPU : AMD Ryzen 7 3800X
Mobo : Asus PRIME B450-PLUS
GPU : NVIDIA GeForce RTX 3070
RAM : 16 Go
Reply
#3
(02-07-2023, 07:19 AM)jesalvein Wrote: you got it

I guess the only question left is is there a way to get PCSX2 to interpret Steam's modified controller inputs in a sensible and useful fashion?

I also wonder if PCSX2 would be served by including a clear warning notice inside the configuration screen.  As I said, I saw a number of people had posted about similar issues in the past, on various sites, none of which were followed by concrete solutions.
Reply
#4
(02-07-2023, 08:37 PM)Baines Wrote: I guess the only question left is is there a way to get PCSX2 to interpret Steam's modified controller inputs in a sensible and useful fashion?
not that i know of
Quote:I also wonder if PCSX2 would be served by including a clear warning notice inside the configuration screen.  As I said, I saw a number of people had posted about similar issues in the past, on various sites, none of which were followed by concrete solutions.
PRs always welcome
CPU : AMD Ryzen 7 3800X
Mobo : Asus PRIME B450-PLUS
GPU : NVIDIA GeForce RTX 3070
RAM : 16 Go
Reply
#5
(02-07-2023, 11:32 PM)jesalvein Wrote: not that i know of

I might have found a solution other than exiting Steam.

The issue is that Valve has tried to make it possible for people to use game pads as a keyboard replacement everywhere within Windows. If Steam is running, regardless of whether you are actually in the Steam app or a Steam game, it will read your game pad inputs, process them, and output associated keyboard and mouse inputs for Windows.  So if you wanted, Steam gives you the ability to do stuff like write a document in Notepad with just your game pad.

However, this also means that if you play a game in PCSX2 while Steam is running, pressing "Start" on your game pad doesn't just get processed as pressing start within the game. No, Steam notices that you pressed "Start" on your game pad, looks at its configuration for game pads in general desktop mode, and tells Windows that you've pressed the "Esc" key on your keyboard.

The big issue with this issue is that it seems to be the default behavior when running Steam, Steam doesn't really explain what it is doing, and AFAIK Valve didn't make it easy to disable this not necessarily desired functionality.

However, you can go to Steam's Settings -> Controller -> Desktop Configuration. There you can see what keyboard outputs Steam currently has associated with your game pad inputs. But even this isn't as easy as it should be, particularly if you want to keep the default profile in case you run into Windows apps where you do want Steam to convert your game pad to keyboard.

What I did was "Add Action Set", set to copy "None" into it (so it would be completely blank), and gave it a name ("Nothing" in my case"). Then I clicked "Manage Action Set" (which sometimes isn't even visible, you might have to click on your set name to make it appear), and chose my "Nothing" set for both when the cursor is visible and invisible.

With all that done, I was finally able to use my controller in PCSX2 while Steam was running, and get the desired behavior.  It also behaved properly in Dolphin, though I had to re-assign my controller inputs there.  I also tested a Steam game, which seemed to still work as expected.  I did keep the "Default" profile, so I can moderately easily revert back to it if I do find something that requires Steam's additional processing.
Reply




Users browsing this thread: 3 Guest(s)