KeyData

Struct KeyData 

Source
pub struct KeyData {
    pub key: Key,
    pub key_state: KeyState,
}
Expand description

height-level key data wrapper

Fields§

§key: Key§key_state: KeyState

Implementations§

Source§

impl KeyData

Source

pub fn new(c: char) -> Result<Self>

Create key data from char

Source

pub fn supports_modifiers(&self) -> bool

check if the modifier key is supported.

Source

pub fn r_shift(&self) -> bool

check if the right shift is pressed.

Source

pub fn l_shift(&self) -> bool

check if the left shift is pressed.

Source

pub fn shift(&self) -> bool

check if any shift is pressed.

Source

pub fn r_ctrl(&self) -> bool

check if the right control is pressed.

Source

pub fn l_ctrl(&self) -> bool

check if the left control is pressed.

Source

pub fn ctrl(&self) -> bool

check if any control is pressed.

Source

pub fn r_alt(&self) -> bool

check if the right alt is pressed.

Source

pub fn l_alt(&self) -> bool

check if the left alt is pressed.

Source

pub fn alt(&self) -> bool

check if any alt is pressed.

check if the right logo is pressed.

check if the left logo is pressed.

check if any logo is pressed.

Source

pub fn menu(&self) -> bool

check if the menu is pressed.

Source

pub fn sys_req(&self) -> bool

check if the sys req is pressed.

Source

pub fn supports_toggles(&self) -> bool

check if the toggle state is supported.

Source

pub fn is_realtime_mode(&self) -> bool

check if realtime mode is active. but inconsistent keyboard input behavior across different vendors :(

Source

pub fn scroll_lock(&self) -> bool

check if the scroll lock is active.

Source

pub fn num_lock(&self) -> bool

check if the num lock is active.

Source

pub fn caps_lock(&self) -> bool

check if the caps lock is active.

Source

pub fn realtime_init(stdin: &mut ScopedProtocol<Input>, enable: bool) -> Result

initialize realtime mode. warn: this init function could overwrite the existing toggle state. warn: it is recommended to call this function at program startup.

Trait Implementations§

Source§

impl Clone for KeyData

Source§

fn clone(&self) -> KeyData

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 KeyData

Source§

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

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

impl From<KeyData> for RawKeyData

reverse conversion to C struct

Source§

fn from(value: KeyData) -> Self

Converts to this type from the input type.
Source§

impl From<RawKeyData> for KeyData

forward conversion to Rust struct

Source§

fn from(raw: RawKeyData) -> Self

Converts to this type from the input type.
Source§

impl Copy for KeyData

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> Pointee for T

Source§

type Metadata = ()

The metadata type for pointers and references to this type.
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.