OnePAD + Dualshock 3 on Linux
#21
I have an old github account somewhere. I'll see if I can get into it and add the check box to the patch for the pull request.
Reply

Sponsored links

#22
Great. Thanks you.
Reply
#23
evdev only detecting 4 axes might have something to do with how the kernel interprets the HID device descriptor. I don't think you can get pressure values from the buttons through the evdev interface but you can get the values with the joystick interface (which is what jstest uses).

The left axis not working on the joystick interface might be a kernel bug, it's something I've been looking into fixing but I might just give up on fixing it myself and just report it to the kernel devs instead. It's something to do with the 12th axis - I patched my kernel to remove the extra nonexistent buttons and axes which moved the 12th axis from the D-pad left pressure to the R1 pressure and that stopped working instead.
Reply
#24
The purpose of this hack is this one:
DS3 button that support pressure are detected as both button (digital) and axis (pressure).

IIRC, the idea was to force the first as digital. I guess various kernel update change the behavior of this code.

Evdev used to report 2 events for each action, button pressed & axis modification. Various application doesn't support it well. Some only handle the button and some the axis. If evdev reports only buttons (I used to have something 20+ axes), I suspect they changed the behavior in the kernel to only report buttons.

Edit: initially it was only the first 4 buttons but due to the kernel "potential bug", I also disabled the next 4 (hat).
Reply
#25
Hmm, I wasn't aware that evdev used to report the buttons as both button + axis. I know the js interface does it however. What I have without patching the kernel is

/dev/input/js* - 19 buttons and 27 axis
/dev/input/event* - 19 buttons and 4 axis

If the evdev interface doesn't have enough permissions, I see 8 buttons and 27 axis on OnePad. With enough permissions, I see 8 buttons and 4 axis.
Reply
#26
(07-22-2015, 12:32 PM)turtleli Wrote: Hmm, I wasn't aware that evdev used to report the buttons as both button + axis. I know the js interface does it however.
Honestly, it is very old memory. So there is high probability that I'm wrong.

DS3 behavior is quite obscure.
Reply
#27
Just posted the pull request on github
Reply
#28
Maxxus - THANK YOU!!!

I've been fighting that L/R bug on the left joystick for days, and couldn't get it working. Your little change to SDL fixed it right up!
I signed up on the forum just to say that - you're awesome.
Reply




Users browsing this thread: 1 Guest(s)