It has a quirk and doesn't behave the same as a Microsoft Xbox One controller and doesn't even work as a UHID device on FreeBSD either (even on Linux it needed a special driver to deal with its odd behavior). I'm not surprised that the PDP controller is behaving diffeently. A third controller, a PDP brand Xbox One controller isn't detected by Xorg at all without manual configuration, and even then it is detected as a mouse. var/log/Xorg.0.log shows that the X server is recognizing two of my tested controllers as mice (Logitech Dual Action, and an iNNEXT USB SNES pad). According to the webcamd author, this evdev device is generic and should "just work". Indeed I have a /dev/input/event4 device when using webcamd to set up a controller. I did contact the author of webcamd, and he did clarify that /dev/input/js0 is the old Linux joystick API, but that /dev/input/eventx was also created by webcamd to provide an evdev interface for the joystick/gamepad. I appreciate you offering a patch, but what does your patch do? As I mentioned above, I can already use gamepads on some specific applications - typically SDL-based applications - like PCSXR or SNES9x via UHID support.
But I have met with a lot of frustration regarding this functionality.
Shkhln, I apologize if I sound like I'm whining. It doesn't make anything work it just prevents applications that can access the controller directly from being able to use it. Likewise for the hidd daemon some people suggest using. So far, the only success I've had with USB controllers on FreeBSD is to make sure webcamd is *not* loaded so that SDL applications can use it as an HID device. Honestly, I would pay just to get Xbox and Playstation controllers to be "plug 'n' play" on FreeBSD. I'm not a rich man, but I'd pay a bounty of $50.maybe even $100 to a dev who could get game controllers working on FreeBSD without the major headaches, frustration, and failure that is the case now. Heck, I've only had a 50% success rate out of two webcams I've tried to get working with it. I have, and I have had zero success out of three different controllers I've tried.
The people touting webcamd and Linux drivers as a solution likely haven't actually tried to use webcamd to get a game controller to work on FreeBSD.