Jump to content

PSA - SteamInput Controller Issues (PC Steam Warframe Users)


[DE]Taylor
 Share

Recommended Posts

Hi Tenno,

For those of you who use controllers on the Steam client for Warframe, we are aware of some issues relating to controller inputs. With Echoes of Duviri’s launch, we did post a clarification on how to fix lost controller support for those experiencing it, found here: https://forums.warframe.com/topic/1361266-lost-controller-support-on-pc/#comment-12839111

Quote

“[W]e just updated the Recommended Official Layouts (we couldn't do this until we'd released the update and there was some difficulty getting them ported over from our Test cluster).

If you're using Steam Input for Warframe (ie: for a PS4 or Steam Controller that doesn't work with the native XInput) restart Steam to refresh the list, edit your Warframe Controller settings in steam, select a layout, and you should see an updated recommended layouts for Playstation, Xbox, Nintendo Switch, Steam, and Steam Deck controllers now:

image.png

 

Further Issues Following Each Update:

If you are seeing custom controls being reset with our hotfixes, this is due to us publishing fixes for SteamInput, which invalidates custom layouts. We have been actively working on SteamInput (and by extension, SteamDeck) changes but excluded them from our patch notes until we had more news about the status on ongoing issues for our SteamDeck players* -- with that said, we understand that this decision may have led to even more player confusion.

To recap the fixes done to the SteamInput system over the past week:

Echoes of Duviri: Hotfix 33.6.1 

  • Fixed Archwing blink when using Steam Input.

Echoes of Duviri: Hotfix 33.6.3

  • Fixed Shawzin inputs not functioning properly with Steam Input. 

As for further Steam Input fixes, we usually like to get you fixes ASAP however, because of the way Steam Input works, almost every fix we make will invalidate all customized layouts. As a result, we're trying to bundle up as many fixes as possible before sending out another update.

 

* For our SteamDeck players, we are actively working with Valve to resolve various issues. Once we are closer to a resolution on these, we will post a separate PSA pertaining to that situation. Thank you for your patience on this matter!

  • Like 5
Link to comment
Share on other sites

Truly appreciate the insight and next steps Taylor. Still, I must state that there seems to be not a single official word on the lack of native XInput support on the Steam client even when turning off Steam Input API, which should allow the game to handle this properly. The rest of versions seem to function properly, including the standalone one provided directly by you through the website, so we're all scratching our heads here.

Many users are clearly angtry about that and I was wondering if you could share something regarding that as well to understand what's going on here.

Thank you!

  • Like 2
Link to comment
Share on other sites

I'm gonna be very, very blunt here.

your SteamInput implementation has gotten outdated over the years, and instead of trying to keep it up to date with Warframe's constant overhaults; it's been left in the dust for years. As Warframe continues changing the gameplay format overtime, the SteamInput implementation...which was intended for the older system from...i dunno; back in 2016-2017(?) it becomes jank and jankier overtime, it has gotten to the point that Game Actions starts to break and it's unplayable on Steam Deck without workaround...

After hearing about the last major update FINALLY going back to Steam Input after two years of inactivity (keep in mind: DE originally wanted to remove it before user feedback told them why they shouldn't), I was finally hoping they would completely overhaul the entire config to be up to 2023 Warframe gameplay standards (like how No Man's Sky constantly keeps their SIAPI up to date), but instead:

1. Disabling XInput/PlayStation Input API in favor of SteamInput despite being borked/janky for years.
2. Still using the same old janky config system.
3. CTRL+C and CTRL+V'd newly added Controller Type configs, you can immediately tell by the Nintendo Switch and PlayStation configs. (Switch Controller's face butttons aren't mirrored for Menus and PlayStation's Touchpads are assigned as a D-PAD for Gameplay, where it was meant for Steam Controller in mind.)
4. Finally fixing Launcher action set, at least that's something.

This isn't the way to go, and I argue that it'll get worse until serious addressment gets addressed.

