pub struct KeyBinding { /* private fields */ }Expand description
One concrete key event that can trigger a TUI action.
Matching via is_press handles exact equality plus compatibility fallbacks
for terminals that report uppercase letters without SHIFT and Ctrl keys as
raw C0 control characters. This means a binding defined as shift-a will
match either Shift+a or plain A, and ctrl-j will match raw LF.
This does not model multi-key chords or partial matches; callers that need sequences must keep that state outside this type.
Implementations§
Source§impl KeyBinding
impl KeyBinding
pub const fn new(key: KeyCode, modifiers: KeyModifiers) -> Self
pub fn from_event(event: KeyEvent) -> Self
pub fn is_press(&self, event: KeyEvent) -> bool
pub const fn parts(&self) -> (KeyCode, KeyModifiers)
pub fn display_label(&self) -> String
Trait Implementations§
Source§impl Clone for KeyBinding
impl Clone for KeyBinding
Source§fn clone(&self) -> KeyBinding
fn clone(&self) -> KeyBinding
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for KeyBinding
Source§impl Debug for KeyBinding
impl Debug for KeyBinding
impl Eq for KeyBinding
Source§impl From<&KeyBinding> for Span<'static>
impl From<&KeyBinding> for Span<'static>
Source§fn from(binding: &KeyBinding) -> Self
fn from(binding: &KeyBinding) -> Self
Converts to this type from the input type.
Source§impl From<KeyBinding> for Span<'static>
impl From<KeyBinding> for Span<'static>
Source§fn from(binding: KeyBinding) -> Self
fn from(binding: KeyBinding) -> Self
Converts to this type from the input type.
Source§impl Hash for KeyBinding
impl Hash for KeyBinding
Source§impl PartialEq for KeyBinding
impl PartialEq for KeyBinding
impl StructuralPartialEq for KeyBinding
Auto Trait Implementations§
impl Freeze for KeyBinding
impl RefUnwindSafe for KeyBinding
impl Send for KeyBinding
impl Sync for KeyBinding
impl Unpin for KeyBinding
impl UnsafeUnpin for KeyBinding
impl UnwindSafe for KeyBinding
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more