Bindings are forgotten if joystick is unplugged

you will lose your bindings if you start the game without the stick plugged in
you lose also all bindings if you use K+M an then plug in a stick

it's quite annoying

I've had ED lose bindings on me while I've been setting my key-bindings up in the first place - All without unplugging my joystick in the first place. The process goes something like this:
  1. Go into Control settings to map keys for throttle settings (Full Stop, 25%, 50%, 75%, full throttle).
  2. Go back into gameplay to verify that they work. Everything is peachy-keen, next group of controls now...
  3. Go back into Control settings to map a few camera controls because you want to mess about with the Gratuitous Selfie thread(s).
  4. Discover that your bindings for throttle control (mapped 60 seconds earlier) have disappeared.
  5. Re-enter throttle bindings as before. Make some amendments to the camera controls.
  6. Go back into the gameplay screen. Throttle controls work just fine, so too the few camera controls you've mapped.
  7. Go back into the Control settings, discover that your freshly bound keys for throttle controls and camera controls have disappeared.
  8. "Face meet desk, desk meet face. Play nice..." BONK!

I'm at a loss as to what could be causing this sort of behaviour - Could it be related to the fact that my Steam-install of ED seems to have key bindings in 4 locations (3 sub-folders of the in the Elite Dangerous folder in Steam, 1 sub-folder in the appdata\Frontier Developments\Elite Dangerous folder)?



Regards,

Doug
 
Yeah this annoying behaviour of checking if the device is present and erasing all non-present devices is a real nice bug feature. What you can do, is not only make a copy of your working bindings but also make it into a preset. It's as simple as going to an obscure folder with bindings given above, copying the file and editing the Start-something file to include the name of the copy you just made. This way it shouldn't erase your bindings on update, and give you a backup too, because as soon as you forget and change something in options, this preset should change to "custom" automagically.

Yes Shadragon, FDev is extremely lazy for not providing "save preset as" button and forcing users to use UNDOCUMENTED "features" to work around the limitations imposed by their own code behaviour. Plus a habit of overwriting your controls (of which there are lots) instead of at least trying to migrate the existing settings. No, let's just wipe a preset containing 18KB of data because that will be easier and the user surely remembers all of them. smh.
 
Last edited:
Yeah this annoying behaviour of checking if the device is present and erasing all non-present devices is a real nice bug feature.
ED doesn't delete your bindings. It keeps them in the custom bindings folder.
%AppData%\Local\Frontier Developments\Elite Dangerous\Options\Bindings
What it does do is save the last bindings used, to load on startup. That file is called StartPreset.start and it is kept in the same folder. It has one entry. The name of the bindings file without the extension.

What you can do, is not only make a copy of your working bindings but also make it into a preset. It's as simple as going to an obscure folder with bindings given above, copying the file and editing the Start-something file to include the name of the copy you just made. This way it shouldn't erase your bindings on update, and give you a backup too, because as soon as you forget and change something in options, this preset should change to "custom" automagically.
Not if you rename the custom binds file to something else. (You do have to make another change in the binds file so that you can select it from the controls dropdown.)
For instance my StartPreset.start file has the line: Cam_04A1

Cam_04A1.binds starts like this:


<?xml version="1.0" encoding="UTF-8" ?>
<Root PresetName="Cam_04A1" MajorVersion="2" MinorVersion="0">
<KeyboardLayout>en-GB</KeyboardLayout>

I won't presume to tell people how to manage it.

Yes Shadragon, FDev is extremely lazy for not providing "save preset as" button and forcing users to use UNDOCUMENTED "features" to work around the limitations imposed by their own code behaviour. Plus a habit of overwriting your controls (of which there are lots) instead of at least trying to migrate the existing settings. No, let's just wipe a preset containing 18KB of data because that will be easier and the user surely remembers all of them. smh.

Yes, "save preset as" would be a help so you don't have to edit the files directly.
 
ED doesn't delete your bindings. It keeps them in the custom bindings folder.

Yeah it was a simplification. I have a wheel and hotas configured, if one or the other is not plugged and I'll try to change anything in the control settings, it would save the state of that (erasing all not plugged device controls) into the preset file. Or actually, save a second one with a "version number" (at least it used to do that earlier, hence "Custom1.8.binds" alongside "Custom.binds". Also, updates had a habit of erasing the whole Custom file. You can find many salty threads about that in the past ;-). Also "set as default preset" button would be most welcome too.

btw. that was an approximation from memory and away from computer, thanks for correcting :)
 
You seem to equate the amount of money paid to data safety. I've worked on multi-million dollar SAN units, with multiple redundancies to ensure uptime and we backed them up continuously. Anything and everything can fail in time and I don't care how much you paid for it.

Go through life without making backups and you'll have a life full of misery. Laziness is not a Frontier problem.

Dude, it's undocumented, it's 20 layers deep in obscure folder names. This sort of thing should be *in game*. Apart from ED, I don't know of a game that does not offer proper in game bindings management. Certainly none that I would have to pay for.

Z...
 
I've had ED lose bindings on me while I've been setting my key-bindings up in the first place - All without unplugging my joystick in the first place. The process goes something like this:
  1. Go into Control settings to map keys for throttle settings (Full Stop, 25%, 50%, 75%, full throttle).
  2. Go back into gameplay to verify that they work. Everything is peachy-keen, next group of controls now...
  3. Go back into Control settings to map a few camera controls because you want to mess about with the Gratuitous Selfie thread(s).
  4. Discover that your bindings for throttle control (mapped 60 seconds earlier) have disappeared.
    ...

Do you have a copy of your binding file in your binding folder?
 
