embassy-usb-host

Crates

git

Versions

default

Flavors

MouseReport

Struct MouseReport 

Source
pub struct MouseReport {
    pub buttons: MouseButtons,
    pub x: i8,
    pub y: i8,
    pub wheel: i8,
}
Expand description

Decoded mouse report (USB HID boot protocol, 4 bytes).

All standard USB mice support this layout in boot protocol mode.

Fields§

§buttons: MouseButtons

Button state. Use the MouseButtons constants or check bits directly.

§x: i8

Horizontal movement since last report (signed, positive = right).

§y: i8

Vertical movement since last report (signed, positive = down).

§wheel: i8

Scroll wheel movement (signed, positive = scroll up / away from user).

Implementations§

Source§

impl MouseReport

Source

pub const BUTTON_LEFT: MouseButtons = 1u8

Left mouse button.

Source

pub const BUTTON_RIGHT: MouseButtons = 2u8

Right mouse button.

Source

pub const BUTTON_MIDDLE: MouseButtons = 4u8

Middle mouse button (scroll wheel click).

Source

pub fn parse(buf: &[u8]) -> Option<Self>

Parse a boot-protocol mouse report from a buffer (minimum 3 bytes; 4 for wheel). Returns None if the buffer is shorter than 3 bytes.

Source

pub fn left(&self) -> bool

Returns true if the left button is pressed.

Source

pub fn right(&self) -> bool

Returns true if the right button is pressed.

Source

pub fn middle(&self) -> bool

Returns true if the middle button is pressed.

Trait Implementations§

Source§

impl Clone for MouseReport

Source§

fn clone(&self) -> MouseReport

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 MouseReport

Source§

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

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

impl Default for MouseReport

Source§

fn default() -> MouseReport

Returns the “default value” for a type. Read more
Source§

impl Format for MouseReport

Source§

fn format(&self, f: Formatter<'_>)

Writes the defmt representation of self to fmt.
Source§

impl PartialEq for MouseReport

Source§

fn eq(&self, other: &MouseReport) -> 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 Eq for MouseReport

Source§

impl StructuralPartialEq for MouseReport

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, 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.