54 lines
611 B
Plaintext
54 lines
611 B
Plaintext
namespace InputEvent;
|
|
|
|
|
|
enum KeyAction: byte {
|
|
DOWN,
|
|
UP,
|
|
}
|
|
|
|
|
|
table MouseMovement {
|
|
movement_x: int16;
|
|
movement_y: int16;
|
|
}
|
|
|
|
enum MouseButton: byte {
|
|
LEFT,
|
|
MIDDLE,
|
|
RIGHT,
|
|
X1,
|
|
X2
|
|
}
|
|
|
|
table MouseInput {
|
|
button: MouseButton;
|
|
button_action: KeyAction;
|
|
}
|
|
|
|
|
|
struct ModifierState {
|
|
shift: bool;
|
|
ctrl: bool;
|
|
alt: bool;
|
|
meta: bool;
|
|
}
|
|
|
|
table KeyboardInput {
|
|
key_code: int16;
|
|
key_action: KeyAction;
|
|
modifiers: ModifierState;
|
|
}
|
|
|
|
union Input {
|
|
Keyboard:KeyboardInput,
|
|
MouseMovement:MouseMovement,
|
|
MouseInput:MouseInput,
|
|
}
|
|
|
|
table InputEvent {
|
|
input: Input;
|
|
}
|
|
|
|
root_type InputEvent;
|
|
|