Pimoroni Player X USB - Joystick incorrect joystick values

Hi all, I’m a game designer & programmer working on a Unity project and I’m trying to set up a Picade Player X board and a Joystick & 6 buttons for the input for the project. My problem is thus:

The joystick gives me odd input values which are not usable in Unity as follows:

  • Left = Up (-0.01, 1.00)
  • Right = Up (0.01, 1.00)
  • Up = Left (-1.00, 0.01)
  • Down = Left (-1.00, -0.01)

Things we’ve tried:

  • Bought a 2nd Pimoroni Player X USB from Core Electronics - similar results.
  • Confirmed the 6 face buttons work correctly (non-joystick)
  • I have tried 2 joysticks, both give exactly the same values. (Both sticks from Pimoroni, through Core Electronics)
  • I have plugged the joystick into the board right-way-up & upside down. When upside down only the left works
  • I have tested the old & new input systems in new unity projects, on 4 separate Windows PC’s and get the same values. Tried both Win 10 and Win 11.
  • I have tested 4 different USB cables, both of which work with other devices and got the same values.
  • I have tested multiple USB ports on all the Windows PCs and got the same values.
  • I have tested it on supposedly plug-and-play games on steam and the xbox app on pc.
  • I have tested it on https://gamepad-tester.com/ (neutral joystick is somehow always set on the lower-right corner), only left and up works at axis0(-1) and axis1(-1) only.

My thinking at this stage is there is something wrong/ miscalibrated with the board? Has anyone else had this problem?

Looking forward to how we can troubleshoot this.

2 Likes

Unity screenshot:

3 Likes

Hi Carlo,

Welcome to the forum :grinning:

I’ve just grabbed a joystick and Player X USB board the same as yours from stock and tested them on the bench here.
I’m getting the same result with the gamepad-tester you linked. Each input is definitely detected because the timestamp updates for each direction I move the joystick, but the two axes are only setup for a 2 position switch on that site, so it looks like Right and Down do nothing.

The Player X USB board was immediately detected as a USB HID device as soon as I connected it without the need for any drivers, so as long as you can see HID-compliant game controller listed under HID devices in your windows device manager then I’d say it’s not an issue with the hardware being detected.

I think the trick will be getting the HID device interpreted correctly as from a hardware perspective it seems all the right signals are getting through with the unit I’ve got setup here. Can you confirm if the timestamp on gamepad-tester updates for you with all 4 directions and you can see the Player X detected in device manager?

Hi Trent!

Thank you for the response, as well as welcome me to the forum. :slight_smile:
I can confirm that the timestamp on gamepad-tester updates for me on all 4 direction, and I can see the Player X detected on the site, as well as on steam and Unity.

On the device manager, it simply pops up as a “USB Composite Device”

I have also tested this on Gamepad & Controller Tester | DeviceTests to check if we get different results. And it seems to be the same with the previous gamepad tester site.

What would be the next step to troubleshoot this?

Screenshot on Steam:
Binding the four Joystick directions only result in either Axis 1 or Axis 0 (2 inputs)
Screenshot:
image
image