Skip to main content

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}