"HELP ME BUILD A DATABASE OF JOYSTICK INFORMATION, PLEASE!" In Sturmbhanfahrer, there is no joystick settings menu, or a joystick calibration procedure. Instead, this game relies on a database with joystick information. This database is just starting to grow, so I need your help on this. If your gamepad or joystick is not known to the database, you can only play with keyboard. Each joystick devices basically has two types of features. It has buttons, and it has axes. The database has to know what type these buttons and axes are. An axes can represent the angle of a steering wheel, the angle of a foot paddle, it can be part of a 2D stick, it can be an analog shoulder trigger, or it can even be the x or y part of a digital pad (DPAD or HAT). A button can be a generic button, a shoulder button, or even represent a pressed down stick. All this information is represented with a single sequence of integers, like this: const char *name0005 = "Saitek Saitek P3000 RF Game-Pad"; int desc0005[] = { JOYDB_STICK_AXES, 0, 1, 2, 3, JOYDB_WHEEL_AXES, JOYDB_FOOT_PADDLE_AXES, JOYDB_SHIFT_PADDLE_BUTTONS, JOYDB_SHOULDER_AXES, JOYDB_SHOULDER_BUTTONS, 6, 7, JOYDB_GENERIC_BUTTONS, 0,1,2,3,4,5, JOYDB_DPAD_AXES, 4, 5, JOYDB_DPAD_BUTTONS, JOYDB_STICK_PRESS, 8, 9, JOYDB_END_TOKEN }; An entry that shows the sticks, from left to right, first horizontal axis, then the vertical axis. An entry that shows the wheel axes. An entry that shows the paddle axes, from left to right. An entry that shows shift paddles. An entry that shows the shoulder triggers with scalar values, first left, then right. An entry that shows the shoulder buttons with binary values, first left, then right. An enty that shows the generic buttons. An entry that shows the DPAD axes, horizontal first. An entry that shows the DPAD buttons, horizontal first. An entry that shows the buttons that represent pressed down sticks. You can provide me with an entry for the db (or put one in yourself, in the file joydb.h) by doing the following: You need to run the linux utility called 'jstest' (preferably in a very wide xterm). $ jstest /dev/input/js0 You need to mark which button goes where, and which axis goes where. Also, note down the exact name of the device reported by jstest, including the whitespace. This goes into the joydb.h file as well. Entries for this db (please check them first with the game) can be mailed to b.stolk at gmail.com