So please, either re-enable XInput/PlayStation Input API while you guys actually fix SteamInput implementation in the meantime, or remove SteamInput completely (like you guys originally planned to do so two years ago) and re-enable XInput/PlayStation Input API.

Edited by Al-chan
  • Like 3
Link to comment
Share on other sites

Thanks, it seems you're starting to grasp the system (about time). I have hundreds of hours using Steam Input (SIAPI), and most of those were solving headaches with Steam Input's UI.

Here's some outliers from the current config:

1. Remove "Launcher" Action Set. No need since Valve has added support for all the launchers years ago, it's redundant.
2. Remove the "Melee" Action Set. No need for it since Melee Channel isn't a thing anymore, just move the SIAPI call to Secondary Fire. Again, it's redundant.
3. Add a "Drifter" Action Set ASAP. No sure why you added Shawzin and not Drifter.
4. Add Xinput support back. No reason to keep it disabled.

And please do try to give continous support to it, else, it's going to break in a couple years when you add a new mode or item.

Edited by notNSANE
  • Like 4
Link to comment
Share on other sites

assuming your sticking to this and not going back, there needs to be an option for us on controller to use show mission progress view. i used to have it bound to my dpad but now since you guys didnt add an option for it, im forced to pause the game and have my teammates wait on me while i could otherwise play and check at the same time

  • Like 3
Link to comment
Share on other sites

Chiming in to highlight a particular issue for Steam Deck users.

From what I understand, WF is hard-coded to lock itself into controller mode if it detects one plugged in on startup. Trouble is, this makes it impossible to navigate any menus (including the login screen) with a keyboard and mouse, and breaks text chat entirely. And because the Steam Deck has a controller built in, WF will always boot into controller mode.

