Struct InputEvent

Source
pub struct InputEvent(/* private fields */);
Expand description

An input event received from or sent to an evdev.

Use InputEvent::kind to convert it to a matchable enum.

Implementations§

Source§

impl InputEvent

Source

pub const fn new(ty: EventType, raw_code: u16, raw_value: i32) -> Self

Creates an InputEvent from raw values.

The timestamp of the event will be set to 0.

Source

pub const fn zeroed() -> Self

Creates an InputEvent with all fields zeroed out.

Useful as a dummy or filler value that will be overwritten with a “real” event soon.

This results in a Syn::REPORT event.

Source

pub fn with_time(self, time: SystemTime) -> Self

Changes the timestamp of self to the given SystemTime.

Note: InputEvent uses a timeval to store the timestamp, which has microsecond resolution, while SystemTime can represent nanoseconds on Unix. The value will be truncated or rounded to fit in the timeval.

Source

pub fn time(&self) -> SystemTime

Returns the timestamp stored in the event.

The clock source used to generate event timestamps can be changed by calling Evdev::set_clockid.

Source

pub fn kind(&self) -> EventKind

Returns the EventKind this InputEvent encodes.

EventKind is a matchable, type-safe enum which is intended to be the primary way most applications examine input events.

EventKind is #[non_exhaustive], so matching on it requires a wildcard arm that will catch any events that don’t have a specific EventKind variant. Future versions of evdevil might add new variants to catch those events.

Source

pub fn event_type(&self) -> EventType

Returns the EventType of this event.

Source

pub fn raw_code(&self) -> u16

Returns the raw event code field.

The code of an InputEvent generally describes what entity the event is about. Depending on the type of event, it can describe a key, axis, sound, LED, or other entity.

Source

pub fn raw_value(&self) -> i32

Returns the raw event value field.

The value of an InputEvent describes the new state of the key, axis, LED, or other entity.

Trait Implementations§

Source§

impl Clone for InputEvent

Source§

fn clone(&self) -> InputEvent

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for InputEvent

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<AbsEvent> for InputEvent

Source§

fn from(value: AbsEvent) -> Self

Converts to this type from the input type.
Source§

impl From<EventKind> for InputEvent

Source§

fn from(kind: EventKind) -> InputEvent

Converts to this type from the input type.
Source§

impl From<ForceFeedbackEvent> for InputEvent

Source§

fn from(value: ForceFeedbackEvent) -> Self

Converts to this type from the input type.
Source§

impl From<KeyEvent> for InputEvent

Source§

fn from(value: KeyEvent) -> Self

Converts to this type from the input type.
Source§

impl From<LedEvent> for InputEvent

Source§

fn from(value: LedEvent) -> Self

Converts to this type from the input type.
Source§

impl From<MiscEvent> for InputEvent

Source§

fn from(value: MiscEvent) -> Self

Converts to this type from the input type.
Source§

impl From<RelEvent> for InputEvent

Source§

fn from(value: RelEvent) -> Self

Converts to this type from the input type.
Source§

impl From<RepeatEvent> for InputEvent

Source§

fn from(value: RepeatEvent) -> Self

Converts to this type from the input type.
Source§

impl From<SoundEvent> for InputEvent

Source§

fn from(value: SoundEvent) -> Self

Converts to this type from the input type.
Source§

impl From<SwitchEvent> for InputEvent

Source§

fn from(value: SwitchEvent) -> Self

Converts to this type from the input type.
Source§

impl From<Syn> for InputEvent

Source§

fn from(value: Syn) -> Self

Converts to this type from the input type.
Source§

impl From<SynEvent> for InputEvent

Source§

fn from(value: SynEvent) -> Self

Converts to this type from the input type.
Source§

impl From<UinputEvent> for InputEvent

Source§

fn from(value: UinputEvent) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for InputEvent

Source§

fn eq(&self, other: &InputEvent) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for InputEvent

Source§

impl Eq for InputEvent

Source§

impl StructuralPartialEq for InputEvent

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.