So here I am. Brand new PC. Game controller drivers installed and devices connected. DCS is installed and launched. It’s all great.
The only thing left to do was copying my input config files from my old “Saved Games” folder (e.g. C:\Users\ [YourName]\Saved Games\DCS.openalpha\Config\Input) to their new destination.
Or so I thought.
The issue is, that all my devices received new IDs. And all .lua-files containing each controllers configuration have that ID in their file name.
I was facing a tedious copy and paste rename-task that could easily take well over half an hour.
I instead chose to try something else:
In DCS, I change the default axis assignment for each device by clearing each category (and hereby effectivly removing all assignments). After that I quit the game and checked by Saved Games folder. Tada: New files with new IDs.
Copy both, old and new file name to a notepad. Delete the new files and we’re ready for the final part.
The rest was some google-fu and fiddling a little bit with windows command line.
The goal is to recursively rename all old files in all subfolders of the config folder.
Open a new command line and go to your C:\Users\ [YourName]\Saved Games\DCS.openalpha\Config\Input folder.
First let’s create some snapshot of file names and dirs first:
for /r %i in (*.lua) do @echo %~nxi %~fi >> C:\temp\pre-files.txt
for /r %i in (*.lua) do @echo %~fi >> C:\temp\pre-dirs.txt
We can sort the pre-files.txt with notepad++ to identify which modules have a configuration file for this device.
The pre-dirs.txt gives us an overview which module has files for which device.
Next prepare a command for each device (pay attention to substitute the correct file names for your system. Here are the devices for my PC:
for /r %x in ("BU0836X Interface {AC6A2B50-63BE-11e0-800A-444553540000}.*") do ren "%x" "BU0836X Interface {456AEF20-F15C-11e6-8005-444553540000}.*"
After entering this command you should see a list of all renaming actions. We will review this later. Let’s continue with more devices:
for /r %x in ("F16 MFD 1 {CE60D840-95FE-11e0-8001-444553540000}.*") do ren "%x" "F16 MFD 1 {ABD05020-F15C-11e6-800A-444553540000}.*"
for /r %x in ("F16 MFD 2 {953786A0-9602-11e0-8002-444553540000}.*") do ren "%x" "F16 MFD 2 {AB4A0920-F15C-11e6-8009-444553540000}.*"
for /r %x in ("Logitech G940 Joystick {AC69B620-63BE-11e0-8006-444553540000}.*") do ren "%x" "Logitech G940 Joystick {D3C26F90-F158-11e6-8002-444553540000}.*"
for /r %x in ("Logitech G940 Throttle {AC69DD30-63BE-11e0-8007-444553540000}.*") do ren "%x" "Logitech G940 Throttle {D3C26F90-F158-11e6-8003-444553540000}.*"
for /r %x in ("MFG Crosswind V2 {47912E70-8AB8-11e4-8001-444553540000}.*") do ren "%x" "MFG Crosswind V2 {4C1468B0-F15C-11e6-8008-444553540000}.*"
My Saitek Throttle Quadrant used updated drives which changed the device name. No problem. Just make sure you put the right file name in:
for /r %x in ("Saitek Pro Flight Quadrant {AC6A0440-63BE-11e0-8008-444553540000}.*") do ren "%x" "3-Achse 9-Taste Joystick {456B6450-F15C-11e6-8006-444553540000}.*"
Finally some snapshots of file names after the command line voodoo.
for /r %i in (*.lua) do @echo %~nxi %~fi >> C:\temp\post-files.txt
for /r %i in (*.lua) do @echo %~fi >> C:\temp\post-dirs.txt
You can now use notepad or tools like WinMerge to compare pre- and post-action. You should double check that new file names match the one you have copied to your notepad earlier.
Now you can launch DCS and check whether your modules have the old input configuration.
P.S.
In the end this took me longer than half an hour to fiddle and test but is was way more fun and you have a nice guide now.