5.2. Joystick recognition

5.2.1. QJoyPad says it can't find any joysticks?

5.2.2. QJoyPad isn't showing all of my joysticks.

5.2.3. My joystick has more/fewer buttons/axes than that!

QJoyPad automatically recognizes your joysticks using the Linux joystick driver, so all joysticks must be working properly in Linux before they can be used in QJoyPad. If you can't see all of your joysticks or if QJoyPad complains it can't find any, chances are your joystick(s) are not plugged in or are not properly detected by Linux. If that's not it, QJoyPad could also be looking for your joysticks in the wrong directory.

First, double check that your joysticks are plugged in. If they aren't, plug them, load any modules you might need, and tell QJoyPad to Update joystick devices with the popup menu (remember, this menu is only accessible when the Setup Dialog is closed).

If you're still having trouble, QJoyPad might have been compiled with the devdir setting pointing to the wrong place. That option had to be set at compile time, and to change it you must recompile (see Section 2.2); however, if you don't want to bother with that, you can specify the location of your devices as an argument. Using the command "qjoypad --device /dev/input", for example, will start QJoyPad and tell it to look for joysticks in /dev/input/js0, /dev/input/js1, etc.

If that doesn't work, then you might want to make sure your joysticks are working properly. One way to test this is to do a "cat /dev/input/js0" (or wherever your joystick device is) and press a few buttons on the controller. If you get a bunch of crazy characters, it's working. If not, you'll have to fiddle around with kernel drivers, and should probably look elsewhere for guidance.

If for some reason QJoyPad is reporting the wrong number of buttons or axes for your device, that means the Linux joystick driver is also reporting the wrong number. Unless you can't get to buttons or axes that you need, this shouldn't be a problem, but if you want to get the number right, Try using a different driver or check out the documentation for the one you're using.

If your joysticks are working, plugged in, and my program is looking in the right place, then I'm not sure what to tell you. Unfortunately, I don't have a wealth of different devices and software setups to test on. If you're really stuck, drop me a line and I'll see what I can do.