Struct virtio_drivers::device::input::VirtIOInput

source ·
pub struct VirtIOInput<H: Hal, T: Transport> { /* private fields */ }
Expand description

Virtual human interface devices such as keyboards, mice and tablets.

An instance of the virtio device represents one such input device. Device behavior mirrors that of the evdev layer in Linux, making pass-through implementations on top of evdev easy.

Implementations§

source§

impl<H: Hal, T: Transport> VirtIOInput<H, T>

source

pub fn new(transport: T) -> Result<Self>

Create a new VirtIO-Input driver.

source

pub fn ack_interrupt(&mut self) -> bool

Acknowledge interrupt and process events.

source

pub fn pop_pending_event(&mut self) -> Option<InputEvent>

Pop the pending event.

source

pub fn query_config_select( &mut self, select: InputConfigSelect, subsel: u8, out: &mut [u8], ) -> u8

Query a specific piece of information by select and subsel, and write result to out, return the result size.

Trait Implementations§

source§

impl<H: Hal, T: Transport> Drop for VirtIOInput<H, T>

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<H: Hal, T: Transport + Send> Send for VirtIOInput<H, T>
where VirtQueue<H, QUEUE_SIZE>: Send,

source§

impl<H: Hal, T: Transport + Sync> Sync for VirtIOInput<H, T>
where VirtQueue<H, QUEUE_SIZE>: Sync,

Auto Trait Implementations§

§

impl<H, T> Freeze for VirtIOInput<H, T>
where T: Freeze,

§

impl<H, T> RefUnwindSafe for VirtIOInput<H, T>

§

impl<H, T> Unpin for VirtIOInput<H, T>
where T: Unpin, H: Unpin,

§

impl<H, T> UnwindSafe for VirtIOInput<H, T>
where T: UnwindSafe, H: UnwindSafe,

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

§

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

§

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.