Too keen to use evdev (/dev/input/event%d) for joysticks, so ignores calibration
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
libsdl1.2 (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: libsdl1.
I have a USB joystick which requires calibration (Saitek Cyborg 3D USB, ID 06a3:0006). I can calibrate it with jscal, but all SDL games (such as the Freespace port at http://
http://
(look for "joydev_pattern" and "calibrate" in here)
SDL prefers to use /dev/input/event%d instead of /dev/input/js%d, even knowing there is no way to calibrate an event device. Therefore, if you have a joystick that (1) needs calibration and (2) also appears as an event device, you lose.
Workarounds:
* Set SDL_JOYSTICK_
* rmmod evdev (quite likely to lose any unusual input devices you have).
* Compile your own SDL with --disable-
Possible fixes:
* Compile SDL with --disable-
* Tweak SDL_sysjoystick.c to prefer /dev/input/js0. Breaks things for anyone whose joystick needs the "extra information".
* Best, in my opinion: extend the "special_joysticks" structure at the top of that file with a list of joystick names for which evdev should never be used, starting with "SAITEK CYBORG 3D USB".
Status changed to 'Confirmed' because the bug affects multiple users.