pub trait SeatExt: 'static {
    fn capabilities(&self) -> SeatCapabilities;
    fn devices(&self, capabilities: SeatCapabilities) -> Vec<Device>;
    fn display(&self) -> Display;
    fn keyboard(&self) -> Option<Device>;
    fn pointer(&self) -> Option<Device>;
    fn tools(&self) -> Vec<DeviceTool>;
    fn connect_device_added<F: Fn(&Self, &Device) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_device_removed<F: Fn(&Self, &Device) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_tool_added<F: Fn(&Self, &DeviceTool) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_tool_removed<F: Fn(&Self, &DeviceTool) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; }
Expand description

Trait containing all Seat methods.

Implementors

Seat

Required Methods

Returns the capabilities this Seat currently has.

Returns

the seat capabilities

Returns the devices that match the given capabilities.

capabilities

capabilities to get devices for

Returns

A list of GdkDevices. The list must be freed with g_list_free(), the elements are owned by GTK and must not be freed.

Returns the Display this seat belongs to.

Returns

a Display. This object is owned by GTK and must not be freed.

Returns the device that routes keyboard events.

Returns

a Device with keyboard capabilities. This object is owned by GTK and must not be freed.

Returns the device that routes pointer events.

Returns

a Device with pointer capabilities. This object is owned by GTK and must not be freed.

Returns all GdkDeviceTools that are known to the application.

Returns

A list of tools. Free with g_list_free().

Emitted when a new input device is related to this seat.

device

the newly added Device.

Emitted when an input device is removed (e.g. unplugged).

device

the just removed Device.

Emitted whenever a new tool is made known to the seat.

The tool may later be assigned to a device (i.e. on proximity with a tablet). The device will emit the signal::Device::tool-changed signal accordingly.

A same tool may be used by several devices.

tool

the new DeviceTool known to the seat

Emitted whenever a tool is no longer known to this @seat.

tool

the just removed DeviceTool

Implementors