InputTransition :: struct { left_down : bool; left_up : bool; right_down : bool; right_up : bool; mouse_wheel : s64; motion_delta : Vector2; control_down : bool; control_up : bool; shift_down : bool; shift_up : bool; left_arrow_down : bool; right_arrow_down : bool; backspace : bool; char : s32; } InputState :: struct { left_mouse : bool; right_mouse : bool; } input_state : InputState; input_transitions : [..]InputTransition;