Conversation
|
Would this work in X11 if uinput is used? |
Pretty surely, yes. I can confirm that it is working in electron running on XWayland, at the very least. |
|
Can you give some examples of rules with this extension? |
|
There are style guidelines that are required in Solaar. Please look at the failing check and fix the non-conforming code. |
|
I've fixed the code style, and changed the priority of the input simulation methods to use uinput first, and only fall back to xtest if it is not available. Here's an example rule: - Feature: THUMB WHEEL
- Rule:
- Test: thumb_wheel_up
- MouseScrollHiRes: [16, 0]
- Rule:
- Test: thumb_wheel_down
- MouseScrollHiRes: [-16, 0]Tested on the MX Master 3, I would now describe the thumbwheel scrolling as "High Resolution". |
|
Now the accumulator is global, across all instances of the |
|
I don't understand the need for the accumulation. |
|
uinput might exist but not be writable |
From the Linux Kernel Documentation:
I don't see any other way to do this than to keep track of the high-resolution data. I think this event still needs to be emitted since not all programs support the newer high-res scrolling, and it wouldn't make sense for some, e.g. spreadsheets. |
|
OK. The documentation isn't all that clear, though. |
I tested this case: Since I am on Wayland, it doesn't try to use xtest, but you can still see that the uinput check fails as it's supposed to. I've also used evtest to confirm that the events sent by my implementation look and behave similarly to those sent by the vertical scroll wheel when using hi-res scrolling. |
Closes #3123.
I don't know if Xorg has support for hi-res scrolling, but this will still make the adjustment of scroll wheel sensitivity much more granular even there, since the regular scroll events are emitted every 120 hi-res ticks as well, as per the kernel docs. Perhaps the info text regarding this could be improved, although I couldn't come up with a succinct description of this on the spot.