cursor: fix down mode motion event coords
These are required to be surface local and we need to take the output's layout coords into account as the cursor itself is in layout coords.
This commit is contained in:
@ -471,10 +471,12 @@ fn processMotion(self: *Self, device: *wlr.InputDevice, time: u32, delta_x: f64,
|
||||
},
|
||||
.down => |view| {
|
||||
self.wlr_cursor.move(device, delta_x, delta_y);
|
||||
// This takes surface-local coordinates
|
||||
const output_box = view.output.root.output_layout.getBox(view.output.wlr_output).?;
|
||||
self.seat.wlr_seat.pointerNotifyMotion(
|
||||
time,
|
||||
self.wlr_cursor.x - @intToFloat(f64, view.current.box.x - view.surface_box.x),
|
||||
self.wlr_cursor.y - @intToFloat(f64, view.current.box.y - view.surface_box.y),
|
||||
self.wlr_cursor.x - @intToFloat(f64, output_box.x + view.current.box.x - view.surface_box.x),
|
||||
self.wlr_cursor.y - @intToFloat(f64, output_box.y + view.current.box.y - view.surface_box.y),
|
||||
);
|
||||
},
|
||||
.move => |view| {
|
||||
|
Reference in New Issue
Block a user