STEAM-GRUPPE
Steam Client Beta SteamBeta
STEAM-GRUPPE
Steam Client Beta SteamBeta
12,003
IM SPIEL
61,352
ONLINE
Gegründet
8. Januar 2013
Alle Diskussionen > Bug Reports > Themendetails
Steam client is stealing dualsense controller inputs /forcing blank playstation support.
ISSUE

While the steam client is running, the playstation 5 controller will not be read as a valid input device in steam games (and a few non-steam games) wired or wireless.

OS
Windows 10 22h1

STEPS

Open the steam menu
Head to options
Under controller settings, disable playstation support.
Load games with dinput support but not dualsense support
(tested games include Monster Sanctuary, Totally Reliable delivery service(TRDS), Katamari Damacy REROLL, and Outer Wilds for broken games on steam. Non-steam games include Totally Reliable delivery Service, and Outer Wilds on microsoft store)
Exhibit the games not responding to controller inputs 1-2 seconds after the game starts.

If running a game not on steam that is only dinput and not dualsense enabled (TRDS), the game will not read the controller as long as steam is running.


Another tell is with playstation support disabled, the dualsense controller will read as player 1 instead of blank player numbers. Without the steam client running, the player numbers will remain blank and the controller will operate as expected.

RESULTS

Controller is non-functional for majority of games while running the steam client.

EXPECTED

Controller works like it did prior to the june 17th(?) build. Enables dinput in games, recognized as a playstation controller, etc.
____

I noticed this at the beginning of july, having last played at the end of may. I've fiddled around a bit to figure out what the cause was, but the ultimate fix was to turn off steam. This is obviously a no-go for the games I own on steam... Enabling playstation support solves it but limits me to using steam's desktop profiles, xbox button prompts, and xbox limitations in the games (eg. no native touchpad.)
< >
Beiträge 3145 von 58
Elwyr 3. Dez. 2022 um 15:10 
I can't get this to work. Desktop mode is disabled, controller is unhidden. I've made the batch files and the environment variable, files run as admin. I'm trying to run Final Fantasy 7 Intergrade. I've power cycled repeatedly and obsessively. I've tried regular steam mode, new big picture/steamdeck mode, old big picture. No matter what combination I use as far as any of those interfaces, steam input enabled or not, variable 1 or 0, I cannot get this thing to see a PS5 controller. If I understand correctly it should be variable 1, steam input off, interface probably irrelevant, but it doesn't matter. No combination works. Is it just FF7?
Zuletzt bearbeitet von Elwyr; 3. Dez. 2022 um 15:13
@Elwyr
I've seen this note from the PC Gaming Wiki, so I'd consider that first:
Some controllers (e.g. DualSense) do not function correctly over Bluetooth if they are powered on and connected prior to launching the game. The game does not always recognize the type of controller when connected via Bluetooth. This will result in generic, difficult to parse, numbered button labels in-game. It will also require you to rebind all of the buttons on the controller, as it will by default automatically bind only the d-pad, accept, and cancel buttons in this scenario.
https://www.pcgamingwiki.com/wiki/Final_Fantasy_VII_Remake_Intergrade#Controller_detection_oddities

Elsewhere on the page:
Some controllers may need to be powered on after launch to function properly. PS5 controllers over Bluetooth are detected as generic controllers and require rebinding in the menu.


Following that, for settings I'd suggest this:
Per-game Steam Input disabled
Also PS Configuration Support disabled
(The wiki doesn't mention the game using the Steam Input API but it doesn't hurt to also disable this. In the past with Mafia and Mafia III (Steam Input API games) turning the per-game Steam Input to OFF hadn't been enough to fully disable Steam Input aspects - it also required Config Support being disabled. It works properly now for those games though. I'll test out how things go when )

Interface shouldn't matter.

Set the variable to 0 (Dinput Mode).
(From what's written in the wiki leads me to believe the game supports the DualSense with DirectInput, but anyway if a game supports enhanced mode (and doesn't use SDL/Steam Input API) it'll switch the controller to enhanced mode for itself.)

Test the controller is working in Dinput mode:
- Have Steam running.
- Run joy.cpl (press Windows key + R, type: joy.cpl, choose OK)
- Select the controller > Properties
- Move the sticks/press buttons. If in Dinput mode, the Test screen should reflect controller inputs
- If nothing, close the test window, power-cycle controller, re-do the test.
- If still nothing, check the code in the batch file / System Properties > Environment Variables

