lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 27 Oct 2020 20:10:46 +0100 (CET)
From:   Jiri Kosina <jikos@...nel.org>
To:     Pavel Machek <pavel@....cz>
cc:     dmitry.torokhov@...il.com, vojtech@...e.cz,
        linux-input@...r.kernel.org,
        kernel list <linux-kernel@...r.kernel.org>
Subject: Re: Proper support for Saitek X36F joystick

On Tue, 27 Oct 2020, Pavel Machek wrote:

> 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).

-- 
Jiri Kosina
SUSE Labs

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