mirror of
https://gitlab.freedesktop.org/wayland/wayland.git
synced 2025-10-29 05:40:16 -04:00
protocol: add wl_pointer.warp event
The original wl_pointer.button event does not contain the position information. In some scenarios, the client cannot obtain the correct position information. For example, when the mouse focus is on a button and the mouse does not move but the window size changes, the client cannot update the position information through the motion event, resulting in incorrect mouse position. Therefore, This event should be sent when the local coordinates of a pointer change as a result of surface being moved/resized/fullscreened. Signed-off-by: Lu YaNing <luyaning@uniontech.com>
This commit is contained in:
parent
53fbc2b0c1
commit
1314cc72a0
1 changed files with 23 additions and 1 deletions
|
|
@ -2130,8 +2130,9 @@
|
|||
<description summary="pointer button event">
|
||||
Mouse button click and release notifications.
|
||||
|
||||
The location of the click is given by the last motion or
|
||||
The location of the click is given by the last motion, warp or
|
||||
enter event.
|
||||
|
||||
The time argument is a timestamp with millisecond
|
||||
granularity, with an undefined base.
|
||||
|
||||
|
|
@ -2431,6 +2432,27 @@
|
|||
<arg name="direction" type="uint" enum="axis_relative_direction"
|
||||
summary="physical direction relative to axis motion"/>
|
||||
</event>
|
||||
|
||||
<!-- Version 10 additions -->
|
||||
|
||||
<event name="warp" since="10">
|
||||
<description summary="pointer warp event">
|
||||
Notification of pointer location change within a surface.
|
||||
This location change is not due to events on the input device,
|
||||
but because either the surface under the pointer was moved and
|
||||
thus the relative position of the pointer changed, or because
|
||||
the compositor changed the pointer position in response to
|
||||
an event like pointer confinement being exited. The arguments
|
||||
surface_x and surface_y are the location relative to the
|
||||
focused surface.
|
||||
|
||||
This event must not occur in the same wl_pointer.frame as a
|
||||
wl_pointer.enter or wl_pointer.motion event.
|
||||
|
||||
</description>
|
||||
<arg name="surface_x" type="fixed" summary="surface-local x coordinate"/>
|
||||
<arg name="surface_y" type="fixed" summary="surface-local y coordinate"/>
|
||||
</event>
|
||||
</interface>
|
||||
|
||||
<interface name="wl_keyboard" version="10">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue