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.