# VirtIOInput in virtio_drivers - Rust
Virtual human interface devices such as keyboards, mice and tablets.
Keywords: rust, rustlang, rust-lang, VirtIOInput

# Struct virtio_drivers::VirtIOInput

source · [−]

    pub struct VirtIOInput<'a> { /* 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<'a> VirtIOInput<'a>

source

#### pub fn new(header: &'static mut VirtIOHeader) -> 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.

## Auto Trait Implementations

### impl<'a> RefUnwindSafe for VirtIOInput<'a>

### impl<'a> Send for VirtIOInput<'a>

### impl<'a> Sync for VirtIOInput<'a>

### impl<'a> Unpin for VirtIOInput<'a>

### impl<'a> !UnwindSafe for VirtIOInput<'a>

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

const: unstable · source

#### fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more

source

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

const: unstable · source

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

Mutably borrows from an owned value. Read more

source

### impl<T> From<T> for T

const: unstable · source

#### fn from(t: T) -> T

Returns the argument unchanged.

source

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

const: unstable · 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.

const: unstable · 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.

const: unstable · source

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

Performs the conversion.