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;
