mirror of
https://github.com/gnif/LookingGlass.git
synced 2026-08-09 08:41:31 +00:00
[client] cursor: restore Wayland pointer convergence
Keep the tracked Wayland hardware position sourced only from absolute wl_pointer events. Relative motion remains unclipped at output edges, so accumulating it made the client believe the hardware cursor had reached the guest position and caused the corrective warp to be skipped. Keep cursor coordinates in shape-origin form after absolute realignment. Preserve the logical hotspot when a shape-only update changes its hotspot, preventing either path from leaving a permanent offset.
This commit is contained in:
@@ -338,12 +338,10 @@ static void relativePointerMotionHandler(void * data,
|
||||
{
|
||||
const double dx = wl_fixed_to_double(dxW);
|
||||
const double dy = wl_fixed_to_double(dyW);
|
||||
wlMotionRel(&wlWm.motion, dx, dy);
|
||||
MTRACE("rel time=%u:%u delta=%.3f,%.3f raw=%.3f,%.3f "
|
||||
"pos=%.3f,%.3f", timeHi, timeLo, dx, dy,
|
||||
wl_fixed_to_double(dxUnaccelW), wl_fixed_to_double(dyUnaccelW),
|
||||
wlWm.motion.x, wlWm.motion.y);
|
||||
app_updateCursorPos(wlWm.motion.x, wlWm.motion.y);
|
||||
|
||||
app_handleMouseRelative(
|
||||
dx,
|
||||
|
||||
Reference in New Issue
Block a user