pub struct KeyEvent {
    pub key: KeyCode,
    pub modifiers: Modifiers,
    pub leds: KeyboardLedStatus,
    pub repeat_count: u16,
    pub key_is_down: bool,
    pub raw: Option<RawKeyEvent>,
}

Fields§

§key: KeyCode

Which key was pressed. This is the potentially processed/composed version of the input.

§modifiers: Modifiers

Which modifiers are down

§leds: KeyboardLedStatus§repeat_count: u16

How many times this key repeats

§key_is_down: bool

If true, this is a key down rather than a key up event

§raw: Option<RawKeyEvent>

If triggered from a raw key event, here it is.

Implementations§

source§

impl KeyEvent

source

pub fn normalize_shift(self) -> Self

if SHIFT is held and we have KeyCode::Char(‘c’) we want to normalize that keycode to KeyCode::Char(‘C’); that is what this function does.

source

pub fn resurface_positional_modifier_key(self) -> Self

If the key code is a modifier key (Control, Alt, Shift), check the underlying raw event to see if we had a positional version of that key. If so, switch to the positional version.

source

pub fn normalize_ctrl(self) -> Self

If CTRL is held down and we have KeyCode::Char(_) with the ASCII control value encoded, decode it back to the ASCII alpha keycode instead.

source

pub fn encode_win32_input_mode(&self) -> Option<String>

source

pub fn encode_kitty(&self, flags: KittyKeyboardFlags) -> String

Trait Implementations§

source§

impl Clone for KeyEvent

source§

fn clone(&self) -> KeyEvent

Returns a copy 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 KeyEvent

source§

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

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

impl PartialEq for KeyEvent

source§

fn eq(&self, other: &KeyEvent) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for KeyEvent

source§

impl StructuralEq for KeyEvent

source§

impl StructuralPartialEq for KeyEvent

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> 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> ToOwned for T
where T: Clone,

§

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

§

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.