diff options
| author | Lauri Saurus <saurla@saurla.com> | 2026-05-18 22:28:50 +0300 |
|---|---|---|
| committer | Jiri Kosina <jkosina@suse.com> | 2026-06-11 16:56:09 +0300 |
| commit | f0866517be9345d8245d32b722574b8aecccb348 (patch) | |
| tree | 3985ac4d6dd1096918623beae6a9e511ad7fd21c /include/linux/timerqueue.h | |
| parent | f22a5db8a7d38152556f230d6d68e59dbc27971b (diff) | |
| download | linux-f0866517be9345d8245d32b722574b8aecccb348.tar.xz | |
HID: logitech-hidpp: sync wheel multiplier on wheel mode changes
The hid-logitech-hidpp driver enables high resolution scrolling on
device connect for capable HID++ 2.0 devices. Driver also reads the
wheel capability and caches the returned high resolution wheel scroll
multiplier, that is used for scroll scaling when handling wheel scroll
events.
Wheel mode can also be set externally through HID++ requests, which
can leave the cached multiplier stale and cause incorrect scroll
scaling. If external SetWheelMode HID++ request sets the mode to
low resolution, the cached multiplier is not updated accordingly. This
causes extremely slow scrolling since driver expects multiple wheel
scroll events per detent but is only getting one.
The fix listens for HID++ SetWheelMode request responses and updates
the wheel scroll multiplier based on the set high resolution scroll
mode. The fix has been tested with Logitech G502X lightspeed mouse.
Signed-off-by: Lauri Saurus <saurla@saurla.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Diffstat (limited to 'include/linux/timerqueue.h')
0 files changed, 0 insertions, 0 deletions
