Jump to content

device mapping changed after moving drive with the DCS installation to new computer


Recommended Posts

 

  1. When opening DCS after moving the installation drive to my new computer all the settings tabs have change to what looks like a default installation.
  2. For example, in DCS options> 'controls' tab for some reason the device mapping in the device columns are not the same as before I moved the DCS drive?
  3. Why would I have this issue if all I did was move my installation drive?
  4. Are there any registry edits that may be needed.
  5. How do I get my start menu shortcuts back, after doing an update and repair still no shortcuts?

 

Thank you.

 

Link to comment
Share on other sites

2 minutes ago, fitness88 said:

 

  1. When opening DCS after moving the installation drive to my new computer all the settings tabs have change to what looks like a default installation

 

 

Did you move also the /Saved Games/DCS/ folder?

most of your configuration is in there, not on the /program Files/Eagle Dynamics/ path.

 

3 minutes ago, fitness88 said:

 

Why would I have this issue if all I did was move my installation drive?

 

You didn't just "moved the drive" .. you are actually on a different PC with a different Windows. So, most likely the USB ID of your HOTAS is now different than before. 

 

 

 

 

  • Like 1

 

For work: iMac mid-2010 of 27" - Core i7 870 - 6 GB DDR3 1333 MHz - ATI HD5670 - SSD 256 GB - HDD 2 TB - macOS High Sierra

For Gaming: 34" Monitor - Ryzen 3600X - 32 GB DDR4 2400 - nVidia GTX1070ti - SSD 1.25 TB - HDD 10 TB - Win10 Pro - TM HOTAS Cougar - Oculus Rift CV1

Mobile: iPad Pro 12.9" of 256 GB

Link to comment
Share on other sites

1 minute ago, fitness88 said:

 

  1. When opening DCS after moving the installation drive to my new computer all the settings tabs have change to what looks like a default installation.
  2. For example, in DCS options> 'controls' tab for some reason the device mapping in the device columns are not the same as before I moved the DCS drive?
  3. Why would I have this issue if all I did was move my installation drive?
  4. Are there any registry edits that may be needed.
  5. How do I get my start menu shortcuts back, after doing an update and repair still no shortcuts?

 

Thank you.

 

 

The perpetrator is your new OS installation of your new computer, because it attributes a new ID number for all your input devices and therefore the order of

your devices changed. So that's why your column order changed accordingly in the device mapping menu.

  • Like 1
Link to comment
Share on other sites

Thanks gentlemen for your response about the ID changing.

  1. So should I work with what I have and change the settings where need be or start from scatch to avoid mapping conflicts?
  2. Also why would all my other options tabs change as well, such as on the audio and the system tabs?
  3. As for the shortcuts I guess I'll make myself but I can't find the 'repair file' in the bin directory in order to make a shortcut and I lost my no vr dcs shortcut.
  4. Yes I moved the Saved games location c:\ over to the DCS drive as like before the move.

Thanks again for your help!

 

 


Edited by fitness88
Link to comment
Share on other sites

If you successfully moved the %USERPROFILE%\Saved Games\DCS directory to the right location, none of the usual settings should change — only device binds. If you're seeing something else, either it's not in the right place, or you did things out of order so what you put there has been overwritten by various defaults.

 

