usb-terminal/src/special_chars.rs

39 lines
960 B
Rust

//! Helper functions for special characters
/// Known special buttons
pub enum SpecialButton {
Home,
Insert,
Delete,
ArrowUp,
ArrowDown,
ArrowRight,
ArrowLeft,
Unknown
}
/// map special buttons to SpecialButton
pub fn get_special_char(ch: &u8) -> SpecialButton {
match *ch {
0x31 => { SpecialButton::Home }
0x32 => { SpecialButton::Insert }
0x33 => { SpecialButton::Delete }
0x41 => { SpecialButton::ArrowUp }
0x42 => { SpecialButton::ArrowDown }
0x43 => { SpecialButton::ArrowRight }
0x44 => { SpecialButton::ArrowLeft }
_ => { SpecialButton::Unknown }
}
}
/// if character received is backspace
pub fn is_backspace(ch: &u8) -> bool {
if *ch == 0x08 { return true }
false
}
/// if character received is any number below 'space' in ascii.
pub fn is_boring(ch: &u8) -> bool {
if *ch <= 0x1F {return true}
false
}