Last edited:
Yeah it was a simplification. I have a wheel and hotas configured, if one or the other is not plugged and I'll try to change anything in the control settings, it would save the state of that (erasing all not plugged device controls) into the preset file.

That makes sense if you look at the xml file. (Download the free XML Notepad from M$. It shows the file in a more human readable way. IMO)
The entries include the device type and if it sees that that device is not connect it will remove it from the XML file when it saves it.

For instance: My boost controls are set to the HOTAS and the keyboard (for when I use VA)

<UseBoostJuice><Primary Device="SaitekX52Pro" Key="Joy_5" /><Secondary Device="Keyboard" Key="Key_U" /></UseBoostJuice>

Or actually, save a second one with a "version number" (at least it used to do that earlier, hence "Custom1.8.binds" alongside "Custom.binds".
I'm not sure but I think the 1.8 refers to a version number of the controls it controls. My latest is 2.0 appended to the binds.



Also, updates had a habit of erasing the whole Custom file. You can find many salty threads about that in the past ;-). Also "set as default preset" button would be most welcome too.
I know it happened to me in the early days. It doesn't do that if you use a custom name for the binds file.



btw. that was an approximation from memory and away from computer, thanks for correcting :)

Sorry I did not mean to contradict you. I was at my PC and it is easier to copy and paste than it is to type.
 
That makes sense if you look at the xml file. (Download the free XML Notepad from M$. It shows the file in a more human readable way. IMO)
(...)
I'm not sure but I think the 1.8 refers to a version number of the controls it controls. My latest is 2.0 appended to the binds.
(...)
Sorry I did not mean to contradict you. I was at my PC and it is easier to copy and paste than it is to type.

1. thanks but I'll stick to gVIM ;-P
2. something like that, 1.8 was long ago and changed alongside one of horizon releases.
3. no prob :)
 
Sorry to start Windows bashing, but seems to remember a few forums relating forgetting bindings and joystick setting for games under Windows 10.
 
I was a bit curious, and decided to have a look on elite with procmon while openening the controls setting dialog.
I made a few copies of the binding files, gave them different names (or file extensions) and added a few differences in each of them to see what the game does in the end

19:16:40,5752068 EliteDangerous64.exe 5500 ReadFile C:\Users\Hossi\AppData\Local\Frontier Developments\Elite Dangerous\Options\Bindings\aaa.binds SUCCESS Offset: 0, Length: 41.676, Priority: Normal
19:16:40,5752482 EliteDangerous64.exe 5500 ReadFile C:\Users\Hossi\AppData\Local\Frontier Developments\Elite Dangerous\Options\Bindings\Custom.1.8.binds SUCCESS Offset: 0, Length: 31.592, Priority: Normal
19:16:40,5752762 EliteDangerous64.exe 5500 ReadFile C:\Users\Hossi\AppData\Local\Frontier Developments\Elite Dangerous\Options\Bindings\Custom.2.0 - Kopie.binds SUCCESS Offset: 0, Length: 41.676, Priority: Normal
19:16:40,5753094 EliteDangerous64.exe 5500 ReadFile C:\Users\Hossi\AppData\Local\Frontier Developments\Elite Dangerous\Options\Bindings\Custom.2.0.binds SUCCESS Offset: 0, Length: 41.676, Priority: Normal
19:16:40,5753415 EliteDangerous64.exe 5500 ReadFile C:\Users\Hossi\AppData\Local\Frontier Developments\Elite Dangerous\Options\Bindings\somethingelse.binds SUCCESS Offset: 0, Length: 41.676, Priority: Normal

Things I learned by this:
  • Elite will load all .binds files from the \binds folder, but not from the subfolders. Filnames are irrelevant (as long as they end with .binds)
  • The .binds will be loaded in alphabetical order
  • The last one wins, meaning the content from the last file overwrites all previous entries
I guess this mechanic has something to do with the decision to leave older versions in the folder and just increase the version nuber (1.8-->2.0). This way the file with the highest number will always win.

Add to this the fact that the game will write to the correct file everytime you click 'accept', and you can see there is plenty of room for pretty annoying results.

Edit: It's not exacly alphabetical every time, more like 'mostly alphabetical'. It seems like the order is varying.
 
Last edited:
Do you have a copy of your binding file in your binding folder?

Hey there Hossi,

I've got a copy of the bindings in my Saved Game\Frontier Developments\Elite Dangerous\... folder. What annoys me about the disappearance of fresh edits to the key bindings is that when I'm in looking in the folder where the bindings are kept I can see the date and time of the latest amendment update when I hit the Apply button. But if I go into the key bindings again (without saving and exiting to the desktop) the new edits that have just been saved don't make it through to the new editing session.



Doug
 
Yea, as I wrote earlier: Elite will write your settings in the right file, but when you start up the game OR open the settings dialog e:d will open all .binds files that are there. And then it will take, well probably the wrong one. So you get:
1. Start game, load file B
2. Make changes to config, write to file A
3. Acces settings again, reload file B, new settings are gone
4. Make new changes, write them again to file A

Just put your copies in a different folder. As long as ONLY the original .binds file is in the binding folder, it should work.
Or change the file extension, maybe from .binds to .backup. I guess this should work as well.
 
I keep a couple of named bindings files, one for combat and one for exploration, with the PresetName line edited to match the file name, in %LOCALAPPDATA%\Frontier Developments\Elite Dangerous\Options\Bindings and I keep that folder under Git version control so I can see changes and revert any accidents. I also upload them to https://edrefcard.info/, which is the new home of CMDR jgm's excellent reference card generator.
 
Back
Top Bottom