For binds, one thing you can do to quickly remedy the situation — but which requires semi-specialised tools — is to simply mass-rename all your old diff.lua files to match the new USB IDs. If you have a good file manager (i.e. something that isn't made by MS or built into Windows), you can do a search-and-rename that affects all modules at once and thus immediately get back those old binds. If you don't have, you can still do imports from your old files to restore a lot at once, but you'll have to run through every device for every module in-game, and it takes a while.

 

For instance, in my DCS\Config\Input\A-10C II\joystick directory, I have a file called “F16 MFD 2 {B7918DA0-6BF1-11e8-8004-444553540000}.diff.lua” — the string between the curly brackets is how DCS encodes the device ID for that MFD. If that device suddenly got a new ID because of a hardware change (and it doesn't even require all that much — a firmware update can do it, or at times even just plugging it into a new USB hub if it's a particularly obnoxious one), I might suddenly see two files named “F16 MFD 2 [somethingsomething].diff.lua”. By renaming the old file to match the new ID, the next time DCS loads it will pick up the same old binds because the new file name matches the new device ID.

 

But again, unless you have a file manager tool that can do recursive file-name searches and mass-renaming, doing this for a whole bunch of modules is not just tedious but highly error-prone.

❧ ❧ Inside you are two wolves. One cannot land; the other shoots friendlies. You are a Goon. ❧ ❧

Link to comment
Share on other sites

I have a few devices with the same names, and if I unplug them and replug them back in, there's a good chance they'll get mixed up. Using the Profiles in the DCS controls menu has been really useful. After I get a plane setup I save profiles for each device ("MFD Right", "MFD Left", etc). Then if the bindings get mixed up, I just reload the profiles for the devices that switched.

Link to comment
Share on other sites

Yes I forgot to immediately change the location of the saved games folder and did an update first then realizing what happened I deleted the updated c:\ saved games folder then moved its location over to g:\.

And yes I have also experienced the frustration of plugging some USB devices into another port by mistake so I now mark down where everything goes.

OK I can try some things you guys enlightened me to and then worse comes to worse do a remap...thanks again!

Link to comment
Share on other sites

Update:

After spending time on remapping of my Logitech software and DCS controls I realized that the C:\Saved Games folder that was created before I changed its location to G:\ actually had the most recent device settings [input\.diff.lua] with the correct ID.

I don't understand how that could happen I would have expected the input folder to be empty?

 

Also can someone please explain the workings of saving and restoring the individual device settings profiles in the DCS control tab. Every time I make DCS mapping changes I've been clicking on each column, saving the individual devices and their respective columns one by one and doing this for axis and UI selections making for many .diff.lua files.  When I restored these .diff.lua profiles yesterday I had to do it again one column at a time and this created many .diff.lua files in my input folder, one for each device for each column, axis & UI as well.

Why not just back up the input folder and UI folder and use them to do a restore or does the possible change in device ID make it impossible to restore from these diff.lua files if the device ID changes for any reason? 

 

I do understand that sometimes only 1 column may need restoring so that may be an advantage to doing it one column at a time so if there is an ID change then just copy the old ID to the new .diff.lua...correct?

Your thoughts please?


Edited by fitness88
Link to comment
Share on other sites

You can use the input folder from the old system installation, but you have to change the names of all .diff.lua files manually from the old ID's to the new ID's. 

If you have many modules, there are programs that can do batch rename, that will help with the task. 

Hardware: VPForce Rhino, FSSB R3 Ultra, Virpil T-50CM, Hotas Warthog, Winwing F15EX, Slaw Rudder, GVL224 Trio Throttle, Thrustmaster MFDs, Saitek Trim wheel, Trackir 5, Quest Pro

Link to comment
Share on other sites

2 minutes ago, some1 said:

You can use the input folder from the old system installation, but you have to change the names of all .diff.lua files manually from the old ID's to the new ID's. 

If you have many modules, there are programs that can do batch rename, that will help with the task. 

So all that's needed is to just back up the input folder and change ID's when/where necessary unless you want individual columns replaced then do it through the DCS controls tab...correct?

Link to comment
Share on other sites

Yes, just rename the files and they will work on the new system. 

Hardware: VPForce Rhino, FSSB R3 Ultra, Virpil T-50CM, Hotas Warthog, Winwing F15EX, Slaw Rudder, GVL224 Trio Throttle, Thrustmaster MFDs, Saitek Trim wheel, Trackir 5, Quest Pro

Link to comment
Share on other sites

Just now, some1 said:

Yes, just rename the files and they will work on the new system. 

Thanks...what an interesting experience :wallbash:

What would happen if you restored a complete device .diff.lua [with all columns axis UI] into 1 column through the controls tab?

Link to comment
Share on other sites

47 minutes ago, fitness88 said:

Thanks...what an interesting experience :wallbash:

What would happen if you restored a complete device .diff.lua [with all columns axis UI] into 1 column through the controls tab?

It's all the same, really.

 

Each device/column is directly linked to a device-ID-named diff.lua file, and each device that has had any binding change applied to it will have one such file for each module or plane variant. If you restore old binds by copying in the diff.lua file (under the right name) directly in Windows, the effect is exactly the same as if you were to import that diff.lua file to its relevant column in-game. In both cases, you get old binds saved to the diff.lua file that relates to that device ID and that module. Either way, you end up with an appropriately named diff.lua that contains your old binds.

 

If you try something silly, like importing a module to the wrong column or even the wrong module, the game will either just go “huh, these functions do not exist for this device/module, so I'll ignore them”, or (under certain circumstances) create duplicate binds that show up in various colours in the bind screen.

❧ ❧ Inside you are two wolves. One cannot land; the other shoots friendlies. You are a Goon. ❧ ❧

Link to comment
Share on other sites

16 minutes ago, Tippis said:

It's all the same, really.

 

Each device/column is directly linked to a device-ID-named diff.lua file, and each device that has had any binding change applied to it will have one such file for each module or plane variant. If you restore old binds by copying in the diff.lua file (under the right name) directly in Windows, the effect is exactly the same as if you were to import that diff.lua file to its relevant column in-game. In both cases, you get old binds saved to the diff.lua file that relates to that device ID and that module. Either way, you end up with an appropriately named diff.lua that contains your old binds.

 

If you try something silly, like importing a module to the wrong column or even the wrong module, the game will either just go “huh, these functions do not exist for this device/module, so I'll ignore them”, or (under certain circumstances) create duplicate binds that show up in various colours in the bind screen.

I asked that question to make sure that only binds that were saved column by column can only be restored to their respective columns and that's when you start seeing lots of diff.lua files which by the way you need to uniquely name so you know where to restore it to.

On the other hand the all inclusive device diff.lua file for each device that is automatically created by DCS can be used but if there is an ID name change it will have to be renamed.

All of these files get put into the 1 input folder?  This is what messed me up not understanding the difference between the 2 types of diff.lua files.

Link to comment
Share on other sites

4 hours ago, fitness88 said:

I asked that question to make sure that only binds that were saved column by column can only be restored to their respective columns and that's when you start seeing lots of diff.lua files which by the way you need to uniquely name so you know where to restore it to.

On the other hand the all inclusive device diff.lua file for each device that is automatically created by DCS can be used but if there is an ID name change it will have to be renamed.

All of these files get put into the 1 input folder?  This is what messed me up not understanding the difference between the 2 types of diff.lua files.

It's probably easier to look at an example as a start (mainly because I'm not quite grasping the issue you're trying to illustrate, and I'm hoping that over-explaining will somehow accidentally cover it… 😋).

 

