Avoiding USB Joystick confusion

Hi!
We have three USB joysticks.
It of course matters to us which one performs which function.
We have learned that if we always plug them in in the same order, things work fine, but otherwise, they may get mixed up.
Is there any other way to handle this so they stay consistent, no matter what order we connect things in?
Martin Haeberli
(de-)mentor, FRC 3045 Gear Gremlins (formerly SWAT)

You can just go to the USB page on driver station and reorder the joysticks by dragging them to the new spot. You can also click a button on a joystick and it will flash to show you which one is in which spot.

Additionally, you can double-click on any joystick entry on the Driver Station Setup tab and it will underline it.
The underline indicates that it is locked to that USB position.

Correct me if I am wrong Mark, but I believe that if the joysticks are all the same kind this will not help because the three joysticks could still go in any order because the DS cannot tell the difference between them. It would help if they were different kinds because then the DS would know to place them in the right slots.

It depends on the model joystick.
Some sticks provide a unique identifier and those don’t get mixed up.
But yea, the old Attach 3 joysticks do all look alike to the Driver Station.

Those that have serial numbers are very rare.

The port the joystick is plugged into is often involved in the identification, so consistency in where they are plugged will help.

Also, DirectInput and XInput are both used for joysticks since XInput only does Xbox controllers and it does them better than DirectInput does. Anyway, they do not enumerate the same way. If you are consistent with how and where you plug them, the enumeration should be consistent.

Greg McKaskle

We had a joystick mix up in 2011 lead to the drivetrain driver reaching across the operator console to work forward and lateral movement on a joystick we had mounted sideways for the arm operator.

After that, we’ve had joystick order check as one of the pre match tasks of the driver in charge of setting up the operator console. Pull up the USB tab, click buttons to verify order, and fix it if it’s wrong. I highly recommend it even if you think the enumeration should always be the same based on some other pre match procedure.