river-input-management-v1

manage seats and input devices

(index)

This protocol supports creating/destroying seats, assigning input devices to seats, and configuring input devices (e.g. setting keyboard repeat rate).

The key words "must", "must not", "required", "shall", "shall not", "should", "should not", "recommended", "may", and "optional" in this document are to be interpreted as described in IETF RFC 2119.

river_input_manager_v1

input manager global interface

Interface
Version 1

Input manager global interface.

river_input_manager_v1.stop

stop sending events

Request
Since Version 1

This request indicates that the client no longer wishes to receive events on this object.

The Wayland protocol is asynchronous, which means the server may send further events until the stop request is processed. The client must wait for a river_input_manager_v1.finished event before destroying this object.

river_input_manager_v1.destroy

destroy the river_input_manager_v1 object

Destructor Request
Since Version 1

This request should be called after the finished event has been received to complete destruction of the object.

It is a protocol error to make this request before the finished event has been received.

If a client wishes to destroy this object it should send a river_input_manager_v1.stop request and wait for a river_input_manager_v1.finished event. Once the finished event is received it is safe to destroy this object and any other objects created through this interface.

river_input_manager_v1.create_seat

create a new seat

Request
Since Version 1

Create a new seat with the given name. Has no effect if a seat with the given name already exists.

The default seat with name "default" always exists and does not need to be explicitly created.

ArgumentTypeDescription
namestring

river_input_manager_v1.destroy_seat

destroy a seat

Request
Since Version 1

Destroy the seat with the given name. Has no effect if a seat with the given name does not exist.

The default seat with name "default" cannot be destroyed and attempting to destroy it will have no effect.

Any input devices assigned to the destroyed seat at the time of destruction are assigned to the default seat.

ArgumentTypeDescription
namestring

river_input_manager_v1.finished

the server has finished with the input manager

Event
Since Version 1

This event indicates that the server will send no further events on this object. The client should destroy the object. See river_input_manager_v1.destroy for more information.

river_input_manager_v1.input_device

new input device

Event
Since Version 1

A new input device has been created.

ArgumentTypeDescription
idnew_id<river_input_device_v1>

river_input_manager_v1.error

Enum
Since Version 1
EntryValueSinceDescription
invalid_destroy01

river_input_device_v1

an input device

Interface
Version 1

An input device represents a physical keyboard, mouse, touchscreen, or drawing tablet tool. It is assigned to exactly one seat at a time. By default, all input devices are assigned to the default seat.

river_input_device_v1.destroy

destroy the input device object

Destructor Request
Since Version 1

This request indicates that the client will no longer use the input device object and that it may be safely destroyed.

river_input_device_v1.assign_to_seat

assign the input device to a seat

Request
Since Version 1

Assign the input device to a seat. All input devices not explicitly assigned to a seat are considered assigned to the default seat.

Has no effect if a seat with the given name does not exist.

ArgumentTypeDescription
namestring

name of the seat

river_input_device_v1.set_repeat_info

set keyboard repeat rate and delay

Request
Since Version 1

Set repeat rate and delay for a keyboard input device. Has no effect if the device is not a keyboard.

Negative values for either rate or delay are illegal. A rate of zero will disable any repeating (regardless of the value of delay).

ArgumentTypeDescription
rateint

rate in key repeats per second

delayint

delay in milliseconds

river_input_device_v1.set_scroll_factor

set scroll factor

Request
Since Version 1

Set the scroll factor for a pointer input device. Has no effect if the device is not a pointer.

For example, a factor of 0.5 will make scrolling twice as slow while a factor of 3.0 will make scrolling 3 times as fast.

Setting a scroll factor less than 0 is a protocol error.

ArgumentTypeDescription
factorfixed

river_input_device_v1.map_to_output

map input device to the given output

Request
Since Version 1

Map the input device to the given output. Has no effect if the device is not a pointer, touch, or tablet device.

If mapped to both an output and a rectangle, the rectangle has priority.

Passing null clears an existing mapping.

ArgumentTypeDescription
outputnullable object<wl_output>

river_input_device_v1.map_to_rectangle

map input device to the given rectangle

Request
Since Version 1

Map the input device to the given rectangle in the global compositor coordinate space. Has no effect if the device is not a pointer, touch, or tablet device.

If mapped to both an output and a rectangle, the rectangle has priority.

Width and height must be greater than or equal to 0.

Passing 0 for width or height clears an existing mapping.

ArgumentTypeDescription
xint

yint

widthint

heightint

river_input_device_v1.removed

the input device is removed

Event
Since Version 1

This event indicates that the input device has been removed.

The server will send no further events on this object and ignore any request (other than river_input_device_v1.destroy) made after this event is sent. The client should destroy this object with the river_input_device_v1.destroy request to free up resources.

river_input_device_v1.type

the type of the input device

Event
Since Version 1

The type of the input device. This event is sent once when the river_input_device_v1 object is created. The device type cannot change during the lifetime of the object.

ArgumentTypeDescription
typeuint<type>

river_input_device_v1.name

the name of the input device

Event
Since Version 1

The name of the input device. This event is sent once when the river_input_device_v1 object is created. The device name cannot change during the lifetime of the object.

ArgumentTypeDescription
namestring

river_input_device_v1.error

Enum
Since Version 1
EntryValueSinceDescription
invalid_repeat_info01

invalid_scroll_factor11

invalid_map_to_rectangle21

river_input_device_v1.type

Enum
Since Version 1
EntryValueSinceDescription
keyboard01

pointer11

touch21

tablet31

Copyright