55 lines
601 B
C
55 lines
601 B
C
#include "fumocommon.h"
|
|
|
|
|
|
enum InputType {
|
|
BUTTON,
|
|
AXIS,
|
|
JOYSTICK
|
|
};
|
|
|
|
union InputData {
|
|
struct Button {
|
|
u64 value;
|
|
} but;
|
|
|
|
struct Axis {
|
|
i64 value;
|
|
} axis;
|
|
|
|
struct Joystick {
|
|
i32 x;
|
|
i32 y;
|
|
} js;
|
|
};
|
|
|
|
struct InputRecord {
|
|
union InputData data;
|
|
|
|
nsec time;
|
|
|
|
u16 scan_code;
|
|
|
|
u8 type;
|
|
bool is_down;
|
|
};
|
|
|
|
struct InputVAxis {
|
|
union InputData data;
|
|
|
|
nsec last_pressed;
|
|
nsec last_released;
|
|
|
|
u8 type;
|
|
bool is_down;
|
|
bool is_held;
|
|
bool is_up;
|
|
};
|
|
|
|
typedef struct InputVBind;
|
|
|
|
struct InputVBind {
|
|
struct InputVBind *link;
|
|
|
|
struct InputVAxis *v_axis;
|
|
union InputData relationship;
|
|
}; |