Enum tao::event::DeviceEvent[][src]

#[non_exhaustive]
pub enum DeviceEvent {
    Added,
    Removed,
    MouseMotion {
        delta: (f64, f64),
    },
    MouseWheel {
        delta: MouseScrollDelta,
    },
    Motion {
        axis: AxisId,
        value: f64,
    },
    Button {
        button: ButtonId,
        state: ElementState,
    },
    Key(RawKeyEvent),
    Text {
        codepoint: char,
    },
}
Expand description

Represents raw hardware events that are not associated with any particular window.

Useful for interactions that diverge significantly from a conventional 2D GUI, such as 3D camera or first-person game controls. Many physical actions, such as mouse movement, can produce both device and window events. Because window events typically arise from virtual devices (corresponding to GUI cursors and keyboard focus) the device IDs may not match.

Note that these events are delivered regardless of input focus.

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Added
Removed
MouseMotion

Change in physical position of a pointing device.

This represents raw, unfiltered physical motion. Not to be confused with WindowEvent::CursorMoved.

This variant is marked as non-exhaustive
Non-exhaustive enum variants could have additional fields added in future. Therefore, non-exhaustive enum variants cannot be constructed in external crates and cannot be matched against.
Show fields

Fields of MouseMotion

delta: (f64, f64)

(x, y) change in position in unspecified units.

Different devices may use different units.

MouseWheel

Physical scroll event

This variant is marked as non-exhaustive
Non-exhaustive enum variants could have additional fields added in future. Therefore, non-exhaustive enum variants cannot be constructed in external crates and cannot be matched against.
Show fields

Fields of MouseWheel

delta: MouseScrollDelta
Motion

Motion on some analog axis. This event will be reported for all arbitrary input devices that tao supports on this platform, including mouse devices. If the device is a mouse device then this will be reported alongside the MouseMotion event.

This variant is marked as non-exhaustive
Non-exhaustive enum variants could have additional fields added in future. Therefore, non-exhaustive enum variants cannot be constructed in external crates and cannot be matched against.
Show fields

Fields of Motion

axis: AxisIdvalue: f64
Button
This variant is marked as non-exhaustive
Non-exhaustive enum variants could have additional fields added in future. Therefore, non-exhaustive enum variants cannot be constructed in external crates and cannot be matched against.
Show fields

Fields of Button

button: ButtonIdstate: ElementState
Text
This variant is marked as non-exhaustive
Non-exhaustive enum variants could have additional fields added in future. Therefore, non-exhaustive enum variants cannot be constructed in external crates and cannot be matched against.
Show fields

Fields of Text

codepoint: char

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

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

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.