This is for you who have all your keybinds for all your modules and you reinstall your windows or upgrade your computer and you now have lost all your keybinds due to how the controls are named.
This powershell script will fix that and copy all your current keybind configs to your new device UUID.
This script will save you hours of rebinding.
Before you start
Make a backup of your config/input folder just in case.
On your new system, you need to identify the old and new UUID for your device. (this only needs to be done once)
sel ect one aircraft and navigate to that folder in your input folder, for example FA-18c_hornet folder, in the joystick section, you should have your devices listed, and they look different depending on what flight controls and manufacturer, but they all have a unique string of characters and number, example:
WINWING JOYSTICK BASE2 + JGRIP-F16 {E1324450-E7FF-11f0-8010-444553540000}.diff
A screenshot is attached to show what they could look like.
This part: {E1324450-E7FF-11f0-8010-444553540000} is the important one, copy this for all your relevant controls (flight stick, rudder, pedals etc) note that they all have different string, do not reuse the same.
Now when you have your old ID's, you need to gather the NEW ID, so best way is to just fire up your module you selected , in this case f18, do a keybind upd ate for each control and save (just one key is enough), this will make sure you have the new diff file with new ID. Go back to the f18 folder in input directory, you should see the new ID listed there, copy those and save it.
To easily get the string, you can click the file, and start to rename the file, that way you can copy the string without having to manually writing it down, so you can just copy paste with ctrl-c fr om the file explorer and ctrl-v into a document like notepad.
Edit the powershell script and put your old device and new device id's in it, then save and run the script.
Instructions:
1. copy script to your saved games folder\dcs\config\input
2. start windows powershell
3. execute "Se t-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass"
4. Navigate to the dcs\config\input folder
5. type command .\rename_uuid.ps1 -Root "$PWD"
Done!
If some device did not got migrated correctly, verify the UUID and verify you got the UUID correctly set.
This sounds more complicated than it really is, fortunately you only need to do this once :)