From: Pavel Machek <pavel@ucw.cz>
To: Jiri Kosina <jikos@kernel.org>
Cc: dmitry.torokhov@gmail.com, vojtech@suse.cz,
linux-input@vger.kernel.org,
kernel list <linux-kernel@vger.kernel.org>
Subject: Re: Proper support for Saitek X36F joystick
Date: Wed, 28 Oct 2020 18:32:17 +0100 [thread overview]
Message-ID: <20201028173217.GA25456@amd> (raw)
In-Reply-To: <nycvar.YFH.7.76.2010281728260.18859@cbobk.fhfr.pm>
[-- Attachment #1: Type: text/plain, Size: 2703 bytes --]
On Wed 2020-10-28 17:29:23, Jiri Kosina wrote:
> On Wed, 28 Oct 2020, Pavel Machek wrote:
>
> > So no, I can't even replace it with equivalent one. Perhaps hrdc got
> > decompilation wrong, or I'm doing something else wrong.
>
> You don't need to do any decompilation -- the descriptor can be obtained
> from /sys/kernel/debug/hid/<device>/rdesc (also lsusb in verbose enough
> mode should present it in case no driver is bound to the device).
I discovered problem in the meantime. hrdc (I was using to de-compile
and re-compile hid descriptors) was adding padding.
But thanks for the pointer. That is very useful:
This device has four hat switches... I declared two so far
0x0b, 0x39, 0x00, 0x01, 0x00, // Usage (desktop.HatSwitch)
0x35, 0x00, // PhysicalMinimum (0)
0x46, 0x3b, 0x01, // PhysicalMaximum (315)
0x15, 0x01, // LogicalMinimum (1)
0x25, 0x08, // LogicalMaximum (8)
0x65, 0x14, // Unit (Degree)
0x55, 0x00, // UnitExponent (0)
0x95, 0x01, // ReportCount (1)
0x75, 0x04, // ReportSize (4)
0x81, 0x42, // Input (Variable|NullState)
0x95, 0x01, // ReportCount (1)
0x75, 0x02, // ReportSize (2)
0x81, 0x03, // Input (Constant|Variable)
0x0b, 0x39, 0x00, 0x01, 0x00, // Usage (desktop.HatSwitch)
0x35, 0x00, // PhysicalMinimum (0)
0x46, 0x3b, 0x01, // PhysicalMaximum (315)
0x15, 0x01, // LogicalMinimum (1)
0x25, 0x08, // LogicalMaximum (8)
0x65, 0x14, // Unit (Degree)
0x55, 0x00, // UnitExponent (0)
0x95, 0x01, // ReportCount (1)
0x75, 0x04, // ReportSize (4)
0x81, 0x42, // Input (Variable|NullState)
0xc0, // EndCollection
...but Linux seems to only recognize first of them:
GenericDesktop.HatSwitch ---> Absolute.Hat0X
GenericDesktop.HatSwitch ---> Sync.Report
Is there way to get extra hats mapped as Hat1X, Hat2X and Hat3X?
(Plus, they may have different bit orders than hid expects...?)
I'm thinking that maybe I should ignore this hid stuff and just do
"normal" driver in C? Is there precedent/example for that?
Best regards,
Pavel
--
http://www.livejournal.com/~pavelmachek
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
prev parent reply other threads:[~2020-10-28 22:27 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-27 12:42 Proper support for Saitek X36F joystick Pavel Machek
2020-10-27 19:10 ` Jiri Kosina
2020-10-27 21:07 ` Pavel Machek
2020-10-28 16:26 ` Pavel Machek
2020-10-28 16:29 ` Jiri Kosina
2020-10-28 17:32 ` Pavel Machek [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201028173217.GA25456@amd \
--to=pavel@ucw.cz \
--cc=dmitry.torokhov@gmail.com \
--cc=jikos@kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=vojtech@suse.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.