Key bindings deleted if joystick not plugged in

So luckily I have my bindings backed up, but I just started up Elite today and happened to not have my joystick plugged in, and it deleted all my bindings lol. How on earth (or off it) is this a thing that happens?
 
Without the joystick plugged in you've got bindings for a device that doesn't exist, which is why I presume it creates a new set. It should really pop up a warning before doing anything though. I've fallen foul of this in the past but learned a long time ago to always keep a backup of my bindings, the game has a poor track record of over-writing them.
 
If you're using a self-named bindings file, they won't be deleted: they're just not displayed until the device is available again. But back them up in any case, just because.
 
This is common with any extra input devices. If I forget to plug my xbox controller in (I use it for SRVs) I lose my bindings. They come back as soon as I plug it in though. Have not needed to restart the client myself.
 
This is common with any extra input devices. If I forget to plug my xbox controller in (I use it for SRVs) I lose my bindings. They come back as soon as I plug it in though. Have not needed to restart the client myself.

Ah ok, I didn't try plugging it back in as it is broken. I just manually restored my old bindings. It actually does back them up in the folder so they're not completely deleted, but still as someone said above there should at least be some sort of dialog explaining this, and even better a way to restore/change bindings profiles in game without having to open up the AppData folder.
 
Agreed. What's really frustrating is that the 'custom' preset in the dropdown menu actually seems to just disappear until you plug it back in.
 
In reality, what happens here is that when a controller is plugged in, it creates a binds file called "custom.binds". If you unplug a USB controller and plug it back in again, a new file is created called "custom.binds" which "overwrites" the previous file by that name. Elite does not delete a .binds file, it just overwrites the previous one, and this only occurs if you are using a binds file called "custom.binds".

In most cases, when a USB device is plugged in, a default "ControlScheme" .binds file is used to create a new "custom.binds" file, overwriting the previous one. An example is when I plug in my SaitekX56 Hotas, Elite's control settings will grab a copy of the one in the default "ControlSchemes" directory called "SaitekX56.binds" and then place it in the directory Elite uses for active controllers and rename it to "custom.binds".

I have written a document on tips and tricks for the SaitekX56 Binds file which explains how you can use this to your advantage so you don't loose your binds file in the future, but Elite does not "delete" binds files, it only overwrites it if it is called "custom.binds". If it is called something else, Elite will leave it there and plugging the controller back in will cause it to re-appear and become available again.

Here is a link to the thread for the SaitekX56.Binds file and some tips and tricks to allow you to maintain it. This will work for any controller, but the instructions are specific for the SaitekX56.binds file.


Here is a more generic instruction set for not loosing your binds file and some tips on keeping it safe.


Hope this helps someone.....

Oh, Seven!
 
If you're using a self-named bindings file, they won't be deleted: they're just not displayed until the device is available again. But back them up in any case, just because.

They're not deleted if you used the default custom profile either. The profile is simply disabled until you plug back the device in, and a new custom profile is loaded.
However if you make any changes (and save them) before that, then that new profile will be written to the file, overwriting your previous one, which is how you lose your bindings.

The fool-proof way to avoid that, is to not use the default custom profile, and instead create one with a different name, so that even if it gets disabled because one device isn't plugged in, any changes you make and save by mistake will be written to custom.binds instead.
 
In reality, what happens here is that when a controller is plugged in, it creates a binds file called "custom.binds". If you unplug a USB controller and plug it back in again, a new file is created called "custom.binds" which "overwrites" the previous file by that name. Elite does not delete a .binds file, it just overwrites the previous one, and this only occurs if you are using a binds file called "custom.binds".

In most cases, when a USB device is plugged in, a default "ControlScheme" .binds file is used to create a new "custom.binds" file, overwriting the previous one. An example is when I plug in my SaitekX56 Hotas, Elite's control settings will grab a copy of the one in the default "ControlSchemes" directory called "SaitekX56.binds" and then place it in the directory Elite uses for active controllers and rename it to "custom.binds".

I have written a document on tips and tricks for the SaitekX56 Binds file which explains how you can use this to your advantage so you don't loose your binds file in the future, but Elite does not "delete" binds files, it only overwrites it if it is called "custom.binds". If it is called something else, Elite will leave it there and plugging the controller back in will cause it to re-appear and become available again.

Here is a link to the thread for the SaitekX56.Binds file and some tips and tricks to allow you to maintain it. This will work for any controller, but the instructions are specific for the SaitekX56.binds file.


Here is a more generic instruction set for not loosing your binds file and some tips on keeping it safe.


Hope this helps someone.....

Oh, Seven!

Perhaps it overwrites the file in some situations or did so in the past, but for me it renamed my existing bindings file to custom3.0.binds.<a bunch of numbers>.backup which is what I used to restore it. Either that or we're in different alternate realities 😆

The fool-proof way to avoid that, is to not use the default custom profile, and instead create one with a different name, so that even if it gets disabled because one device isn't plugged in, any changes you make and save by mistake will be written to custom.binds instead.

How do you a rename a profile? Do you have to rename the file in the bindings folder? I couldn't see a way to do this in game.
 
It does Custom.backup when you change anything.
What is changed is StartPreset.start
In this file last success name loaded is stored. So it is possible you get there wrong profile name to load later.
 
How do you a rename a profile? Do you have to rename the file in the bindings folder? I couldn't see a way to do this in game.

Yes, you need to rename the file, and most importantly you also need to alter the second line in that .binds file, which for the default custom profile reads
XML:
<Root PresetName="Custom" MajorVersion="3" MinorVersion="0">
so that the PresetName field's value matches that of the file name. Whenever you make changes to a profile and save them, the game will write to a file named after this field, not necessarily to the file it's reading from.
If you only change the name of the file, any changes you effect in the game's options menu will probably save to the default custom file (Custom.3.0.binds).
 
Perhaps it overwrites the file in some situations or did so in the past, but for me it renamed my existing bindings file to custom3.0.binds.<a bunch of numbers>.backup which is what I used to restore it. Either that or we're in different alternate realities 😆

Yes, it does add numbers to the custom.binds. For simplicity sake, I just refer to it as custom.binds.

I think Frontier started doing that on the last major update.

I also use VA's Customizer, which also renames the default ControlSheme for the "SaitekX56.binds" to "HCS SaitekX56.3.0.binds" after it adds the missing keybinds to the file and I have not seen a "custom.3.0.binds" since the last major game update.
 
Last edited:
I bought a wireless xbox controller (yes, I know, heathen) and ED doesn't recognise it.

I worked out after some frustration that I need to plug in my old wired Xbox controller, then ED recognises the wireless one. So I can't get rid of the old one, instead it now sits near my PC ready for the 2 seconds it's useful when booting up ED.

Strangely enough all my other games recognise the wireless controller straight away...funny that.
 
Back
Top Bottom