From: Hans de Goede <hdegoede@redhat.com>
To: Julian Sax <jsbc@gmx.de>
Cc: Jiri Kosina <jikos@kernel.org>,
Benjamin Tissoires <benjamin.tissoires@redhat.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [GIT PULL] HID fixes
Date: Wed, 20 Jun 2018 09:06:08 +0200 [thread overview]
Message-ID: <b952c1f6-5866-d25e-32c2-ac0ded1812e2@redhat.com> (raw)
In-Reply-To: <nycvar.YFH.7.76.1806200611290.6203@cbobk.fhfr.pm>
[-- Attachment #1: Type: text/plain, Size: 882 bytes --]
Hi all,
On 20-06-18 06:19, Jiri Kosina wrote:
> On Wed, 20 Jun 2018, Linus Torvalds wrote:
>
>> What is that odd binary blob i2c_hid_desc_override, and where does the
>> data come from? Not explained anywhere.
>
> Fair enough; it's a pretty standard HID descriptor override, but you're
> right that we're usually replacing it in a bit more verbose way. Julian,
> could you please run that descriptor through something like HID descriptor
> tool, and send me a patch that reformats it? (for the way we usually do
> this, look for example in hid-sony.c).
Julian let me know if you need any help with this,
to format the HID descriptor take a file with
the raw descriptor in binary format and do:
cat descriptor.bin | hidrd-convert -o code
I've just done that to make sure my instructions are
right, so to save you having to redo this I've
attached the result.
Regards,
Hans
[-- Attachment #2: desc.c --]
[-- Type: text/x-csrc, Size: 18091 bytes --]
0x05, 0x01, /* Usage Page (Desktop), */
0x09, 0x02, /* Usage (Mouse), */
0xA1, 0x01, /* Collection (Application), */
0x85, 0x01, /* Report ID (1), */
0x09, 0x01, /* Usage (Pointer), */
0xA1, 0x00, /* Collection (Physical), */
0x05, 0x09, /* Usage Page (Button), */
0x19, 0x01, /* Usage Minimum (01h), */
0x29, 0x02, /* Usage Maximum (02h), */
0x25, 0x01, /* Logical Maximum (1), */
0x75, 0x01, /* Report Size (1), */
0x95, 0x02, /* Report Count (2), */
0x81, 0x02, /* Input (Variable), */
0x95, 0x06, /* Report Count (6), */
0x81, 0x01, /* Input (Constant), */
0x05, 0x01, /* Usage Page (Desktop), */
0x09, 0x30, /* Usage (X), */
0x09, 0x31, /* Usage (Y), */
0x15, 0x81, /* Logical Minimum (-127), */
0x25, 0x7F, /* Logical Maximum (127), */
0x75, 0x08, /* Report Size (8), */
0x95, 0x02, /* Report Count (2), */
0x81, 0x06, /* Input (Variable, Relative), */
0xC0, /* End Collection, */
0xC0, /* End Collection, */
0x05, 0x0D, /* Usage Page (Digitizer), */
0x09, 0x05, /* Usage (Touchpad), */
0xA1, 0x01, /* Collection (Application), */
0x85, 0x04, /* Report ID (4), */
0x05, 0x0D, /* Usage Page (Digitizer), */
0x09, 0x22, /* Usage (Finger), */
0xA1, 0x02, /* Collection (Logical), */
0x15, 0x00, /* Logical Minimum (0), */
0x25, 0x01, /* Logical Maximum (1), */
0x09, 0x47, /* Usage (Touch Valid), */
0x09, 0x42, /* Usage (Tip Switch), */
0x95, 0x02, /* Report Count (2), */
0x75, 0x01, /* Report Size (1), */
0x81, 0x02, /* Input (Variable), */
0x95, 0x01, /* Report Count (1), */
0x75, 0x03, /* Report Size (3), */
0x25, 0x05, /* Logical Maximum (5), */
0x09, 0x51, /* Usage (Contact Identifier), */
0x81, 0x02, /* Input (Variable), */
0x75, 0x01, /* Report Size (1), */
0x95, 0x03, /* Report Count (3), */
0x81, 0x03, /* Input (Constant, Variable), */
0x05, 0x01, /* Usage Page (Desktop), */
0x26, 0x44, 0x0A, /* Logical Maximum (2628), */
0x75, 0x10, /* Report Size (16), */
0x55, 0x0E, /* Unit Exponent (14), */
0x65, 0x11, /* Unit (Centimeter), */
0x09, 0x30, /* Usage (X), */
0x46, 0x1A, 0x04, /* Physical Maximum (1050), */
0x95, 0x01, /* Report Count (1), */
0x81, 0x02, /* Input (Variable), */
0x46, 0xBC, 0x02, /* Physical Maximum (700), */
0x26, 0x34, 0x05, /* Logical Maximum (1332), */
0x09, 0x31, /* Usage (Y), */
0x81, 0x02, /* Input (Variable), */
0xC0, /* End Collection, */
0x05, 0x0D, /* Usage Page (Digitizer), */
0x09, 0x22, /* Usage (Finger), */
0xA1, 0x02, /* Collection (Logical), */
0x25, 0x01, /* Logical Maximum (1), */
0x09, 0x47, /* Usage (Touch Valid), */
0x09, 0x42, /* Usage (Tip Switch), */
0x95, 0x02, /* Report Count (2), */
0x75, 0x01, /* Report Size (1), */
0x81, 0x02, /* Input (Variable), */
0x95, 0x01, /* Report Count (1), */
0x75, 0x03, /* Report Size (3), */
0x25, 0x05, /* Logical Maximum (5), */
0x09, 0x51, /* Usage (Contact Identifier), */
0x81, 0x02, /* Input (Variable), */
0x75, 0x01, /* Report Size (1), */
0x95, 0x03, /* Report Count (3), */
0x81, 0x03, /* Input (Constant, Variable), */
0x05, 0x01, /* Usage Page (Desktop), */
0x26, 0x44, 0x0A, /* Logical Maximum (2628), */
0x75, 0x10, /* Report Size (16), */
0x09, 0x30, /* Usage (X), */
0x46, 0x1A, 0x04, /* Physical Maximum (1050), */
0x95, 0x01, /* Report Count (1), */
0x81, 0x02, /* Input (Variable), */
0x46, 0xBC, 0x02, /* Physical Maximum (700), */
0x26, 0x34, 0x05, /* Logical Maximum (1332), */
0x09, 0x31, /* Usage (Y), */
0x81, 0x02, /* Input (Variable), */
0xC0, /* End Collection, */
0x05, 0x0D, /* Usage Page (Digitizer), */
0x09, 0x22, /* Usage (Finger), */
0xA1, 0x02, /* Collection (Logical), */
0x25, 0x01, /* Logical Maximum (1), */
0x09, 0x47, /* Usage (Touch Valid), */
0x09, 0x42, /* Usage (Tip Switch), */
0x95, 0x02, /* Report Count (2), */
0x75, 0x01, /* Report Size (1), */
0x81, 0x02, /* Input (Variable), */
0x95, 0x01, /* Report Count (1), */
0x75, 0x03, /* Report Size (3), */
0x25, 0x05, /* Logical Maximum (5), */
0x09, 0x51, /* Usage (Contact Identifier), */
0x81, 0x02, /* Input (Variable), */
0x75, 0x01, /* Report Size (1), */
0x95, 0x03, /* Report Count (3), */
0x81, 0x03, /* Input (Constant, Variable), */
0x05, 0x01, /* Usage Page (Desktop), */
0x26, 0x44, 0x0A, /* Logical Maximum (2628), */
0x75, 0x10, /* Report Size (16), */
0x09, 0x30, /* Usage (X), */
0x46, 0x1A, 0x04, /* Physical Maximum (1050), */
0x95, 0x01, /* Report Count (1), */
0x81, 0x02, /* Input (Variable), */
0x46, 0xBC, 0x02, /* Physical Maximum (700), */
0x26, 0x34, 0x05, /* Logical Maximum (1332), */
0x09, 0x31, /* Usage (Y), */
0x81, 0x02, /* Input (Variable), */
0xC0, /* End Collection, */
0x05, 0x0D, /* Usage Page (Digitizer), */
0x09, 0x22, /* Usage (Finger), */
0xA1, 0x02, /* Collection (Logical), */
0x25, 0x01, /* Logical Maximum (1), */
0x09, 0x47, /* Usage (Touch Valid), */
0x09, 0x42, /* Usage (Tip Switch), */
0x95, 0x02, /* Report Count (2), */
0x75, 0x01, /* Report Size (1), */
0x81, 0x02, /* Input (Variable), */
0x95, 0x01, /* Report Count (1), */
0x75, 0x03, /* Report Size (3), */
0x25, 0x05, /* Logical Maximum (5), */
0x09, 0x51, /* Usage (Contact Identifier), */
0x81, 0x02, /* Input (Variable), */
0x75, 0x01, /* Report Size (1), */
0x95, 0x03, /* Report Count (3), */
0x81, 0x03, /* Input (Constant, Variable), */
0x05, 0x01, /* Usage Page (Desktop), */
0x26, 0x44, 0x0A, /* Logical Maximum (2628), */
0x75, 0x10, /* Report Size (16), */
0x09, 0x30, /* Usage (X), */
0x46, 0x1A, 0x04, /* Physical Maximum (1050), */
0x95, 0x01, /* Report Count (1), */
0x81, 0x02, /* Input (Variable), */
0x46, 0xBC, 0x02, /* Physical Maximum (700), */
0x26, 0x34, 0x05, /* Logical Maximum (1332), */
0x09, 0x31, /* Usage (Y), */
0x81, 0x02, /* Input (Variable), */
0xC0, /* End Collection, */
0x05, 0x0D, /* Usage Page (Digitizer), */
0x55, 0x0C, /* Unit Exponent (12), */
0x66, 0x01, 0x10, /* Unit (Seconds), */
0x47, 0xFF, 0xFF, 0x00, 0x00, /* Physical Maximum (65535), */
0x27, 0xFF, 0xFF, 0x00, 0x00, /* Logical Maximum (65535), */
0x75, 0x10, /* Report Size (16), */
0x95, 0x01, /* Report Count (1), */
0x09, 0x56, /* Usage (Scan Time), */
0x81, 0x02, /* Input (Variable), */
0x09, 0x54, /* Usage (Contact Count), */
0x25, 0x7F, /* Logical Maximum (127), */
0x75, 0x08, /* Report Size (8), */
0x81, 0x02, /* Input (Variable), */
0x05, 0x09, /* Usage Page (Button), */
0x09, 0x01, /* Usage (01h), */
0x25, 0x01, /* Logical Maximum (1), */
0x75, 0x01, /* Report Size (1), */
0x95, 0x01, /* Report Count (1), */
0x81, 0x02, /* Input (Variable), */
0x95, 0x07, /* Report Count (7), */
0x81, 0x03, /* Input (Constant, Variable), */
0x05, 0x0D, /* Usage Page (Digitizer), */
0x85, 0x02, /* Report ID (2), */
0x09, 0x55, /* Usage (Contact Count Maximum), */
0x09, 0x59, /* Usage (59h), */
0x75, 0x04, /* Report Size (4), */
0x95, 0x02, /* Report Count (2), */
0x25, 0x0F, /* Logical Maximum (15), */
0xB1, 0x02, /* Feature (Variable), */
0x05, 0x0D, /* Usage Page (Digitizer), */
0x85, 0x07, /* Report ID (7), */
0x09, 0x60, /* Usage (60h), */
0x75, 0x01, /* Report Size (1), */
0x95, 0x01, /* Report Count (1), */
0x25, 0x01, /* Logical Maximum (1), */
0xB1, 0x02, /* Feature (Variable), */
0x95, 0x07, /* Report Count (7), */
0xB1, 0x03, /* Feature (Constant, Variable), */
0x85, 0x06, /* Report ID (6), */
0x06, 0x00, 0xFF, /* Usage Page (FF00h), */
0x09, 0xC5, /* Usage (C5h), */
0x26, 0xFF, 0x00, /* Logical Maximum (255), */
0x75, 0x08, /* Report Size (8), */
0x96, 0x00, 0x01, /* Report Count (256), */
0xB1, 0x02, /* Feature (Variable), */
0xC0, /* End Collection, */
0x06, 0x00, 0xFF, /* Usage Page (FF00h), */
0x09, 0x01, /* Usage (01h), */
0xA1, 0x01, /* Collection (Application), */
0x85, 0x0D, /* Report ID (13), */
0x26, 0xFF, 0x00, /* Logical Maximum (255), */
0x19, 0x01, /* Usage Minimum (01h), */
0x29, 0x02, /* Usage Maximum (02h), */
0x75, 0x08, /* Report Size (8), */
0x95, 0x02, /* Report Count (2), */
0xB1, 0x02, /* Feature (Variable), */
0xC0, /* End Collection, */
0x05, 0x0D, /* Usage Page (Digitizer), */
0x09, 0x0E, /* Usage (Configuration), */
0xA1, 0x01, /* Collection (Application), */
0x85, 0x03, /* Report ID (3), */
0x09, 0x22, /* Usage (Finger), */
0xA1, 0x02, /* Collection (Logical), */
0x09, 0x52, /* Usage (Device Mode), */
0x25, 0x0A, /* Logical Maximum (10), */
0x95, 0x01, /* Report Count (1), */
0xB1, 0x02, /* Feature (Variable), */
0xC0, /* End Collection, */
0x09, 0x22, /* Usage (Finger), */
0xA1, 0x00, /* Collection (Physical), */
0x85, 0x05, /* Report ID (5), */
0x09, 0x57, /* Usage (57h), */
0x09, 0x58, /* Usage (58h), */
0x75, 0x01, /* Report Size (1), */
0x95, 0x02, /* Report Count (2), */
0x25, 0x01, /* Logical Maximum (1), */
0xB1, 0x02, /* Feature (Variable), */
0x95, 0x06, /* Report Count (6), */
0xB1, 0x03, /* Feature (Constant, Variable), */
0xC0, /* End Collection, */
0xC0 /* End Collection */
next prev parent reply other threads:[~2018-06-20 9:06 UTC|newest]
Thread overview: 114+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-19 12:00 [GIT PULL] HID fixes Jiri Kosina
2018-06-20 1:51 ` Linus Torvalds
2018-06-20 4:19 ` Jiri Kosina
2018-06-20 7:06 ` Hans de Goede [this message]
2018-06-20 7:12 ` Linus Torvalds
2018-06-20 7:15 ` Jiri Kosina
2018-06-20 7:35 ` Benjamin Tissoires
2018-06-20 7:37 ` [GIT PULL v2] " Jiri Kosina
-- strict thread matches above, loose matches on Subject: below --
2024-02-15 12:38 [GIT PULL] " Jiri Kosina
2024-02-15 19:50 ` pr-tracker-bot
2023-12-12 22:51 Jiri Kosina
2023-12-13 1:21 ` pr-tracker-bot
2023-11-23 19:22 Jiri Kosina
2023-11-24 1:51 ` pr-tracker-bot
2023-10-11 12:00 Benjamin Tissoires
2023-10-11 20:58 ` pr-tracker-bot
2023-10-05 20:41 Jiri Kosina
2023-10-06 3:50 ` pr-tracker-bot
2023-07-11 13:59 Benjamin Tissoires
2023-07-12 23:28 ` pr-tracker-bot
2023-06-01 10:27 Jiri Kosina
2023-06-01 21:15 ` pr-tracker-bot
2023-04-12 22:03 Jiri Kosina
2023-04-13 0:44 ` pr-tracker-bot
2023-03-09 15:07 Benjamin Tissoires
2023-03-09 19:07 ` pr-tracker-bot
2023-02-09 14:31 Benjamin Tissoires
2023-02-09 18:10 ` pr-tracker-bot
2023-01-18 20:17 Jiri Kosina
2023-01-18 22:47 ` pr-tracker-bot
2022-12-21 15:18 Benjamin Tissoires
2022-12-21 17:53 ` pr-tracker-bot
2022-11-11 10:04 Jiri Kosina
2022-11-11 18:03 ` pr-tracker-bot
2022-10-21 12:17 Benjamin Tissoires
2022-10-22 1:28 ` pr-tracker-bot
2022-08-31 10:54 Jiri Kosina
2022-08-31 17:20 ` pr-tracker-bot
2022-03-09 10:42 Jiri Kosina
2022-03-09 22:16 ` pr-tracker-bot
2022-02-15 15:35 Jiri Kosina
2022-02-15 19:19 ` pr-tracker-bot
2022-01-21 14:17 Jiri Kosina
2022-01-21 14:27 ` pr-tracker-bot
2021-12-21 14:40 Jiri Kosina
2021-12-21 17:39 ` pr-tracker-bot
2021-12-09 10:15 Jiri Kosina
2021-12-09 19:35 ` pr-tracker-bot
2021-11-24 7:10 Jiri Kosina
2021-11-24 18:31 ` pr-tracker-bot
2021-09-27 13:54 Jiri Kosina
2021-09-27 17:25 ` pr-tracker-bot
2021-07-30 12:06 Jiri Kosina
2021-07-30 18:11 ` pr-tracker-bot
2021-06-01 21:58 Jiri Kosina
2021-06-02 3:58 ` pr-tracker-bot
2021-04-15 13:51 Jiri Kosina
2021-04-15 18:15 ` pr-tracker-bot
2021-01-28 8:38 Jiri Kosina
2021-01-28 18:16 ` pr-tracker-bot
2021-01-14 12:33 Jiri Kosina
2021-01-14 21:55 ` pr-tracker-bot
2020-11-22 21:18 Jiri Kosina
2020-11-22 22:40 ` pr-tracker-bot
2020-09-02 18:58 Jiri Kosina
2020-09-02 20:08 ` pr-tracker-bot
2020-08-25 8:14 Jiri Kosina
2020-08-25 19:16 ` pr-tracker-bot
2020-07-17 12:01 Jiri Kosina
2020-07-17 17:40 ` pr-tracker-bot
2020-03-17 13:41 Jiri Kosina
2020-03-17 17:10 ` pr-tracker-bot
2020-02-27 14:46 Jiri Kosina
2020-02-27 19:40 ` pr-tracker-bot
2020-01-09 14:23 Jiri Kosina
2020-01-09 19:14 ` Linus Torvalds
2020-01-09 19:25 ` Dmitry Torokhov
2020-01-09 19:37 ` Jiri Kosina
2020-01-09 20:38 ` Jiri Kosina
2020-01-09 23:36 ` Linus Torvalds
2020-01-09 23:41 ` Linus Torvalds
2020-01-10 14:31 ` Jiri Kosina
2020-01-09 19:15 ` pr-tracker-bot
2019-11-07 19:32 Jiri Kosina
2019-11-07 20:00 ` pr-tracker-bot
2019-08-20 12:53 Jiri Kosina
2019-08-20 18:55 ` pr-tracker-bot
2019-08-06 10:59 Jiri Kosina
2019-08-06 18:55 ` pr-tracker-bot
2019-06-27 9:37 Jiri Kosina
2019-06-28 0:45 ` pr-tracker-bot
2019-04-03 13:39 Jiri Kosina
2019-04-03 16:25 ` pr-tracker-bot
2019-01-22 9:46 Jiri Kosina
2019-01-22 18:55 ` pr-tracker-bot
2018-12-10 16:05 Jiri Kosina
2018-12-10 20:20 ` pr-tracker-bot
2018-11-24 20:19 Jiri Kosina
2018-11-24 23:15 ` pr-tracker-bot
2018-11-07 10:31 Jiri Kosina
2018-11-07 17:07 ` Linus Torvalds
2018-10-03 8:55 Jiri Kosina
2018-10-03 11:50 ` Greg Kroah-Hartman
2018-09-11 7:49 Jiri Kosina
2018-07-09 12:54 Jiri Kosina
2018-04-19 8:05 Jiri Kosina
2017-10-12 12:46 Jiri Kosina
2017-10-05 8:58 Jiri Kosina
2017-06-20 9:01 Jiri Kosina
2017-03-31 8:01 Jiri Kosina
2017-01-31 12:13 Jiri Kosina
2017-01-19 13:29 Jiri Kosina
2016-11-07 10:01 Jiri Kosina
2015-02-23 22:37 Jiri Kosina
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=b952c1f6-5866-d25e-32c2-ac0ded1812e2@redhat.com \
--to=hdegoede@redhat.com \
--cc=benjamin.tissoires@redhat.com \
--cc=jikos@kernel.org \
--cc=jsbc@gmx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).