This is the content my DCS\Config\Input\A-10C II\joystick folder:

Screenshot 2021-03-18 at 18.47.50.png

 

Each of those are a separate device. Each is named by its USB device name and device ID. This is why I have two “F16 MFD 2” files: because I have two “right” MFDs connected, but they have different device IDs. In-game, they show up as “MFD 1 (Left)”, “MFD 2 (Right)”, and “MFD 3 (Center)” because the name in the column is customisable and completely set apart from the device names and what the files are called.

 

Any time I change anything to my left joystick binds, it gets saved in the “LEFT VPC WarBRD Delta {7DB8E1C0-DAF2-11e9-8003-444553540000}.diff.lua” file. Unless and until that device changes its USB name or its device ID, that will always happen, no matter how I inject those changes — by manual binds, by importing, by restoring an old file to that name. But that last part is important: I can at any time pick some other file with (hopefully sensible) binds and, as long as the name is correct, DCS will blindly try to apply the definitions in that file to my left joystick whether it makes sense or not.

 

If I were to rename that file (or indeed any of them) or copy in new files with different names, DCS would go “this file does not correspond to any device I can detect — I will ignore it completely.” Any device that does not have a corresponding file will simply get the default binds defined by the module (and no diff file because… well… there are no differences between the default and the recorded binds — that's why they're called “diff.lua”). If I start to accumulate more and more files, it is because I keep adding files that have no function, or because for whatever reason, the device keeps changing names or hardware IDs so DCS keeps creating new files to match this “new” device it has detected. Again, I have two files that seemingly refer to an “MFD 2” device, and this is completely accurate because I do have two of those.

 

