EmulationStation
EmulationStation copied to clipboard
Trouble understanding mSkipAxis
I'm having trouble understanding mSkipAxis in filterTrigger().
The variable isn't setup and just assumed to be false.
Once it's true, it stays true, even if the device configuration later reaches a non-Trigger inputID and the device wants to use Axis 2 or 5 there.
So there can be edge cases where a device won't configure properly.
Would it be okay to just remove mSkipAxis, even if it causes more calls to strstr during the configuration run?
The purpose of mSkipAxis was to work around an issue I encountered during configuration with my DS3 controller: the left and right trigger would map correctly, but the next item after the right trigger - left thumb - would be erroneously skipped over.
Can you check and see if the same issue occurs with your BigBen controller when mSkipAxis is removed? Thanks.
Ah, that makes sense. Thanks for explaining, that makes my original interpretation of how it works wrong. The edge case remains, though, so will look into this.
Something like this might improve mSkipAxis behaviour: https://github.com/RetroPie/EmulationStation/compare/master...psyke83:mSkipAxis_fix
If you think this implementation is incorrect or may still cause edge cases, let me know... otherwise I can submit as-is.
Thanks. Yes, I do think that's the possible edge case, but let me test this first. (After the weekend, though.)
Maybe just leave it as it is for now. The edge case I described is just that - an edge case. I will try to offer a proper fix for #568 some time later, but until then the existing behaviour of EmulationStation seems fine. Thanks.