This object represents a single user's collection of input devices. It allows the window manager to route keyboard input to windows, get high-level information about pointer input, define pointer bindings, etc.
For keyboard bindings, see the river-xkb-bindings-v1 protocol.
Since version 4: The cursor surface/shape set by the window manager on the wl_pointer of this seat is used when no client has pointer focus, for example during a pointer operation. Since the window manager is allowed to set cursor surface/shape even when it does not have pointer focus, the compositor must ignore the serial argument of wl_pointer.set_cursor and wp_cursor_shape_device_v1.set_shape requests made by the window manager.
The most recent cursor surface/shape set by the window manager is remembered by the compositor and restored whenever no client has pointer focus. If the window manager never sets a cursor surface/shape, the "default" shape is used.
Start an interactive pointer operation. During the operation, op_delta events will be sent based on pointer input.
When all pointer buttons are released, the op_release event is sent.
The pointer operation continues until the op_end request is made during a manage sequence and that manage sequence is finished.
The window manager may use this operation to implement interactive move/resize of windows by setting the position of windows and proposing dimensions based off of the op_delta events.
This request is ignored if an operation is already in progress.
The compositor must ensure that no client has pointer focus from this seat during the pointer operation. This means that the window manager has control over the pointer's cursor surface/shape during the pointer operation. See the river_seat_v1 description.
This request modifies window management state and may only be made as part of a manage sequence, see the river_window_manager_v1 description.
Warp the pointer to the given position in the compositor's logical coordinate space.
If the given position is outside the bounds of all outputs, the pointer will be warped to the closest point inside an output instead.
If an op_start_pointer request is made during the same manage sequence as a pointer_warp request, the warp is applied first by the server regardless of the relative ordering of the two requests.
This request modifies window management state and may only be made as part of a manage sequence, see the river_window_manager_v1 description.