So, to try to answer your question more directly: yes, if you only ever use the in-game tools and if the hardware never goes bananas and changes its hardware ID in any way, you will only ever see one file corresponding to each column/device in the bind screen. You can possibly also see fewer, in case you haven't changed anything and that device is still fully operating on the pre-defined defaults. If you see more files than you have devices, something has gone wrong outside of DCS: you have manually copied files in that shouldn't be there, or hardware mappings have changed so DCS has been forced to create a new file for the changed device. Simply importing old binds through the in-game binding UI should not have any strange effects: the contents of the old file are read and saved to one of the files that should be in the directory — no duplicates should appear.


Also, there are generally four folders for each module: joystick (for any and all regular gaming devices), keyboard, mouse, and trackir (if you have one of those… not sure how things like tobii eyetrackers are handled). Each contains the diff.lua files related to those input types.

 

There is only one type of diff.lua file — they are completely interchangeable and, again, if you seeing apparent duplicates in there, it's because one is referring to old hardware (or more accurately, old hardware names) that are no longer present. The files you export or import from the bind screen are internally exactly the same as the ones already in there — the difference is that the ones you export can be named in a way that you remember what devices they're related to rather than named in the way DCS demands for it to match some specific hardware, and you can store them in some easy-to-remember spot rather than dive into five layers of subdirectories to get to what you want. I could export my rudder pedal file as “Donald Duck.diff.lua” and then re-import it to any device column I choose. Whether the results make sense or not is almost besides the point, and that's why my ability to name it to something sensible that I remember matters. But no matter what device I import it to, the binds will be saved to the existing file for that device. And yes, this means that I could go in and completely swap out the names of those files shown above such that the throttle file now contains my MFD binds; my rudder file is full of joystick binds; and one of the joysticks is now bound to control my throttle inputs. DCS won't care — the names are correct, and they refer to existing in-game controls, so the only problem is that I as a pilot will be horribly confused about what controls what.

 

 

…now… if any of that actually magically clarified anything, I think I'll go out an buy a lottery ticket.

  • Like 2

❧ ❧ Inside you are two wolves. One cannot land; the other shoots friendlies. You are a Goon. ❧ ❧

Link to comment
Share on other sites

7 hours ago, Tippis said:

It's probably easier to look at an example as a start (mainly because I'm not quite grasping the issue you're trying to illustrate, and I'm hoping that over-explaining will somehow accidentally cover it… 😋).

 

This is the content my DCS\Config\Input\A-10C II\joystick folder:

Screenshot 2021-03-18 at 18.47.50.png

 

Each of those are a separate device. Each is named by its USB device name and device ID. This is why I have two “F16 MFD 2” files: because I have two “right” MFDs connected, but they have different device IDs. In-game, they show up as “MFD 1 (Left)”, “MFD 2 (Right)”, and “MFD 3 (Center)” because the name in the column is customisable and completely set apart from the device names and what the files are called.

 

Any time I change anything to my left joystick binds, it gets saved in the “LEFT VPC WarBRD Delta {7DB8E1C0-DAF2-11e9-8003-444553540000}.diff.lua” file. Unless and until that device changes its USB name or its device ID, that will always happen, no matter how I inject those changes — by manual binds, by importing, by restoring an old file to that name. But that last part is important: I can at any time pick some other file with (hopefully sensible) binds and, as long as the name is correct, DCS will blindly try to apply the definitions in that file to my left joystick whether it makes sense or not.

 

If I were to rename that file (or indeed any of them) or copy in new files with different names, DCS would go “this file does not correspond to any device I can detect — I will ignore it completely.” Any device that does not have a corresponding file will simply get the default binds defined by the module (and no diff file because… well… there are no differences between the default and the recorded binds — that's why they're called “diff.lua”). If I start to accumulate more and more files, it is because I keep adding files that have no function, or because for whatever reason, the device keeps changing names or hardware IDs so DCS keeps creating new files to match this “new” device it has detected. Again, I have two files that seemingly refer to an “MFD 2” device, and this is completely accurate because I do have two of those.

 