The current workaround is to use a "non-steam game" shortcut and launch option to bypass the Steam Input API (thread link: https://forums.warframe.com/topic/1319910-steam-deck-keyboard-and-mouse/?do=findComment&comment=12735044 ), but it'd be much better to have WF adapt control methods on-the-fly.

Full disclosure: I don't play on Steam Deck anymore, because I use AlecaFrame and haven't had any luck getting that to work on linux.

  • Like 3
Link to comment
Share on other sites

Thank you for the update and transparency on this issue, I know it'll help with players' frustrations as they see you're aware and working towards some resolution on this!

21 hours ago, [DE]Taylor said:

because of the way Steam Input works, almost every fix we make will invalidate all customized layouts

I'm definitely not super knowledgeable on the innerworkings of Steam Input API stuff, but I'm curious if anyone could explain - is there any particular reason the custom templates get invalidated on an Official Template push? I know the default gamepad template has some issues due to XInput weirdness that's going on currently (not quite sure how that would be handled, since it works just fine with Steam Input disabled and indicates the engine is still coded to handle it), but do the custom templates just need to be "updated" again in some way to work again, or do users have to reconfigure them all due to some action set changes?

I'm mainly just curious what's invalidating them and how they can work again (once everything is fixed of course), since a lot of users have spent hours curating their own control schemes for accessibility purposes and personal preferences. I know this is no easy task trying to code every single action in multiple game states to correspond with some input on a myriad of controllers, but hopefully this can be resolved soon!

Edited by Naroxas44
missed typing a word :(
  • Like 1
Link to comment
Share on other sites

I appreciate the update, the fixes to profiles messing them is a conundrum but one that has to be dealt with I guess. If you're looking into the Deck and BPM compatibility though at DE I do appreciate it. I don't have a deck but there have been some issues I'd been wanting DE to look at related to launching the game from BPM for quite a time and it might be the time to really update that while you're at it. I've had a steam controller since release day and while mine are on the fritz so I'm using xinput more now if I bother to (though I usually only play casual-mode on pad tbh) because of this I have a LOT of experience using steam input since it's inception in 2015ish.

In the mean time though, if there's anything small tip I can tell you, it's for the love of god, please turn Xinput back on. I don't know why you guys disabled it via Steam, but before this patch, anyone could have just chosen to use the Generic Xinput Template, and then their stuff would just work like a regular Xbox pad, allowing them to bind things in game too if they wanted to, coincidentally this is also the workaround I was giving people to fix input issues temporarily when the Drifter issues arose in this patch, but it no longer works because of this blockade. This option went out the window with this revamp, unless you have an official Xbox pad and disable Steam Input entirely, which many of us do not, and personally I had other cool stuff in my Steam Input profile edited in a regular Xinput template that no longer works, not because of the Steam Input API game actions or anything, but purely because you guys have seemingly disabled Xinput, I don't know why, but please turn it back on. Even if it's not a whole profile, using individual buttons inputs can sometimes be used to fix glitches in the profile that happen over time when you guys can't get to updating the layout too, which is pretty imperative since I can't stress enough, while these issues did not inflate to a breaking point until the drifter thing, these issues you guys are just fixing now, like Archwing Blink, are NOT new, I have not had that functional since the day blink was added to the game, also the fishing/conservation/railjack command UIs have been broken forever as well basically. I know you have limited resources for a smaller limited audience, and I understand that, but I just think if you can't dedicate more time to it, leaving work arounds in place is a really, really, good idea.

I actually got linked here from another post, where I got pretty verbose about things that could be fixed with big picture mode, (mainly being locked into that super old gamepad mode) which would also effect Deck and would offer some of those opinions, there's no point in Copypastaing it though, so I will just link that post here:

 

3 hours ago, Naroxas44 said:

Thank you for the update and transparency on this issue, I know it'll help with players' frustrations as they see you're aware and working towards some resolution on this!

I'm definitely not super knowledgeable on the innerworkings of Steam Input API stuff, but I'm curious if anyone could explain - is there any particular reason the custom templates get invalidated on an Official Template push? I know the default gamepad template has some issues due to XInput weirdness that's going on currently (not quite sure how that would be handled, since it works just fine with Steam Input disabled and indicates the engine is still coded to handle it), but do the custom templates just need to be "updated" again in some way to work again, or do users have to reconfigure them all due to some action set changes?

I'm mainly just curious what's invalidating them and how they can work again (once everything is fixed of course), since a lot of users have spent hours curating their own control schemes for accessibility purposes and personal preferences. I know this is no easy task trying to code every single action in multiple game states to correspond with some input on a myriad of controllers, but hopefully this can be resolved soon!

The reason for this, is the same as it would be for any profile on there, really. Let's say you pick a popular profile from the public, enjoy it, but tweak it some, then that guy updates it later, well you can't merge their updated profile with yours, you either have to make the changes they did to your tweaked one, if you want them, or get theirs and put your custom ones back on it. That's the most basic way of saying it I guess.

But it's deeper than that with the actual Steam Input actions and stuff. Reasoning being things like Action Sets for example. This update added an action set for Shawzin for example. Because of this, all the old ones, don't have that action set built into them, so they won't have it. Also they have actual actions via the API too, so they can make things like "Shoot" and "Jump" and have those actions send directly to the game instead of "Xbox A" or "Spacebar." If they added any new named actions that come through the API too just like those ones, as opposed to Steam Input actually pressing hard buttons, it would also be a problem as well, in that the old profiles would be lacking the newer actions available.

20 hours ago, The1AndMany said:

Chiming in to highlight a particular issue for Steam Deck users.

From what I understand, WF is hard-coded to lock itself into controller mode if it detects one plugged in on startup. Trouble is, this makes it impossible to navigate any menus (including the login screen) with a keyboard and mouse, and breaks text chat entirely. And because the Steam Deck has a controller built in, WF will always boot into controller mode.

The current workaround is to use a "non-steam game" shortcut and launch option to bypass the Steam Input API (thread link: https://forums.warframe.com/topic/1319910-steam-deck-keyboard-and-mouse/?do=findComment&comment=12735044 ), but it'd be much better to have WF adapt control methods on-the-fly.

Full disclosure: I don't play on Steam Deck anymore, because I use AlecaFrame and haven't had any luck getting that to work on linux.

Try launching it from the steam deck desktop instead of BPM UI. I don't know how it works on deck, tbh, but this exclusive console style mode has been a thorn in the side of regular Steam Input users for years. I have asked DE to make it optional or remove it many times, especially since they updated the controller model you get normally when launched from desktop mode now, but it's continually fallen on deaf ears sadly. But yeah, the BPM launch, does two things that suck, it forces you into the console style mode with no way out, it also forces you into an older input model for the game, steam input aside, DE had a big controller revamp a few years ago (the one that made the gamepad work like Destiny in menus et al) and this update is basically completely ignored launching from BPM as well, it was never made for it. But yeah, they did that controller revamp thing a few years ago, but they only applied it to running the game in desktop, not from BPM. On desktop PC, you can usually evade this deprecated UI by launching via desktop, but I understand that is extra annoying on a deck, or on a steam link remotely too, for that matter.

  • Like 1
Link to comment
Share on other sites

1 hour ago, Drex83 said:

But it's deeper than that with the actual Steam Input actions and stuff. Reasoning being things like Action Sets for example. This update added an action set for Shawzin for example. Because of this, all the old ones, don't have that action set built into them, so they won't have it. Also they have actual actions via the API too, so they can make things like "Shoot" and "Jump" and have those actions send directly to the game instead of "Xbox A" or "Spacebar." If they added any new named actions that come through the API too just like those ones, as opposed to Steam Input actually pressing hard buttons, it would also be a problem as well, in that the old profiles would be lacking the newer actions available.

Gotcha, that explanation about the actions tracks with the valve documentation I read too (https://partner.steamgames.com/doc/features/steam_controller/getting_started_for_devs), at least about them mapping actions directly from Steam Input rather than say, button presses. So I can understand the newer templates containing things that older ones don't and those wouldn't work (like Shawzin, for example), but it seemed to break the custom templates unanimously, even with the existing actions (like movement, camera movement, opening the chat menu, etc.).

I looked into this more but I can only hazard a guess - some custom templates (the most popular ones I viewed) use the "gamepad button press" for certain actions; if XInput isn't working properly with Steam Input enabled, I'm guessing this is why a lot of them are broken, if it's trying to simulate that button press via a "generic Xbox gamepad button" but not accepting those inputs at all. The new Official Templates have actions directly mapped (i.e. "Look", "Move", "Sprint", etc.) so that's the only answer I can think of. Otherwise, a lot of the existing actions should have the same names, so it's weird that the templates would suddenly stop working.

  • Like 2
Link to comment
Share on other sites

Yeah I haven't played with the older ones to know if they're 100% broken or not but anything relying on Xbox Xinput pad inputs are locked. They seem to have blocked Xinput entirely if Steam Input is enabled, which is really not a good idea. It's hurting the ability to use the default gamepad template and just play Xbox style, as well as inhibiting fixes. Like for example I don't recall how I had it setup, but I had that Archwing Blink bug fixed with a workaround I made up that didn't break anything else by using an Xbox input. Similarly, I had the Railjack Command Menu working as well, in a similar way, using Xbox inputs, but it wouldn't have been possible to do these fixes ourselves with the current changes.

Link to comment
Share on other sites

On 2023-08-04 at 5:54 PM, Drex83 said:

I don't know how it works on deck, tbh[...]

No offence, but that's pretty obvious. Potted history of my experience with WF on Steam Deck below:

I prefer to play most shooters with KB+M if possible, so my first attempt (after some basic testing to make sure WF runs at all on Deck) was to switch to Desktop Mode and launch from outside of BPM. It still refused to let me navigate any menus with the KB+M, going so far as to completely break the login screen. Launching from BPM or Game Mode was at least functional thanks to the on-screen keyboard, but still forced me to navigate menus with the controller, and more-or-less broke text chat to the point that trading with other players became impossible. The workaround I ended up using was to link the WF executable as a "non-steam game shortcut" and use a launch option to bypass the Steam Input API. (See the link in my last post)

As best I can tell, WF doesn't care if it's launched from BPM. It only checks once on startup to see if a controller is plugged in, and if so, assumes the player will be using that and locks itself into controller mode. And since the Steam Deck has a controller built-in that obviously can't be disconnected, that causes issues.

Later on I decided to just use Windows for WF going forward due to AlecaFrame compatibility, and uninstalled WF from the Deck, including that workaround. At time of writing, I'm away from my main gaming rig for a few weeks, so I'm having to use the Deck again for the Recall: Ten-Zero event, and put up with the borderline-busted controller implementation.

It's a shame, because aside from these controller issues, WF actually runs very well on Steam Deck. If DE were to fix it so that KB+M can navigate menus on Deck without a workaround, and if AlecaFrame were to add Linux support, I'd be more than happy to exclusively play it on Deck, and recommend that others do the same.

Link to comment
Share on other sites

  • 2 weeks later...
On 2023-08-04 at 5:54 PM, Drex83 said:

 

The reason for this, is the same as it would be for any profile on there, really. Let's say you pick a popular profile from the public, enjoy it, but tweak it some, then that guy updates it later, well you can't merge their updated profile with yours, you either have to make the changes they did to your tweaked one, if you want them, or get theirs and put your custom ones back on it. That's the most basic way of saying it I guess.

But it's deeper than that with the actual Steam Input actions and stuff. Reasoning being things like Action Sets for example. This update added an action set for Shawzin for example. Because of this, all the old ones, don't have that action set built into them, so they won't have it. Also they have actual actions via the API too, so they can make things like "Shoot" and "Jump" and have those actions send directly to the game instead of "Xbox A" or "Spacebar." If they added any new named actions that come through the API too just like those ones, as opposed to Steam Input actually pressing hard buttons, it would also be a problem as well, in that the old profiles would be lacking the newer actions available.

 

On 2023-08-04 at 7:32 PM, Naroxas44 said:

Gotcha, that explanation about the actions tracks with the valve documentation I read too (https://partner.steamgames.com/doc/features/steam_controller/getting_started_for_devs), at least about them mapping actions directly from Steam Input rather than say, button presses. So I can understand the newer templates containing things that older ones don't and those wouldn't work (like Shawzin, for example), but it seemed to break the custom templates unanimously, even with the existing actions (like movement, camera movement, opening the chat menu, etc.).

Whenever a game gets updated and a SteamInput config gets updated along with it: developers can either use Major Revision (aka: forcing everyone to use the updated config) or use a Minor Revision (only updating all existing configs but won't force anyone to use the new config).

Major Revision is only use whenever the amount of changes related to Controller Inputs that will requires overhauling the entire config in the process.

Minor Revision is only use when making very minor changes (like, adding one or two game actions that doesn't affect much, or very small fix.

here's a quick example: Left 4 Dead 2's The Last Stand update uses Minor Revision to update the SIAPI system but ensures all existing configs to work. while No Man's Sky relies on Major Revision for every major content updates, thus: the whole config will need to be revised.

for more info: https://partner.steamgames.com/doc/api/isteaminput#GetDeviceBindingRevision

for Warfame's case, despite the change looking very minor...DE seems to misuse "Major Revision" to handle any changes.

 

Edited by Al-chan
revised a bit.
Link to comment
Share on other sites

I'm having similar issues with my custom binds for WF on my Steam Deck. I get trying to make WF more controller friendly. However, this is really annoying as my custom binds would be an absolute pain (if not impossible) to remap with the new system. 

I don't know if it's just me being lucky but I've never had any issues before this change when using a controller. The fixed action sets is really nice tho so that's a big plus.

Link to comment
Share on other sites

On 2023-08-21 at 5:20 PM, Al-chan said:

Whenever a game gets updated and a SteamInput config gets updated along with it: developers can either use Major Revision (aka: forcing everyone to use the updated config) or use a Minor Revision (only updating all existing configs but won't force anyone to use the new config).

Major Revision is only use whenever the amount of changes related to Controller Inputs that will requires overhauling the entire config in the process.

Minor Revision is only use when making very minor changes (like, adding one or two game actions that doesn't affect much, or very small fix.

here's a quick example: Left 4 Dead 2's The Last Stand update uses Minor Revision to update the SIAPI system but ensures all existing configs to work. while No Man's Sky relies on Major Revision for every major content updates, thus: the whole config will need to be revised.

for more info: https://partner.steamgames.com/doc/api/isteaminput#GetDeviceBindingRevision

for Warfame's case, despite the change looking very minor...DE seems to misuse "Major Revision" to handle any changes.

 

Yeah, I'm not sure how much of a revision they can push through that way. I know this newer version has another action set or two that the oldies do not unfortunately.

Also they put in a big wad of new actions, I think it was for the gear wheel and/or emote slots, but it just shows variable names they're not like, properly labeled. Not sure how much of an update they need to do to polish that up either, but I don't remember those actions being there before but I could be wrong.

Link to comment
Share on other sites

  • 2 weeks later...

Old Input System. PLEASE!? The biggest issue for me. I can't hack anything with the controller for some reason. Using your default Steam Input Layout for DS4 controllers. I figured out a work around to the Archwing blink before you fixed it... hold x to move up and tap L1 to blink. Do it quick and it's almost the same. Problem. Doesn't work for activation the Railjack slide. Glide? idk what you call it. Same button. Similar function. Shift on keyboard. Nothing on controller. And the archwing fix didn't fix the rj. So. BIG ISSUE... Can't Hack... Acts like its going into the hacking screen and immediately backs out as if being double tapped. I have to hit x on my keyboard to hack things... even with the helminth autohack power active. Kills gameplay momentum. Probably do to it switching layout.. modes.. or whatever they are. PLEASE. Please just give us back the old system. Thank you for all the work you guys have put into this. Controls are one of the hardest parts to develop in a game, largely because you never know what a play will hit, when, in what combination, and what exactly will happen. Especially with so many supported control types... but. (and this is where I'm really confused...) It wasn't really broken until you tried to fix it? 

Link to comment
Share on other sites

  • 5 weeks later...

The way i play the game is with controller primarily, the layout i use is the same one used on xbox and playstation (gamepad template in steam input), but with a switch controller where i have set the capture button to toggle gyro on and off (i do the same on the steamdeck but use a touchpad press) along with some other minor tweaks through the steam input but using the normal gamepad template as the base, mainly because the official DE layout is terrible for me, it is cool that it is there and i can hook into the different functions of the game and its nice for those that want that, but if i want my A button to just be equivalent to a gamepad (xbox) A button press then the game should respect that (like it did before the duviri update) and not force me to use the exposed functions when the game has built-in controller support.

This has been impossible unless i use an old version of proton (7.46) for some reason and it is literally a crutch for the game to even stay playable for me, once this ceases to work i will pretty much consider not playing (but i want to keep playing) as i will not be able to replicate something as simple as the normal gamepad layout with the way DE forces its layout set (not to mention how well known it is to break or be forgotten in updates)

The only saving grace here is that i game on Linux and the "fix" is to use an older proton version, not really something you can do your gaming on windows if you did use steam input in a similar way to what i did and its my universal layout for any game that does not require analog triggers.

 

Below are 2 images of how "simple" of a layout i do use, steam input just offers the flexibility to use the controllers functions in games that otherwise does not support them and its great, with the changes to steam input introduced with duviri, this super simple layout is not usable unless i use an old proton version. And god forbid if i use windows, then there is no workaround as far as i could find out (at which point i would just not bother playing the game at all since i would literally not be able to play it)

JrL142H.png

Jsicc3z.png

Edited by HikariNite
  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...