Struct input::DeviceGroup [] [src]

pub struct DeviceGroup { /* fields omitted */ }

Device group

Some physical devices like graphics tablets are represented by multiple kernel devices and thus by multiple Devices.

libinput assigns these devices to the same DeviceGroup allowing the caller to identify such devices and adjust configuration settings accordingly. For example, setting a tablet to left-handed often means turning it upside down. A touch device on the same tablet would need to be turned upside down too to work correctly.

All devices are part of a device group though for most devices the group will be a singleton. A device is assigned to a device group on DeviceAddedEvent and removed from that group on DeviceRemovedEvent. It is up to the caller to track how many devices are in each device group.

Device groups do not get re-used once the last device in the group was removed, i.e. unplugging and re-plugging a physical device with grouped devices will return a different device group after every unplug.

Device groups are assigned based on the LIBINPUT_DEVICE_GROUP udev property, see Static device configuration via udev.

Trait Implementations

impl Eq for DeviceGroup
[src]

impl Debug for DeviceGroup
[src]

Formats the value using the given formatter.

impl FromRaw<libinput_device_group> for DeviceGroup
[src]

Create a new instance of this type from a raw pointer. Read more

impl AsRaw<libinput_device_group> for DeviceGroup
[src]

Receive a raw pointer representing this type.

impl Userdata for DeviceGroup
[src]

Receive a reference to the attached userdata, if one exists. Read more

Receive a mutable reference to the attached userdata, if one exists. Read more

Set userdata and receive the currently set userdata Read more

impl Clone for DeviceGroup
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Drop for DeviceGroup
[src]

A method called when the value goes out of scope. Read more

impl PartialEq for DeviceGroup
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Hash for DeviceGroup
[src]

Feeds this value into the state given, updating the hasher as necessary.

Feeds a slice of this type into the state provided.