No description
fix(platform/ei): accumulate smooth scroll into full wheel clicks on server On Wayland, two-finger smooth scroll events are delivered as per-frame pixel deltas (e.g. 0.26, 0.53, 1.05 px per event). The previous code quantized these at the pixel level via `modf()` — any accumulated integer pixel (even just 1) triggered a wheel event whose value was `pixels * 12`, i.e. 12, 24 or 36 units. Because the deskflow protocol uses 120 units per standard wheel click, these fractional clicks were silently dropped by the client compositor and the user saw nothing on the secondary screen until a very large/fast stroke pushed enough pixels through. Switch to wheel-click-level accumulation: smooth scroll pixel deltas are now scaled to fractional wheel-clicks (0.1 per pixel, keeping the 10 px == 1 click convention) and only dispatched to the client when at least one full 120-unit click has accumulated. This uses `std::trunc()` (toward zero) instead of `std::floor()` to avoid spurious clicks on negative scroll values. Physical mouse wheels (discrete scroll events, EI_EVENT_SCROLL_DISCRETE) are unaffected and continue to be forwarded immediately as-is. - `EiScreen.cpp`: replace `modf()` pixel quantization with fractional wheel-click accumulation using `std::trunc()`. - `ScrollRemainder` struct comment: clarify the unit is now fractional wheel-clicks rather than pixels. |
||
|---|---|---|
| .github | ||
| cmake | ||
| deploy | ||
| docs | ||
| LICENSES | ||
| src | ||
| translations | ||
| .clang-format | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| CMakeLists.txt | ||
| cspell.json | ||
| LICENSE | ||
| REUSE.toml | ||
| sonar-project.properties | ||
Deskflow
Deskflow is a free and open source keyboard and mouse sharing app. Use the keyboard, mouse, or trackpad of one computer to control nearby computers, and work seamlessly between them.
Getting help online
- View the wiki Online resource
Chat with us
- Main discussion on Matrix:
#deskflow:matrix.org(Matrix clients) - Discussion also happens on IRC:
#deskflowor#deskflow-devon Libera Chat - Start a new discussion on our GitHub project.
Reporting security issues
Check Security to find out how to report security issues.