(Can also partially judge mode by the lights: if not Blue, or has white player indicator light then you know its in enhanced mode. Blue and no white player indicator doesn't always mean its in Dinput mode though, so good to check with joy.cpl.
(focus needs to be set to the test screen btw. if its open but focus is elsewhere it won't be reading the inputs, so click in the test screen window))

Don't think I'm missing anything so test out how things go with the game :)
Zuletzt bearbeitet von tintingaroo; 3. Dez. 2022 um 16:52
Elwyr 3. Dez. 2022 um 21:05 
Thank you very much. That first part with only the dpad, confirm, and cancel definitely happened. I'll give your suggestions a shot. Really appreciate it.
Zuletzt bearbeitet von Elwyr; 5. Dez. 2022 um 13:59
Elwyr 5. Dez. 2022 um 14:19 
I think steam is trolling me. joy.cpl works as expected, lights indicate the correct mode as well. Global disabled, steam input disabled globally and per game, dinput mode on (variable 0), don't power on until in game. Does not work in FF7, no input registers. Does not work in God of War, no input registers. Works in... Untitled Goose game... So at least my 4 year old has the right button icons now, haha. I don't know if that one uses SDL or not though, or if that's relevant. Maybe GoW and FF7 only work wired for whatever reason, unless someone else got it working.

I have 1 hour playtime in FF7 and have never left the starting main menu, haha.

EDIT: doesn't work in A Plague Tale which is listed as supporting PS5 wirelessly. Seems it works with games that support PS4 (Goose Game, Alba) which is an improvement over what I had previously. I guess I'm just SOL on PS5 games for the time being.

Last edit because I have to move on with life, haha: If I restart the computer and NEVER turn on the controller until A Plague Tale is running, it recognizes it as a playstation controller, but rumble doesn't work. FF7 and GoW still don't recognize any input. That's it for me for a while.
Zuletzt bearbeitet von Elwyr; 5. Dez. 2022 um 17:06
lol UGG > GoW+FF7 :D

I think you got it. GoW apparently only natively supports the wired DS5
https://steamcommunity.com/app/1593500/discussions/0/4772129115119646615/#c4772129115120130258
Reading this suggests they query Steam what the actual controller is and display prompts on that https://steamcommunity.com/app/1593500/discussions/0/3176729019418599158/, The user says to enable Steam Input globally and per-game but I would think per-game would be enough. With that enabled it should work with the controller in Dinput mode or enhanced, but with enhanced you'd get rumble and could map buttons to touchpad actions (swipes, left/right side clicks etc) and gyro in Steam's controller config.
I believe DS4Windows emulating a DS4 would give you all of the experience of enhanced mode but also with light bar interaction (and native gyro if the game uses it) - basically all of the wired experience but over BT.

Checking things out, UGG is using the Unity plugin Rewired. That supports the DualSense in enhanced mode so I believe it should have switched the controller to that mode. So for UGG setting per-game Steam Input to disabled should do to give you PS prompts + functioning controls.

FF7
It should at least function with Steam Input enabled (I had been thinking you were after the game recognising you were using a DualSense/ get PS prompts). Mode nor plug-in order should matter if Steam Input is enabled.
Do you have the game on Epic or Steam? Does the Steam overlay function with the game (try the Shift +Tab keyboard shortcut)?

Reading of your experiences it doesn't seem like you need Dinput mode (not sure what Alba uses - I've got it on Epic and will see how things go) apart from, I'm thinking, FF7 and it functioning while recognising the controller is a DualSense.
Elwyr 5. Dez. 2022 um 19:03 
I want it for things like the adaptive triggers mostly. My brain has gotten used to the Xbox prompts, but the PS prompts are still nice to have. (I have to tell myself that or I just wasted like 10 hours, haha.) I'll just go wired for the other stuff for now until Steam fixes this thing and saves me. Thanks again for all the help.
Ursprünglich geschrieben von wagazz:
Ursprünglich geschrieben von tintingaroo:

