[go: up one dir, main page]

Struct crokey::Combiner

source ·
pub struct Combiner { /* private fields */ }
Expand description

Consumes key events and combines them into key combinations.

See the print_key_events example.

Implementations§

source§

impl Combiner

source

pub fn enable_combining(&mut self) -> Result<bool>

Try to enable combining more than one non-modifier key into a combination.

Return Ok(false) when the terminal doesn’t support the kitty protocol.

A downside of combining is that key combinations are produced on key release instead of key press, which may feel “slower”.

Behind the scene, this function pushes the keyboard enhancement flags to the terminal. The flags are popped, and the normal state of the terminal restored, when the Combiner is dropped.

source

pub fn is_combining(&self) -> bool

source

pub fn transform(&mut self, key: KeyEvent) -> Option<KeyCombination>

Receive a key event and return a key combination if one is ready.

When combining is enabled, the key combination is only returned on a key release event.

Trait Implementations§

source§

impl Debug for Combiner

source§

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

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

impl Default for Combiner

source§

fn default() -> Combiner

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

impl Drop for Combiner

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

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