Possible stick config bug combined with user error
-
kmunoz
- Ensign

- Posts: 48
- Joined: Sun May 17, 2015 9:00 pm
Possible stick config bug combined with user error
I've discovered either a weird bug or a problem I'm causing. Because my laptop is stupid I have to use hibernate to prevent it from waking from sleep. But my new VKB joystick doesn't like to wake up from hibernate, I have to unplug and re-plug. If I forget, and then go into Evochron, the game (for obvious reasons) doesn't detect the stick and resets all of the assigned buttons to device 1 button 1 or something to that effect. If I quit Evochron and then get the stick working and re-load Evochron, the assigned buttons are still device 1 button 1. And all of the axes are unassigned. Load Custom Config (which I'd saved when I set up the stick initially) doesn't appear to do anything. So I end up having to reassign all of my buttons and axes.
-
Vice
- Administrator

- Posts: 12227
- Joined: Fri Apr 25, 2003 1:38 am
Re: Possible stick config bug combined with user error
Control configurations shouldn't change just because a device may not be plugged in or doesn't register after a restoration from hibernate, so that is weird. Lets try this procedure to set up a new control template under the latest revision to the format that was updated for the 2.0828 version:
- If needed to clear out any 'Device 1, Button 1' mappings, select the VKB device from the drop down menu, then select one of the default control profiles listed in the 'Load Control Device Profile' option in the Axis Configuration menu. Doesn't matter which one, it's just being used to clear out any corrupt/invalid mappings.
- Once that is done, verify that any invalid mappings have been properly removed. If not, let me know. If things are properly mapped and listed, even though mapped for a different device, proceed to the next step.
- Right click on the custom profile you originally made for the VKB in the 'Load Custom Device Profile' menu. Or alternatively, copy the profile file to another location to back it up.
- Rebuild it by mapping the axis and buttons controls you want using the now revised template in the 2.0828 build. Once all controls have been remapped, save the new custom profile with the 'Save Custom Device Profile' option in the Axis Configuration menu.
From there, see if the problem resurfaces or if the controls remain even after a loss of signal. If things show up as 'Device 1, Button 1' again, see if loading the new custom profile restores things as they should be.
- If needed to clear out any 'Device 1, Button 1' mappings, select the VKB device from the drop down menu, then select one of the default control profiles listed in the 'Load Control Device Profile' option in the Axis Configuration menu. Doesn't matter which one, it's just being used to clear out any corrupt/invalid mappings.
- Once that is done, verify that any invalid mappings have been properly removed. If not, let me know. If things are properly mapped and listed, even though mapped for a different device, proceed to the next step.
- Right click on the custom profile you originally made for the VKB in the 'Load Custom Device Profile' menu. Or alternatively, copy the profile file to another location to back it up.
- Rebuild it by mapping the axis and buttons controls you want using the now revised template in the 2.0828 build. Once all controls have been remapped, save the new custom profile with the 'Save Custom Device Profile' option in the Axis Configuration menu.
From there, see if the problem resurfaces or if the controls remain even after a loss of signal. If things show up as 'Device 1, Button 1' again, see if loading the new custom profile restores things as they should be.
-
Vice
- Administrator

- Posts: 12227
- Joined: Fri Apr 25, 2003 1:38 am
Re: Possible stick config bug combined with user error
I've tested multiple device configurations and things seems to be working properly for me, so I haven't been able to duplicate the red mappings issue.
Here are some thoughts and tools you can use to explore the issue further, which might reveal something:
- With any device configuration at launch, the 'stickdevices-advanced.sw' files in the save data folder (\Documents\EvochronLegacySE) will contain what the game sees as reported by Windows (via DirectInput). So you can check that file any time to observe how many devices Windows reported and in what indexes.
- Control profiles are indeed index agnostic. So you can always select a device in whatever index it might be in and then apply a profile to it. If you remove devices from the list and then launch the game, mappings can cascade to either another device by the same name or to a new device in the same index. But this should not produce any 'Device 1, Button 1' red mappings, that may be caused by something else. Whenever you apply a custom profile that uses the current template, it should clear out any null/duplicate mappings in favor of either blanks (-1) or new mappings (0-127).
- If you want to test forcing the game to stick to assigned indexes rather than it trying to dynamically reassign any should they changes, create a small text file that can contain anything in the save data folder named 'stickidmode.txt' and that will force the game to leave mapped control indexes in place regardless of what may change in Windows. Just keep in mind that if Windows ever shuffles them or changes their order, the game will no longer adapt to the changes automatically and you'll need to manually reapply custom control profiles to each device.
- This utility allows you to see live data on device names, index assignments, and input for analysis: https://www.starwraith.com/evochronlega ... vanced.zip
- Then if the problem persists and you aren't able to sort out a work around, I'd be interested in the custom profile files (CustomProfile#-advanced.sw) you are using along with the 'keymap8-advanced.sw', 'stickdevices-advanced.sw', and 'stickt-advanced.sw' files for reference (e-mail is likely best).
Edit: Part of the cause seemed to be related to using the 'Limited' control input mode, switching to the 'Advanced' mode allowed things to work as needed.
Here are some thoughts and tools you can use to explore the issue further, which might reveal something:
- With any device configuration at launch, the 'stickdevices-advanced.sw' files in the save data folder (\Documents\EvochronLegacySE) will contain what the game sees as reported by Windows (via DirectInput). So you can check that file any time to observe how many devices Windows reported and in what indexes.
- Control profiles are indeed index agnostic. So you can always select a device in whatever index it might be in and then apply a profile to it. If you remove devices from the list and then launch the game, mappings can cascade to either another device by the same name or to a new device in the same index. But this should not produce any 'Device 1, Button 1' red mappings, that may be caused by something else. Whenever you apply a custom profile that uses the current template, it should clear out any null/duplicate mappings in favor of either blanks (-1) or new mappings (0-127).
- If you want to test forcing the game to stick to assigned indexes rather than it trying to dynamically reassign any should they changes, create a small text file that can contain anything in the save data folder named 'stickidmode.txt' and that will force the game to leave mapped control indexes in place regardless of what may change in Windows. Just keep in mind that if Windows ever shuffles them or changes their order, the game will no longer adapt to the changes automatically and you'll need to manually reapply custom control profiles to each device.
- This utility allows you to see live data on device names, index assignments, and input for analysis: https://www.starwraith.com/evochronlega ... vanced.zip
- Then if the problem persists and you aren't able to sort out a work around, I'd be interested in the custom profile files (CustomProfile#-advanced.sw) you are using along with the 'keymap8-advanced.sw', 'stickdevices-advanced.sw', and 'stickt-advanced.sw' files for reference (e-mail is likely best).
Edit: Part of the cause seemed to be related to using the 'Limited' control input mode, switching to the 'Advanced' mode allowed things to work as needed.

