mirror of
https://github.com/labwc/labwc.git
synced 2025-10-31 22:25:34 -04:00
input: emulate cursor axis for tablet tool mouse
We only have to deal with non-high-res mouses, so we can emulate it even without having delta_discrete being exposed by wlroots.
This commit is contained in:
parent
8584e073de
commit
33fc1c6d05
1 changed files with 15 additions and 0 deletions
|
|
@ -439,6 +439,21 @@ handle_tablet_tool_axis(struct wl_listener *listener, void *data)
|
|||
break;
|
||||
}
|
||||
}
|
||||
if (ev->updated_axes & WLR_TABLET_TOOL_AXIS_WHEEL) {
|
||||
/*
|
||||
* libinput reports delta_discrete for tablet tool mouses,
|
||||
* but unfortunately wlroots doesn't expose it. That said,
|
||||
* based on the libinput source (tablet_device_has_axis()),
|
||||
* we only have to deal with non-high-res mouses here, so
|
||||
* it is relatively safe to set a fixed value.
|
||||
*/
|
||||
int delta_discrete = tablet->wheel_delta >= 0 ? 1 : -1;
|
||||
cursor_emulate_axis(tablet->seat, &ev->tablet->base,
|
||||
WL_POINTER_AXIS_VERTICAL_SCROLL,
|
||||
tablet->wheel_delta,
|
||||
WLR_POINTER_AXIS_DISCRETE_STEP * delta_discrete,
|
||||
WL_POINTER_AXIS_SOURCE_WHEEL, ev->time_msec);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue