EmulationStation icon indicating copy to clipboard operation
EmulationStation copied to clipboard

Trouble understanding mSkipAxis

Open hzulla opened this issue 6 years ago • 5 comments

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?

hzulla avatar Jul 26 '19 11:07 hzulla

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.

psyke83 avatar Jul 26 '19 14:07 psyke83

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.

hzulla avatar Jul 26 '19 20:07 hzulla

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.

psyke83 avatar Jul 26 '19 20:07 psyke83

Thanks. Yes, I do think that's the possible edge case, but let me test this first. (After the weekend, though.)

hzulla avatar Jul 26 '19 20:07 hzulla

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.

hzulla avatar Aug 06 '19 14:08 hzulla