This commit is contained in:
sxyazi 2023-09-18 07:52:33 +08:00
parent 3ee8ef8547
commit 95ffdd7861
No known key found for this signature in database

View file

@ -5,10 +5,10 @@ use serde::Deserialize;
#[derive(Clone, Debug, Deserialize, Eq)] #[derive(Clone, Debug, Deserialize, Eq)]
#[serde(try_from = "String")] #[serde(try_from = "String")]
pub struct Key { pub struct Key {
pub code: KeyCode, pub code: KeyCode,
pub shift: bool, pub shift: bool,
pub ctrl: bool, pub ctrl: bool,
pub alt: bool, pub alt: bool,
} }
impl PartialEq for Key { impl PartialEq for Key {
@ -43,18 +43,16 @@ impl Key {
} }
impl Default for Key { impl Default for Key {
fn default() -> Self { fn default() -> Self { Self { code: KeyCode::Null, shift: false, ctrl: false, alt: false } }
Self { code: KeyCode::Null, shift: false, ctrl: false, alt: false }
}
} }
impl From<KeyEvent> for Key { impl From<KeyEvent> for Key {
fn from(value: KeyEvent) -> Self { fn from(value: KeyEvent) -> Self {
Self { Self {
code: value.code, code: value.code,
shift: value.modifiers.contains(KeyModifiers::SHIFT), shift: value.modifiers.contains(KeyModifiers::SHIFT),
ctrl: value.modifiers.contains(KeyModifiers::CONTROL), ctrl: value.modifiers.contains(KeyModifiers::CONTROL),
alt: value.modifiers.contains(KeyModifiers::ALT), alt: value.modifiers.contains(KeyModifiers::ALT),
} }
} }
} }