This protocol allows clients to emulate a physical pointer device. The
requests are mostly mirror opposites of those specified in wl_pointer.
pointer relative motion event
Request
Since Version 1
The pointer has moved by a relative amount to the previous request.
Values are in the global compositor space.
| Argument | Type | Description |
|---|
| time | uint | timestamp with millisecond granularity |
| dx | fixed | displacement on the x-axis |
| dy | fixed | displacement on the y-axis |
pointer absolute motion event
Request
Since Version 1
The pointer has moved in an absolute coordinate frame.
Value of x can range from 0 to x_extent, value of y can range from 0
to y_extent.
| Argument | Type | Description |
|---|
| time | uint | timestamp with millisecond granularity |
| x | uint | position on the x-axis |
| y | uint | position on the y-axis |
| x_extent | uint | extent of the x-axis |
| y_extent | uint | extent of the y-axis |
A button was pressed or released.
| Argument | Type | Description |
|---|
| time | uint | timestamp with millisecond granularity |
| button | uint | button that produced the event |
| state | uint<wl_pointer.button_state> | physical state of the button |
Scroll and other axis requests.
| Argument | Type | Description |
|---|
| time | uint | timestamp with millisecond granularity |
| axis | uint<wl_pointer.axis> | axis type |
| value | fixed | length of vector in touchpad coordinates |
end of a pointer event sequence
Request
Since Version 1
Indicates the set of events that logically belong together.
Source information for scroll and other axis.
Stop notification for scroll and other axes.
| Argument | Type | Description |
|---|
| time | uint | timestamp with millisecond granularity |
| axis | uint<wl_pointer.axis> | the axis stopped with this event |
Discrete step information for scroll and other axes.
This event allows the client to extend data normally sent using the axis
event with discrete value.
| Argument | Type | Description |
|---|
| time | uint | timestamp with millisecond granularity |
| axis | uint<wl_pointer.axis> | axis type |
| value | fixed | length of vector in touchpad coordinates |
| discrete | int | number of steps |
destroy the virtual pointer object
Destructor
Request
Since Version 1
| Entry | Value | Since | Description |
|---|
| invalid_axis | 0 | 1 | client sent invalid axis enumeration value |
| invalid_axis_source | 1 | 1 | client sent invalid axis source enumeration value |
This object allows clients to create individual virtual pointer objects.
Create a new virtual pointer
Request
Since Version 1
Creates a new virtual pointer. The optional seat is a suggestion to the
compositor.
destroy the virtual pointer manager
Destructor
Request
Since Version 1
Create a new virtual pointer
Request
Since Version 2
Creates a new virtual pointer. The seat and the output arguments are
optional. If the seat argument is set, the compositor should assign the
input device to the requested seat. If the output argument is set, the
compositor should map the input device to the requested output.
Copyright
Copyright © 2019 Josef Gajdusek
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice (including the next
paragraph) shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.