From: "Peter F. Patel-Schneider" <pfpschneider@gmail.com>
To: Bastien Nocera <hadess@hadess.net>,
Nestor Lopez Casado <nlopezcasad@logitech.com>
Cc: "Filipe Laíns" <lains@riseup.net>,
"Jiri Kosina" <jikos@kernel.org>,
"Benjamin Tissoires" <benjamin.tissoires@redhat.com>,
linux-input@vger.kernel.org
Subject: Re: [PATCH] HID: logitech-hidpp: Enable HID++ for all the Logitech Bluetooth devices
Date: Mon, 29 Aug 2022 10:20:16 -0400 [thread overview]
Message-ID: <b98deb1e-ff3b-0b85-1f3d-2583ed726728@gmail.com> (raw)
In-Reply-To: <10a9cd5638ad43f06ab2bc78aef1979c98b27e99.camel@hadess.net>
On 8/29/22 09:41, Bastien Nocera wrote:
> On Fri, 2022-08-26 at 11:37 -0400, Peter F. Patel-Schneider wrote:
>> Looking at
>> https://bugzilla.kernel.org/show_bug.cgi?id=215699 reminded me of
>> another problem with the driver code. Several HID++ 2.0 features,
>> including
>> the HiRes Wheel, have commands with bit fields in them and set all
>> the bits in
>> the bit field at once. But when the driver code sets the high-
>> resolution bit
>> for this feature it also sets two other bits, ignoring their current
>> setting.
>> This prevents other software from reliably using these two other
>> bits, one of
>> which is for reporting wheel movement in the opposite direction, a.
>> k. a.
>> natural scrolling.
>>
>> It would be useful for the driver code to first get the other bits
>> and set
>> them to their retrieved values.
> Do you have any other examples of this? For the classic Linux desktop,
> this particular bug isn't something we'd hit, as natural scrolling is
> implemented at the higher levels (libinput) rather than something we
> expect the driver to support.
I looked and I didn't find any other examples of this in the driver. The only
HID++ command with this feature that is used by the driver, as far as I could
tell, is
#define CMD_HIRES_WHEEL_SET_WHEEL_MODE 0x20
of
#define HIDPP_PAGE_HIRES_WHEEL 0x2121
The way Solaar users see this bug is that if they use this feature to set
reverse scrolling sometimes the driver flips the bit off after Solaar flips
the bit on. If a user doesn't use Solaar or some other software that changes
devices behaviour using HID++ commands then they won't see any problem. (The
could have a multi-host mouse, use Logitech software to flip the bit, and then
when they change hosts to a Linux host the Linux driver would flip the bit.)
peter
next prev parent reply other threads:[~2022-08-29 14:20 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-25 12:29 [PATCH] HID: logitech-hidpp: Enable HID++ for all the Logitech Bluetooth devices Bastien Nocera
2022-08-25 15:59 ` Nestor Lopez Casado
2022-08-25 16:27 ` Bastien Nocera
2022-08-25 20:47 ` Peter F. Patel-Schneider
2022-08-26 14:35 ` Bastien Nocera
2022-08-26 15:31 ` Peter F. Patel-Schneider
2022-08-26 15:37 ` Peter F. Patel-Schneider
2022-08-29 13:41 ` Bastien Nocera
2022-08-29 14:20 ` Peter F. Patel-Schneider [this message]
2022-08-29 11:52 ` Bastien Nocera
2022-08-29 13:45 ` Bastien Nocera
2022-08-29 14:01 ` Peter F. Patel-Schneider
2022-08-30 11:37 ` Bastien Nocera
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=b98deb1e-ff3b-0b85-1f3d-2583ed726728@gmail.com \
--to=pfpschneider@gmail.com \
--cc=benjamin.tissoires@redhat.com \
--cc=hadess@hadess.net \
--cc=jikos@kernel.org \
--cc=lains@riseup.net \
--cc=linux-input@vger.kernel.org \
--cc=nlopezcasad@logitech.com \
/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).