Messages in this thread | | | From | Benjamin Tissoires <> | Date | Fri, 3 Apr 2020 13:35:24 +0200 | Subject | Re: [GIT PULL] HID for 5.7 |
| |
On Fri, Apr 3, 2020 at 12:05 PM Jiri Kosina <jikos@kernel.org> wrote: > > On Wed, 1 Apr 2020, Linus Torvalds wrote: > > > > Samuel Čavoj (1): > > > HID: Add driver fixing Glorious PC Gaming Race mouse report descriptor > > > > What a glorious name for a piece of hardware. Even if it's apparently > > buggy and needs help to work right. > > Yeah, the vendor apparently was not of the humble kind :) > > > I felt bad saying I don't need that glorious driver when doing my > > oldconfig. > > :)) > > > Anyway, because I noticed this due to the name, it does strike me that > > clearly Windows must be ignoring - or otherwise reacting differently to > > - the HID_MAIN_ITEM_CONSTANT flag. Because presumably those mice work > > under Windows without special drivers? > > > > In fact, reading that driver, it looks like they report being *both* > > constant *and* variable in their report descriptors. Which sounds odd. > > Maybe we should do whatever Windows does, and not need a special driver > > for this maybe-bot-so-glorious-after-all mouse hardware? > > Adding Samuel to CC. > > From what I understood is that in order to access the buttons reported in > report #2 (the one marked with HID_MAIN_ITEM_CONSTANT), you actually *do* > need a special software on windows anyway. > > What we do is that we ignore any changes in reports with > HID_MAIN_ITEM_CONSTANT in the HID core.
Funny enough, I think most hardware vendors are actually correct with the CONSTANT implementation but Microsoft itself with the Surface touchpad line :)
> > It would still be possible to access the report via hidraw, and maybe > that's analogy of what the Windows driver/special Glorious software :) > does, I don't know. It's hard to believe that Windows would be actually > willing to report any changes coming through HID_MAIN_ITEM_CONSTANT > reports, but who knows.
I'll need to check whether we have too many drivers that replace constant by variable. But I know it bit us in the past a few times (and the Surface covers are the ones I remember). But again, Windows is weird in a lot of ways, and I believe that they do not have one unified driver for everything, but some behaviour that depends on the application. So I am a little bit hesitant to toggle the switch to consider constant usages as variable ones. Luckily, we now have a regression test suite. It's not complete, but it can prevent such regressions with the devices we have in there.
Cheers, Benjamin
> > -- > Jiri Kosina > SUSE Labs >
| |