I've notice (like everyone I guess) that when switching from Horizon/Odyssey and Odyssey/Horizon, on both ways I would loose my keyboard configuration EACH FREAKING TIME !
so I've been looking what was the issue, and it's only because it was so poorly coded that the controls are set in two different ways.
Let me explain :
First look in this folder :
%USERPROFILE%\AppData\Local\Frontier Developments\Elite Dangerous\Options\Bindings\
you will see your presets.
In my case I've backed up mine with name "
Saitek X52.3.0.binds" before Odyssey update.
When Odyssey came in it duplicated the file and named it "
Saitek X52.4.0.binds". fine by me, they add some controls so why not.
Then, you get another file in same folder "
StartPreset.start" that is used to define what config you are using.
but this file is used by both version AND isn't used in the same way, and as so it overwrites every time you select game.
In Horizon, you have one section of controls
Saitek X52
In Odyssey, you have 4 section of controls
Saitek X52
Saitek X52
Saitek X52
Saitek X52
And who knows why, when Odyssey starts and reads the file with only one line, it assumes there is nothing else configured, and just put empty/default keys (depends on mood I guess as it varies).
And in my case it creates a default profile named "Saitek X52 Pro" for unknown reason (I've tried to create a profile copied from mine with that name and it just ignored it)
how come this is still an issue??
To workaround this issue I've made two files with data in it (StartPreset.3.0.start & StartPreset.4.0.start) and used a batch
Bash:
:GAMODE
ECHO Game played will be HORIZONS / ODYSSEY (default)?
SET /p stupidity=[H/O]
REM ECHO '%stupidity%'
IF '%stupidity%'=='h' GOTO HORIZONS
IF '%stupidity%'=='H' GOTO HORIZONS
IF '%stupidity%'=='o' GOTO ODYSSEY
IF '%stupidity%'=='O' GOTO ODYSSEY
:ODYSSEY
TITLE Elite Dangerous: Odyssey
C:
cd "%USERPROFILE%\AppData\Roaming\EliteG19s\"
xcopy "%USERPROFILE%\AppData\Local\Frontier Developments\Elite Dangerous\Options\Bindings\StartPreset.4.0.start" "%USERPROFILE%\AppData\Local\Frontier Developments\Elite Dangerous\Options\Bindings\StartPreset.start" /y
GOTO CHKSTART
:HORIZONS
TITLE Elite Dangerous: Horizons
C:
cd "%USERPROFILE%\AppData\Roaming\EliteG19s\"
xcopy "%USERPROFILE%\AppData\Local\Frontier Developments\Elite Dangerous\Options\Bindings\StartPreset.3.0.start" "%USERPROFILE%\AppData\Local\Frontier Developments\Elite Dangerous\Options\Bindings\StartPreset.start" /y
:CHKSTART
CD "C:\Steam"
START "" "C:\Steam\Steam.exe" -applaunch 359320 -Steam -novr -nointro
Message to Devs : Please, this is easy to patch, just make Horizon stop overwriting the file or make two files ...
Edit : 06/09/2021 STILL AN ISSUE !
Edit : 02/12/2021 STILL AN ISSUE !
Edit : 15/02/2022 seems patched, but can still bug sometimes !
Asked by
@Parduz my full starting script (code cleaned)