nuhxboard_logic/lib.rs
1pub mod listener;
2
3use rdevin::Button;
4
5#[derive(Debug, thiserror::Error)]
6#[error("Unrecognized key")]
7pub struct UnknownButton;
8
9pub fn mouse_button_code_convert(rdev_button: Button) -> Result<u32, UnknownButton> {
10 match rdev_button {
11 Button::Left => Ok(0),
12 Button::Middle => Ok(2),
13 Button::Right => Ok(1),
14 Button::Unknown(code) => match code {
15 1 | 8 | 19 => Ok(3),
16 2 | 9 | 20 => Ok(4),
17 6 => Ok(6),
18 7 => Ok(7),
19 _ => Err(UnknownButton),
20 },
21 }
22}