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 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.
Trait Implementations
impl Eq for DeviceGroup
[src]
impl Debug for DeviceGroup
[src]
impl FromRaw<libinput_device_group> for DeviceGroup
[src]
unsafe fn from_raw(ffi: *mut libinput_device_group) -> Self
Create a new instance of this type from a raw pointer. Read more
impl AsRaw<libinput_device_group> for DeviceGroup
[src]
impl Userdata for DeviceGroup
[src]
unsafe fn userdata_raw<T: 'static>(&self) -> *mut T
unsafe fn set_userdata_raw<T: 'static>(&self, ptr: *mut T)
unsafe fn userdata<T: 'static>(&self) -> Option<&T>
Receive a reference to the attached userdata, if one exists. Read more
unsafe fn userdata_mut<T: 'static>(&mut self) -> Option<&mut T>
Receive a mutable reference to the attached userdata, if one exists. Read more
unsafe fn set_userdata<T: 'static, U: 'static>(&mut self,
new: Option<T>)
-> Option<U>
new: Option<T>)
-> Option<U>
Set userdata and receive the currently set userdata Read more
impl Clone for DeviceGroup
[src]
fn clone(&self) -> Self
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl Drop for DeviceGroup
[src]
impl PartialEq for DeviceGroup
[src]
fn eq(&self, other: &Self) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl Hash for DeviceGroup
[src]
fn hash<H: Hasher>(&self, state: &mut H)
Feeds this value into the state given, updating the hasher as necessary.
fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher
1.3.0
Feeds a slice of this type into the state provided.