You’re getting the same results I was, Richard. Pressing a button registers as an axis change, which it shouldn’t. (At least it shouldn’t, in my opinion.). Your axis is the left joystick (or D-pad, depending on settings), and have nothing to do with a button press.
The only solution I found for the issue is to introduce a tolerance level to rule out false axis updates. Each time it registers, the program only reports a change of 0.001, or so, from the axis being off center. To get rid of the false positives, I no longer check for values <> 0, but instead:
IF ABS(_AXIS(i)) > 0.1 THEN...
You can change the line and test it again, if you want, and I believe those false positives will go away.
The end result, with this change, makes the controller a little less sensitive, requiring a heavier push in any direction on the joystick to count as an event, but it eliminates the false positives with the buttons, for us.