TerryCavanagh / VVVVVV

The source code to VVVVVV! http://thelettervsixtim.es/
Other
7k stars 559 forks source link

Issues with new official controller layout settings on Steam #1081

Closed Daaaav closed 9 months ago

Daaaav commented 10 months ago

There now seems to be some changes to the default controller setup for VVVVVV on Steam, which causes several issues in the 2.4 beta:

flibitijibibo commented 10 months ago

Believe it or not, 100% of this is by-design on the Steam client's part. I think they're rolling back the aggressive messaging of the 1st bullet in the beta channel but the rest is completely and entirely intended by someone at Valve.

The fix on our end involves multiple parts:

I'm on year ~8 of trying to fix Valve's mess, so don't get your hopes up on this getting any better until SDL_ActionSet's done.

Daaaav commented 10 months ago

So wait, is this normal:

https://github.com/TerryCavanagh/VVVVVV/assets/44736680/3261a071-e118-45bc-8391-616256c3c617

As in, can we only map to keyboard keys and not controller buttons?

flibitijibibo commented 10 months ago

It should still be possible to go into Steam's per-game controller settings and override it to use the gamepad-only layout.

Daaaav commented 10 months ago

So do I understand correctly, out of the box it would look like that, until users change their Steam settings manually?

flibitijibibo commented 10 months ago

Not when 2.4 launches - we'll be using the developer control panel to change it to use the gamepad layout by default:

https://partner.steamgames.com/doc/features/steam_controller/getting_started_for_devs#23

Daaaav commented 10 months ago

Ah okay - I thought the half-keyboard one was going to become the default 😄

Out of curiosity then, since I'm guessing there are good reasons for it - would it not be possible (as a developer) to opt the game out of Steam Input altogether? Like the Deck's controls requiring it to be enabled or something?

flibitijibibo commented 10 months ago

God, I wish. The most you can do is say that it's not supported and that's about it, I'd have been nuking it from orbit this whole time if I could :(

TerryCavanagh commented 10 months ago

Not when 2.4 launches - we'll be using the developer control panel to change it to use the gamepad layout by default:

https://partner.steamgames.com/doc/features/steam_controller/getting_started_for_devs#23

Hey, just to check, is this something where I need to make a change on the steam backend, or is it all under control?

(also, should I delete the old "Official" button mapping referred to here, or would just cause more problems? https://github.com/TerryCavanagh/VVVVVV/issues/875 )

flibitijibibo commented 10 months ago

It'll be taken care of, I can update the settings on my end at the same time as the depot updates. Everything should transition to the pure gamepad layout at the same time.

TerryCavanagh commented 10 months ago

Ok, good to know! Is this something we can test out before it launches, though, or does it require a new build?

flibitijibibo commented 10 months ago

The best way to test locally is with the config menu within Steam - when configuring a device it should give the option to look at templates, I'll just be selecting the stock Gamepad template.

flibitijibibo commented 10 months ago

With the latest Steam client beta, the latest SDL2 Git revision, and the latest VVV Git revision, Sony devices should now show up properly. Will do a rebuild in the morning but devs should be able to test right away!

flibitijibibo commented 10 months ago

This fix is now live on Steam for Linux, as long as the Gamepad template is in use this should now be fixed. We'll likely flip the switch for the template on release day, but depending on what the Deck Verified cert comes back with we may have to do it slightly earlier than that, we'll see.

Daaaav commented 10 months ago

Can confirm my PS controller now works properly on the Steam client beta!

flibitijibibo commented 10 months ago

Filing this for when I get back: Need to force disable button labels like FNA does when Steamworks is enabled, Switch controller behavior is double swapped so I need to get SDL to not swap internally to keep it from undoing our work...

flibitijibibo commented 9 months ago

Last-minute change to fix Nintendo devices not using Steam Input https://github.com/TerryCavanagh/VVVVVV/commit/b619f3808607fcba1043be7c98e8a48515c2b18d

The rest of the Steam template stuff is going live today, so we're good to go!