Re: Proper support for Saitek X36F joystick

From: Pavel Machek
Date: Wed Oct 28 2020 - 18:22:09 EST


Hi!

> > > This is from 4.19, but I doubt this changed recently.
> > >
> > > Saitek X36F+X35T combination is detected like this... in short one
> > > hat, no switches, and lot of buttons.
> > >
> > > In reality, combination has 4 four-way switches (hats?), 2 slider
> > > switches (three positions) and lot less buttons. Sliders and 3 of 4
> > > hats are detected as groups of buttons. Last hat is strange, I can't
> > > see anything that corresponds to it on evtest, and as long as it is
> > > pushed in any direction, all the other events stop. (It is also one
> > > I'd like to use).
> > >
> > > What needs to be done to get more useful mapping for userspace?
> >
> > It wouldn't be the first device produced by Saitek that has completely
> > bogus report descriptor.
> >
> > The most straightforward way would be to let hid-saitek module claim the
> > device, and fix the report descriptor (saitek_report_fixup()) before it's
> > passed to hid parser so that it actually describes the events produced.
> >
> > You can either patch individual bytes (that's what saitek_report_fixup()
> > is currently doing for another device), or replace the whole descriptor
> > completely (see e.g. hid-kye for inspiration how this is done).
>
> Thank you... replacing whole descriptors is rather easy.
>
> Coming up with descriptors that works ... not so :-(. I can replace
> descriptor with equivalent one, but things get horribly confused as
> soon as I really try to change anything.

So no, I can't even replace it with equivalent one. Perhaps hrdc got
decompilation wrong, or I'm doing something else wrong.

Best regards,
Pavel
--
http://www.livejournal.com/~pavelmachek

Attachment: signature.asc
Description: Digital signature