You can create, edit or delete environment variables with a visual interface via: Control Panel > right-click System > Open > select Advanced system settings > Environment Variables...
(Or can tap Windows key and start typing environment and it should display 'Edit the system environment variables, or could type advanced to get 'View advanced system settings')

Create a new System variable
variable name:SDL_JOYSTICK_HIDAPI_PS5_RUMBLE
value = 0 (remain Dinput/don't switch to enhanced mode), or 1 (switch to enhanced mode)
OK > OK
Power cycle controller to change modes after changing the variable value
Delete the variable & restart Steam for things to go back to regular operation.

This worked perfectly.
Excellent
paperc07 2. März 2023 um 16:02 
@tintingaroo Just recently my steam started messing up again. I had it working perfectly and I don't know what happened. I don't want my Steam to pick up my ps5 controller cause it's being used for something else. I have went it to controller settings and disabled the ps5 controller, I've hid it, I have went into the game I want to play (hogwarts legacy) and I have disabled it there. No matter what I do when I launch Hogwarts Legacy it picks back up the ps5 controller, I want to only play hogwarts legacy using my xbox controller. If anyone can help me I would greatly appreciate it, I had it fixed up until like a week ago, now I went to play again and it's messed up
Zuletzt bearbeitet von paperc07; 2. März 2023 um 16:08
@paperc07

Hmm, I'm thinking this for a quick test:
- Have PS5 controller hidden via Steam's Hide Device.

- For Hogwarts Legacy, enable Steam Input (right-click game in Steam Library > Properties > Controller > select Enable Steam Input).

On Windows, when Steam Input is enabled in the per-game setting it means all and only controllers that are going via Steam will be sent to the game as an emulated device, others are blocked. So the DS5 should be blocked and the Xbox not.
(When per-game Steam Input is disabled (or set to default and PS Config Support is disabled) the game will get the PS controller, it just won't be going via Steam.)

See if that goes for you as I say...

Then I'm thinking, since with Steam's current Hide Device the BT DS5 still gets switched away from it's simple mode, couple the Hide Device with the variable that means Steam won't be switching the controller (perhaps you're already using it??) Check the post above yours for the variable stuff.


Or rather than that combo, could set just the following variable to hide the controller from Steam (and in doing so also prevent the switching - like Hide Device used to do back in the day).
variable name: SDL_GAMECONTROLLER_IGNORE_DEVICES
Value (include the quote marks): "0x054c/0x0ce6"

Note with this Steam won't be displaying Unhide Devices - well, unless there were other controllers hidden via Hide Device. Would need to remove or edit the variable (changing the name is easiest) when you want Steam to be able to detect it again. Also, unlike Steam's Hide Device, setting or removing the hide requires restarting Steam if its already running.
So, more effective than current Hide Device on a BT DS5, but less convenient. :D
Zuletzt bearbeitet von tintingaroo; 2. März 2023 um 19:00
Using ds4windows with 8BitDo Pro 2 set to A mode using usb connection to emulate a ds4 controller windows sees wireless controller.
So it does not trigger the force enhanced mode switch which is done if BT check fails bomcu.
ref: https://discourse.libsdl.org/t/sdl-sdl-hidapi-ps4-c-sdl-hidapi-ps5-c-use-sdl-zeroa/33482

windows sees wireless device which gets described as "6 axis 14 button device with hat switch" in Game Controller Settings
Steam does not show any button for Define Layout for the detected PS 4 Controller which indicates it is just letting ds4windows do its thing. Switch steam input off for game and ps configs off.

It may be possible to use ds4windows with ps5 controller in steam without hiding device too. Seems to be th eonly way to get ps button prompts working in steam gui's after latest steam beta client updates.
Zuletzt bearbeitet von Balderick; 3. März 2023 um 15:25
With the new beta and new attention on the client, I just want make sure this is still listed as an active and relevant problem.

Dualsense still loses its native inputs while steam is active, removing the ability for games to utilize the standard dinput modes of the controller. This applies to emulation, non-steam games with dualsense support, and even steam games that feature native dinput but not enhanced dualsense support. This applies when steam input support is disabled.

:steamthumbsup:
What is the recommend configuration for running steam games that do not natively support PS5 controllers? Should I be running Dinput or enhanced mode and should Desktop Config be enabled or disabled. The particular game I am running is Halo Infinite.
Use enhanced. Steam Input can then provide rumble, gyro, touchpad & lightbar support.

Dinput mode would be wanted when connected via BT for native support in games that support the DualSense with Dinput (or if something is up with Steam's support of enhanced mode, and maybe if issues with multiple PS controllers over BT???).

Should be able to leave the Desktop Config enabled or disabled - however you already have it.
Zuletzt bearbeitet von tintingaroo; 9. Mai 2023 um 14:18
Ursprünglich geschrieben von tintingaroo:
Use enhanced. Steam Input can then provide rumble, gyro, touchpad & lightbar support.

Dinput mode would be wanted when connected via BT for native support in games that support the DualSense with Dinput (or if something is up with Steam's support of enhanced mode, and maybe if issues with multiple PS controllers over BT???).

Should be able to leave the Desktop Config enabled or disabled - however you already have it.
I don't really care for any of those features. But what is enhanced mode exactly and are their any input lag advantage of using Dinput vs enhanced mode when actions have to be converted over to xinput?

I have tried both options very briefly and I notice that my sensitivity while using enhanced mode is faster though I am not sure if that necessarily equates to being more responsive.

Edit: To answer my own question SDL (Simple DirectMedia Layer) is a cross-platform software development library designed to provide a hardware abstraction layer for computer multimedia hardware components.

Setting SDL_JOYSTICK_HIDAPI_PS5_RUMBLE to 1 will allow playstion controllers to work in games that support SDL(most games) but do not natively support playstation controllers — checking the box to enable playstation configuration support in steam is no longer needed. It is still required that the ps5 controller mapping file be present in the controller_base folder in the steam directory otherwise only the controller's touchpad will function.

Found this list of SDL environmental variables which explain what they all do. I wonder if I can set one of these so that my controller is treated like an xbox controller bypassing the steam mapping file altogether. I will try later today.

https://metacpan.org/pod/SDL2::hints#SDL_HINT_GAMECONTROLLERTYPE
Zuletzt bearbeitet von Prolific; 10. Mai 2023 um 8:36
Ursprünglich geschrieben von tintingaroo:
Use enhanced. Steam Input can then provide rumble, gyro, touchpad & lightbar support.

Dinput mode would be wanted when connected via BT for native support in games that support the DualSense with Dinput (or if something is up with Steam's support of enhanced mode, and maybe if issues with multiple PS controllers over BT???).

Should be able to leave the Desktop Config enabled or disabled - however you already have it.
i couldn't make it work with your earlier explanation. could you make a video of it ?
< >
Beiträge 3145 von 58
Pro Seite: 1530 50

Alle Diskussionen > Bug Reports > Themendetails
Geschrieben am: 11. Juli 2022 um 16:50
Beiträge: 58