pawkit_input/binding/
axis.rs1use num_enum::TryFromPrimitive;
2use serde::{Deserialize, Serialize};
3
4use crate::binding::implement_into;
5
6#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7pub enum KeyboardAxis {}
8
9impl TryFromPrimitive for KeyboardAxis {
10 type Primitive = u8;
11
12 type Error = ();
13
14 const NAME: &'static str = "KeyboardAxis";
15
16 fn try_from_primitive(_: Self::Primitive) -> Result<Self, Self::Error> {
17 return Err(());
18 }
19}
20
21implement_into!(KeyboardAxis);
22
23#[repr(u8)]
24#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, TryFromPrimitive)]
25pub enum MouseAxis {
26 DeltaX,
27 DeltaY,
28 WheelX,
29 WheelY,
30}
31
32implement_into!(MouseAxis);
33
34#[repr(u8)]
35#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, TryFromPrimitive)]
36pub enum GamepadAxis {
37 LeftX,
38 LeftY,
39 RightX,
40 RightY,
41 LeftTrigger,
42 RightTrigger,
43}
44
45implement_into!(GamepadAxis);