Re: Simple approach to write PS3/PS4 usermode driver?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 16 February 2016 Clément VUCHENER wrote:
> 2016-02-16 20:45 GMT+01:00 Manuel Reimer:
> > On 02/15/2016 10:34 PM, Antonio Ospite wrote:  
> >>
> >> Have you tried loading hid.ko with the ignore_special_drivers=1
> >> parameter? I guess that will ignore _all_ special drivers tho, even
> >> mouse and keyboard ones.  
> >
> >
> > Exactly. And so it is not what I planned to do.
> >  
> >> Alan Ott's hidapi[1] is a better alternative to libusb for hid
> >> devices.  
> >
> >
> > Of course, but just for fun, I'll at least try to use libusb directly. There
> > are many examples on the net. I've already collected some code snippets to
> > use.
> >  
> >> I reckon a patched kernel is not an option, is it?  
> >
> >
> > The kernel side driver does a great job. It has minor bugs (kernel panic
> > when disconnecting controller while in game), but nothing too bad.
> >
> > My plan is to remap to Xbox gamepad button mapping so games actually work
> > with the controller. In fact, I bought a brand new PS4 controller just for
> > my driver project. At least so far, I only own the PS3 console.

Have you tried event remapping as supported by evdev?

Have a look at EVIOCGKEYCODE and EVIOCSKEYCODE ioctls for event devices.

Those might be sufficient to perform your remapping (as long as games don't
do magic based on event device identification).

Best regards,
Bruno

> > What I've done so far is to write a daemon which connects to the existing
> > event device to get events from there, but this didn't really work as games
> > still see the original controller.  
> 
> Do you mean that games still see the events from the device? In that
> case you can grab the event device so you are the only one that can
> see the events.
> 
> If your problem is that the game only look at the first joystick
> device, for SDL games, you can try the SDL_JOYSTICK_DEVICE env var
> (set to the event node, not the js node IIRC) to force the use of a
> specific joystick.
> 
> If the game only open /dev/input/js0, you could try to reserve it
> before your gamepad is connected then replace with a new instance of
> you daemon. I never had to go that far yet.
> 
> I have the same problems with my WiiU gamepad but so far I managed to
> make every games work with either xboxdrv+SDL_JOYSTICK_DEVICE or with
> SDL_GAMECONTROLLERCONFIG (for modern SDL games).
> 
> >
> > That's why my current plan is to connect one layer deeper so the original
> > event devices aren't created at all.
> >
> > My reason for userspace is, that it's easier to debug and for the potential
> > end user it is easier to install. I just had too much trouble with dkms in
> > the past.
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux