I will add one thing I remembered. I'm using a joystick that has leaf switches. At first I tried to wire then into the encoder inputs labeled Up, Down, Left, and Right. It did not work out well at all. I noticed in the js0 program that when I activated a switch it would show 32768 and then back to 0 but every so often I'd see a 16384 value. I moved all those joystick switch inputs down to the bottom row of button inputs and it started working flawlessly. I never looked into it but with those large values it appeared to be expecting an analogue range for those connectors.