pub enum Binding {
CharRange(Bound<char>, Bound<char>, KeyMod),
FnRange(Bound<u8>, Bound<u8>, KeyMod),
AnyModifier(KeyMod),
AnyMedia(KeyMod),
Any(Option<KeyMod>),
Event(KeyCode, KeyMod),
}Expand description
Possible ways to map keys
This struct serves the purpose of allowing the use of pattern-like
syntax in order to match keys in the bindings! macro, while
still creating a finitely known list of keys, which can then be
used for documentation.
Variants§
CharRange(Bound<char>, Bound<char>, KeyMod)
A range of KeyEvents with KeyCode::Char, like
KeyCode::Char('0'..='9')
FnRange(Bound<u8>, Bound<u8>, KeyMod)
A range of KeyEvents with KeyCode::F, like
KeyCode::F(1..=3)
AnyModifier(KeyMod)
Any modifier key, like ModifierKeyCode::LeftShift
Unlikely to be bound
AnyMedia(KeyMod)
Any media key, like MediaKeyCode::MuteVolume
Any(Option<KeyMod>)
Event(KeyCode, KeyMod)
Implementations§
Source§impl Binding
impl Binding
Sourcepub fn new(code: KeyCode, modif: KeyMod) -> Self
pub fn new(code: KeyCode, modif: KeyMod) -> Self
Returns a new concrete Binding
Sourcepub fn as_key_event(&self) -> Option<KeyEvent>
pub fn as_key_event(&self) -> Option<KeyEvent>
A KeyEvent, with assumptions about less used options
Only returns Some if this is Binding::Event
with a concrete KeyCode and KeyMod.
Trait Implementations§
Source§impl From<(MediaKeyCode, KeyModifiers)> for Binding
impl From<(MediaKeyCode, KeyModifiers)> for Binding
Source§fn from((media, modif): (MediaKeyCode, KeyMod)) -> Self
fn from((media, modif): (MediaKeyCode, KeyMod)) -> Self
Converts to this type from the input type.
Source§impl From<(ModifierKeyCode, KeyModifiers)> for Binding
impl From<(ModifierKeyCode, KeyModifiers)> for Binding
Source§fn from((modifier, modif): (ModifierKeyCode, KeyMod)) -> Self
fn from((modifier, modif): (ModifierKeyCode, KeyMod)) -> Self
Converts to this type from the input type.
Source§impl From<(RangeInclusive<char>, KeyModifiers)> for Binding
impl From<(RangeInclusive<char>, KeyModifiers)> for Binding
Source§impl From<(RangeInclusive<u8>, KeyModifiers)> for Binding
impl From<(RangeInclusive<u8>, KeyModifiers)> for Binding
Source§impl From<(RangeToInclusive<char>, KeyModifiers)> for Binding
impl From<(RangeToInclusive<char>, KeyModifiers)> for Binding
Source§impl From<(RangeToInclusive<u8>, KeyModifiers)> for Binding
impl From<(RangeToInclusive<u8>, KeyModifiers)> for Binding
impl Copy for Binding
Auto Trait Implementations§
impl Freeze for Binding
impl RefUnwindSafe for Binding
impl Send for Binding
impl Sync for Binding
impl Unpin for Binding
impl UnsafeUnpin for Binding
impl UnwindSafe for Binding
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