I have unfortunately not been able to figure out how to load controller configurations that I have shared to steam into games that weren’t the original game I made that controller config in. I click on the controller layout and it fails to load and reverts back to the layout I already had selected.

My recommendation (cobbled together from recommendations from others) for getting around this is adding the file manager “Dolphin” (steam deck already has it) as a non-steam game to steam as well as “Corehunt” (which you have to download from Discover, it is made by the same people that made CoreKeyboard). Or you can just use Dolphin and Corehunt in desktop mode.

https://flathub.org/apps/org.cubocore.CoreHunt

https://gitlab.com/cubocore/coreapps/corehunt

(you already have Dolphin)

Before I start, if y’all have a better way feel free to chime in and show me the light :P.

——

Go to the game you want to copy a controller layout into. Edit one of the default controller layouts, make a random change to it, rename the controller layout to a unique name like TARGET_game then export the file as a personal save (or a personal shareable save I can’t remember which).

———

In Corehunt, search for the file, Corehunt should find the file fairly quickly (it is muchhhh faster, fuzzier and more thorough than the other file search programs I have used on the Steam Deck so far). Note the file path.

———-

If needed, also search the name of the controller layout you want to copy into the game (name that layout something you can search for easily too).

————-

Navigate to the file path for your controller layout you want to copy, click split view in dolphin and then open up the controller layout for the game you want to copy the controller layout into (that contains your “Target_game” file) and… drag and drop copy!

————

Done! Now when you go to browse layouts for your new game, the layout from your old game will show up and be loadable.

Note… you can also look up your steam deck’s file path to controller layouts in a guide or documentation but the filepath is really annoying and one of the folder steps is your steam user-id… so I actually think this explanation is much more concise and easy to do. Just let Corehunt find the folder location for you and then pin it to Dolphin’s sidebar so you can quickly jump to it again.

Steam games should name themselves according to the name you have in Steam, but sometimes the folder name is a number (the steam game’s id number or something).


  • saintshenanigans@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    7 months ago

    I was going to build a simple profile manager program to help do this, but never got around to doing it. If anyone else wants to steal it, my idea was:

    Steam stores a single file holding each controller layout, it was going to be very jank because directly editing those files is tricky and could break things. Instead, the idea was that you would create a profile in steam’s interface as your default or desktop layout, and then my program would take that layout and back up the file as a different name, then when you wanted to swap between them the program would simply rename the files, all with a barebones ui maybe just displaying the profile names. Would work out of a console window if it weren’t for no keyboard lol

    • supersquirrel@sopuli.xyzOP
      link
      fedilink
      arrow-up
      1
      ·
      7 months ago

      Yeah, that seems like it would be nice.

      Honestly, this process is so annoying that I am also considering just sharing from my Steam Deck a Syncthing folder with the controller layout to my phone running Syncthing. Then every time I want to copy a controller layout to a new folder I could pull out my phone, create a new folder pointing to the folder shared from the Steam Deck containing the layout in question, and set the folder to “send only” (so edits are propagated back up, I edit the original controller layout file and let the edits propagate) and then share with my Steam Deck.

      It is basically the equivalent of mailing something to yourself, but I think it might actually be less of an annoyance than any of the other methods I have found (save for the one above, but the Syncthing method still might be faster) and I already use the shit out of Syncthing so I wouldn’t need to learn anything new.

      Hopefully one day soon Valve will fix this weird messed up state of affairs.

      Also, I wonder if you copied the controller layout and ran some kind of batch file copying command that placed the controller layout in every single subfolder of the config folder if that would be a good solution. This might be the easiest way to distribute your basic control scheme that you like to all your games (who cares if it is an option on games that it isn’t needed for). I don’t know how to do that though.