pwr-Solaar / Solaar

Linux device manager for Logitech devices
https://pwr-solaar.github.io/Solaar
GNU General Public License v2.0
5.4k stars 401 forks source link

A way to inhibit discrete scrollwheel events for high-res scrollwheels #2571

Closed NyaomiDEV closed 1 month ago

NyaomiDEV commented 1 month ago

Information

Is your feature request related to a problem? Please describe.

The problem is that high resolution scrollwheels only work if the logitech_hidpp kernel module detects the mouse you're using (and you tell Solaar to ignore the setting). If you use a MX Master 3, for example, it will get detected on both Bluetooth and Logi Unifying Receiver; however if you use its revision, the 3S, it will only get detected by the kernel if it's connected on Bluetooth.

Describe the solution you'd like Since the mouse will send both HI_RES and normal events if it is in high-res mode, there should be a way of inhibiting those scrollwheel events, either by intercepting them and diverting them totally (and then sending clean events via uinput) or by "canceling" the "discrete" ones at the libinput/evdev level via some rules... but I don't know if libinput knows there's a mouse connected to the receiver.

Describe alternatives you've considered Bluetooth connections only, but they tend to be laggy with laptops for some reason? At least it's like that with my Framework 13... I blame the wifi/bt combo card.

Additional context Not applicable

pfps commented 1 month ago

Solaar is not a device driver and cannot interfere at this level.

As well, it is not the mouse that sends the HI_RES and normal scroll events but the driver. The mouse only sends scroll events - it is just that in high resolution mode the mouse sends more.