Struct input::DeviceGroup
source · pub struct DeviceGroup { /* private fields */ }
Expand description
Device group
Some physical devices like graphics tablets are represented by
multiple kernel devices and thus by multiple Device
s.
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.