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
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).
Another method is to save the config as a template. The whole situation is so frustrating because before the switch to the Deck UI there was another tab which listed your configs for other games. I hope they bring that tab back at some point!
I went ahead and saved this post cause I might need it again later. thank you so much for this.
Hell yeah, it was a pretty big headache and buzzkill for me having to fumble around making an entirely new layout for every new game when I knew I already had one for another game that was perfect.
I hope it helps you get on your steam deck more and have even more fun!
gods, I know what you mean. I named my most recent layout “Ugh” out of frustration for it not working well.
thank you so much again!
edit: a comma =P
Good explanation! And thanks for the CoreHunt suggestion :)
Some more info on the Csuite core apps like corekeyboard and corehunt.
quoted explanation of rationale behind Csuite
“In an era marked by the rise of low-power, touch based devices, the incorporation of Linux into such platforms has become an equally inescapable trend like Steam Deck, Raspberry Pi. While KDE, GNOME, and other desktop environment (DE) apps flourish, predominantly catering to high-performance personal devices such as laptops and desktops, a void persists in the realm of lower-end, touch-based counterparts that offer a good user interface while using less resource. Stepping into this void is the CoreApps Application suite, in short CSuite, made by CuboCore Group. Every facet of our suite has been thoughtfully engineered to address the unique demands of the lower-resource, touch based landscape.
All of our apps are designed to be touch-friendly, catering to devices such as the Steam Deck, Linux phones, and tablets. We are actively working on ensuring this compatibility.
Our apps are optimized to run on low-resource devices like Raspberry Pi, even in the absence of hardware acceleration.
Our apps are lightweight, with minimal dependencies, efficient RAM and CPU usage. Bookmark support across all CSuite apps and system apps centralizes your important files, allowing you to access them from one unified app.
Our apps make effective use of vertical screen real estate, displaying essential information and prioritizing user-relevant content in the limited screen size.
The Recent Activities feature in the CSuite apps displays all opened apps alongside their corresponding files. Double-clicking restores the app along with the previously worked-on file.
We adhere to C++17 coding standards, ensuring clean and tested code in the latest release of the Qt framework.”
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
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.