Problem:
When using the "Super JoyBox 5" 4 port playstation 2 to USB adapter, the device is not recognized as a joystick. there is no js0 created, but instead another input eventX and mouseX are created in /dev/input. When using the directional buttons (up down left right) on a Playstation 1 controller attached to the device, the mouse cursor moves to the top, bottom, left, and right edges of the screen respectively. Buttons are unresponsive. The joypads attached to the device cannot be used in any games or other programs.
Attempted remedies:
Creating a symlink from the eventX to js0 does not solve the problem.
Addl Info:
joydev is loaded and running peroperly according to LSMOD. evtest can be run on the created eventX (sudo evtest /dev/input/event14 in my case) and the buttons and axes all register inputs. Here is a paste of EVTEST's diagnostic and the first couple button events.
[code]
sudo evtest /dev/input/event14
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x925 product 0x8884 version 0x100
Input device name: "HID 0925:8884"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 288 (BTN_TRIGGER)
Event code 289 (BTN_THUMB)
Event code 290 (BTN_THUMB2)
Event code 291 (BTN_TOP)
Event code 292 (BTN_TOP2)
Event code 293 (BTN_PINKIE)
Event code 294 (BTN_BASE)
Event code 295 (BTN_BASE2)
Event code 296 (BTN_BASE3)
Event code 297 (BTN_BASE4)
Event code 298 (BTN_BASE5)
Event code 299 (BTN_BASE6)
Event code 300 (?)
Event code 301 (?)
Event code 302 (?)
Event code 303 (BTN_DEAD)
Event code 304 (BTN_A)
Event code 305 (BTN_B)
Event code 306 (BTN_C)
Event code 307 (BTN_X)
Event code 308 (BTN_Y)
Event code 309 (BTN_Z)
Event code 310 (BTN_TL)
Event code 311 (BTN_TR)
Event code 312 (BTN_TL2)
Event code 313 (BTN_TR2)
Event code 314 (BTN_SELECT)
Event code 315 (BTN_START)
Event code 316 (BTN_MODE)
Event code 317 (BTN_THUMBL)
Event code 318 (BTN_THUMBR)
Event code 319 (?)
Event code 320 (BTN_TOOL_PEN)
Event code 321 (BTN_TOOL_RUBBER)
Event code 322 (BTN_TOOL_BRUSH)
Event code 323 (BTN_TOOL_PENCIL)
Event code 324 (BTN_TOOL_AIRBRUSH)
Event code 325 (BTN_TOOL_FINGER)
Event code 326 (BTN_TOOL_MOUSE)
Event code 327 (BTN_TOOL_LENS)
Event code 328 (?)
Event code 329 (?)
Event code 330 (BTN_TOUCH)
Event code 331 (BTN_STYLUS)
Event code 332 (BTN_STYLUS2)
Event code 333 (BTN_TOOL_DOUBLETAP)
Event code 334 (BTN_TOOL_TRIPLETAP)
Event code 335 (BTN_TOOL_QUADTAP)
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value 127
Min 0
Max 255
Flat 15
Event code 1 (ABS_Y)
Value 127
Min 0
Max 255
Flat 15
Event code 2 (ABS_Z)
Value 127
Min 0
Max 255
Flat 15
Event code 3 (ABS_RX)
Value 127
Min 0
Max 255
Flat 15
Event code 4 (ABS_RY)
Value 127
Min 0
Max 255
Flat 15
Event code 5 (ABS_RZ)
Value 127
Min 0
Max 255
Flat 15
Event code 6 (ABS_THROTTLE)
Value 127
Min 0
Max 255
Flat 15
Event code 7 (ABS_RUDDER)
Value 127
Min 0
Max 255
Flat 15
Event code 8 (ABS_WHEEL)
Value 127
Min 0
Max 255
Flat 15
Event code 9 (ABS_GAS)
Value 127
Min 0
Max 255
Flat 15
Event code 10 (ABS_BRAKE)
Value 127
Min 0
Max 255
Flat 15
Event code 11 (?)
Value 127
Min 0
Max 255
Flat 15
Event code 12 (?)
Value 127
Min 0
Max 255
Flat 15
Event code 13 (?)
Value 127
Min 0
Max 255
Flat 15
Event code 14 (?)
Value 127
Min 0
Max 255
Flat 15
Event code 15 (?)
Value 127
Min 0
Max 255
Flat 15
Event code 16 (ABS_HAT0X)
Value 0
Min -1
Max 1
Event code 17 (ABS_HAT0Y)
Value 0
Min -1
Max 1
Event code 18 (ABS_HAT1X)
Value 0
Min -1
Max 1
Event code 19 (ABS_HAT1Y)
Value 0
Min -1
Max 1
Event code 20 (ABS_HAT2X)
Value 0
Min -1
Max 1
Event code 21 (ABS_HAT2Y)
Value 0
Min -1
Max 1
Event code 22 (ABS_HAT3X)
Value 0
Min -1
Max 1
Event code 23 (ABS_HAT3Y)
Value 0
Min -1
Max 1
Event type 4 (EV_MSC)
Event code 4 (MSC_SCAN)
Testing ... (interrupt to exit)
Event: time 1351223176.126127, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001
Event: time 1351223176.126130, type 1 (EV_KEY), code 288 (BTN_TRIGGER), value 1
Event: time 1351223176.126166, -------------- SYN_REPORT ------------
Event: time 1351223178.238127, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001
Event: time 1351223178.238130, type 1 (EV_KEY), code 288 (BTN_TRIGGER), value 0
Event: time 1351223178.238167, -------------- SYN_REPORT ------------
Event: time 1351223180.422127, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90002
Event: time 1351223180.422129, type 1 (EV_KEY), code 289 (BTN_THUMB), value 1
Event: time 1351223180.422163, -------------- SYN_REPORT ------------
Event: time 1351223181.558099, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90002
Event: time 1351223181.558102, type 1 (EV_KEY), code 289 (BTN_THUMB), value 0
Event: time 1351223181.558137, -------------- SYN_REPORT ------------
Event: time 1351223182.486137, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90003
Event: time 1351223182.486140, type 1 (EV_KEY), code 290 (BTN_THUMB2), value 1
Event: time 1351223182.486172, -------------- SYN_REPORT ------------
Event: time 1351223183.302130, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90003
Event: time 1351223183.302132, type 1 (EV_KEY), code 290 (BTN_THUMB2), value 0
Event: time 1351223183.302165, -------------- SYN_REPORT ------------
Event: time 1351223184.030133, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90004
Event: time 1351223184.030136, type 1 (EV_KEY), code 291 (BTN_TOP), value 1
Event: time 1351223184.030166, -------------- SYN_REPORT ------------
Event: time 1351223184.558135, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90004
Event: time 1351223184.558138, type 1 (EV_KEY), code 291 (BTN_TOP), value 0
Event: time 1351223184.558168, -------------- SYN_REPORT ------------
[/code]
The directional buttons on the pad are being identified as HAT0Y and HAT0X axes, thats zero, not the letter O.
Aparently, this device used to work flawlessly on kernel 2.4.x systems, and even as late as ubunto 10.04. Perhaps the Joydev rules for identifying joypads has changed? Currently, this kind of bug is affecting a few different type of controller adapters, but since this is the one that i PERSONALLY have (and has been driving me my own special brand of crazy), its the one im documenting.
What i think should be happening instead:
The device should be registering js0 through js3, one for each port, or JS0 that will handle all of the connected devices with different numbered axes for each connected joypad. Either way, it should work as a joystick and stop controlling the mouse cursor. Please help!