Add compose macro button

This commit is contained in:
2023-05-16 23:40:55 +02:00
parent 643f75cf0a
commit 903f880c73
2 changed files with 5 additions and 0 deletions

View File

@ -23,10 +23,12 @@ impl From<Modifier> for u8 {
} }
#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)] #[derive(Debug, PartialEq, Eq, Serialize, Deserialize)]
#[non_exhaustive]
pub enum Button { pub enum Button {
Mod(Modifier), Mod(Modifier),
Key(Key), Key(Key),
ModTap(Key, Modifier), ModTap(Key, Modifier),
Compose(Key, Key, Option<Key>),
NextLayer, NextLayer,
PrevLayer, PrevLayer,
None, None,
@ -38,6 +40,8 @@ impl Display for Button {
Button::Mod(modifier) => Debug::fmt(&modifier, f), Button::Mod(modifier) => Debug::fmt(&modifier, f),
Button::Key(key) => write!(f, "{key:?}"), Button::Key(key) => write!(f, "{key:?}"),
Button::ModTap(key, modifier) => write!(f, "{key:?}/{modifier}"), 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::NextLayer => write!(f, ""),
Button::PrevLayer => write!(f, ""), Button::PrevLayer => write!(f, ""),
Button::None => write!(f, "Ø"), Button::None => write!(f, "Ø"),

View File

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