So, to try to answer your question more directly: yes, if you only ever use the in-game tools and if the hardware never goes bananas and changes its hardware ID in any way, you will only ever see one file corresponding to each column/device in the bind screen. You can possibly also see fewer, in case you haven't changed anything and that device is still fully operating on the pre-defined defaults. If you see more files than you have devices, something has gone wrong outside of DCS: you have manually copied files in that shouldn't be there, or hardware mappings have changed so DCS has been forced to create a new file for the changed device. Simply importing old binds through the in-game binding UI should not have any strange effects: the contents of the old file are read and saved to one of the files that should be in the directory — no duplicates should appear.


Also, there are generally four folders for each module: joystick (for any and all regular gaming devices), keyboard, mouse, and trackir (if you have one of those… not sure how things like tobii eyetrackers are handled). Each contains the diff.lua files related to those input types.

 

There is only one type of diff.lua file — they are completely interchangeable and, again, if you seeing apparent duplicates in there, it's because one is referring to old hardware (or more accurately, old hardware names) that are no longer present. The files you export or import from the bind screen are internally exactly the same as the ones already in there — the difference is that the ones you export can be named in a way that you remember what devices they're related to rather than named in the way DCS demands for it to match some specific hardware, and you can store them in some easy-to-remember spot rather than dive into five layers of subdirectories to get to what you want. I could export my rudder pedal file as “Donald Duck.diff.lua” and then re-import it to any device column I choose. Whether the results make sense or not is almost besides the point, and that's why my ability to name it to something sensible that I remember matters. But no matter what device I import it to, the binds will be saved to the existing file for that device. And yes, this means that I could go in and completely swap out the names of those files shown above such that the throttle file now contains my MFD binds; my rudder file is full of joystick binds; and one of the joysticks is now bound to control my throttle inputs. DCS won't care — the names are correct, and they refer to existing in-game controls, so the only problem is that I as a pilot will be horribly confused about what controls what.

 

 

…now… if any of that actually magically clarified anything, I think I'll go out an buy a lottery ticket.

Thanks Tippis for that comprehensive explanation.  To clarify your final point [last paragraph] if I accidentally import a throttle diff.lua into my joystick column the joystick will now have the bindings of the throttle.

Also I guess it's a good idea to have both individually exported column binds as a back up making sure you logically name them for future reference and put them in a different folder other than input.  Also to back up input folder!

And yes I see the diff.lua file in input gets updated after I make changes to the controls in DCS controls window.

Thanks again!

Link to comment
Share on other sites

4 hours ago, fitness88 said:

Thanks Tippis for that comprehensive explanation.  To clarify your final point [last paragraph] if I accidentally import a throttle diff.lua into my joystick column the joystick will now have the bindings of the throttle.

Yes.

 

Remember, unless the module developer has done some very fancy stuff, all binds are available to all devices and DCS itself has no idea of what makes sense (and even less of an idea of how you use your actual setup). Even normally, there is nothing that stops you from binding your stick POV hat to a throttle target designator, or binding a throttle axis to your pitch or yaw. It's just a list of “here are the input functions of the module” and “here are the devices you might want to bind to” — it's really only the puny squishy human that decides that throttle axes should control throttles and stick axis control pitch and roll, because they'd get confused if was the other way around. :joystick:

 

Consequently, DCS doesn't care one whit if you import rudder inputs to your trackIR — the binds look correct, and the device looks correct, so it just mashes the two together.

❧ ❧ Inside you are two wolves. One cannot land; the other shoots friendlies. You are a Goon. ❧ ❧

Link to comment
Share on other sites

I've been noticing recently that when mapping UI Layer keystroke commands to my F/A-18 I've started to get conflict advisories for other aircraft other than the one I'm programming...for SU-33 MIG29 etc.

I never used to get conflicts to other aircraft...yes I would in the one I'm programming.

I take it the UI commands are global...never saw evidence of that before.

Screenshot 2021-03-21 021215.png

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...