That’s the solution I came up with as well to eliminate that false positive:
IF ABS(ax) > 0.01 THEN ‘Axis changed
For whatever reason, _DEVICES doesn’t reset all the way to 0 on my joystick, once I press a button. The axis state stays around -0.0078.... (the same as your Analogic OFF)
With STICK, our scale of input is slightly larger than this minute amount off, so it reads 127 (dead center), as it should, rather than 126, which would be the next point off center.
My only concern with the tolerance limitation was when you posted the screenshot of moving the axis and getting false positives on the buttons. Our buttons are only 0 or -1, so we can’t adjust a tolerance level for those! Luckily, that’s a controller setting/option on your joystick, and not something we have to worry about.
I think a tolerance level on the axis, as above, can eliminate those false positives for us and have everything reading properly. (Though I’d probably end up setting my stress test at around 0.1, instead of 0.001, just to rule out any problems with someone who might have a controller that glitches even a little more than ours do.)