Compare commits

...

2 Commits

Author SHA1 Message Date
727e0bbd72 Add HoldLayer button 2023-06-12 17:52:42 +02:00
903f880c73 Add compose macro button 2023-05-16 23:41:18 +02:00
2 changed files with 8 additions and 1 deletions

View File

@ -22,13 +22,16 @@ impl From<Modifier> for u8 {
}
}
#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)]
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
#[non_exhaustive]
pub enum Button {
Mod(Modifier),
Key(Key),
ModTap(Key, Modifier),
Compose(Key, Key, Option<Key>),
NextLayer,
PrevLayer,
HoldLayer(u16),
None,
}
@ -38,8 +41,11 @@ impl Display for Button {
Button::Mod(modifier) => Debug::fmt(&modifier, f),
Button::Key(key) => write!(f, "{key:?}"),
Button::ModTap(key, modifier) => write!(f, "{key:?}/{modifier}"),
Button::Compose(k1, k2, None) => write!(f, "⎄ {k1:?} {k2:?}"),
Button::Compose(k1, k2, Some(k3)) => write!(f, "⎄ {k1:?} {k2:?} {k3:?}"),
Button::NextLayer => write!(f, ""),
Button::PrevLayer => write!(f, ""),
Button::HoldLayer(layer) => write!(f, "HL{layer}"),
Button::None => write!(f, "Ø"),
}
}

View File

@ -2,6 +2,7 @@ use serde::{Deserialize, Serialize};
#[repr(u8)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Serialize, Deserialize)]
#[non_exhaustive]
// https://usb.org/sites/default/files/hut1_3_0.pdf
pub enum Key {
A = 0x04,