# InputFactory This static class is available when extending `GutTest`. The methods in this class are simple wrappers to make it a little easier to create instances of the various `InputEvent*` classes. These are used, under the covers, by [Input Sender](Mocking-Input). Usage: ``` extends GutTest func test_something(): var event = InputFactory.action_down("jump") ... ``` ## Methods ### key_down `key_down(which)`
Returns a "key down" `InputEventKey` event instance. `which` can be one of the Godot `KEY_*` constants or a character. ### key_up `key_up(which)`
Returns a "key up" `InputEventKey` event instance. `which` can be one of the Godot `KEY_*` constants or a character. ### action_up `action_up(which, strength=1.0)`
Returns a "action up" `InputEventAction` instance. `which` is the name of the action defined in the Key Map. ### action_down `action_down(which, strength=1.0)`
Returns a "action down" `InputEventAction` instance. `which` is the name of the action defined in the Key Map. ### new_mouse_button_event `new_mouse_button_event(position, global_position, pressed, button_index)`
Returns a `InputEventMouseButton` instance. See `InputEventMouse` and `InputEventMouseButton` for parameter descriptions. #### mouse_left_button_down `mouse_left_button_down(position, global_position=null)`
Returns a "button down" `InputEventMouseButton` for the left mouse button. ### mouse_left_button_up `mouse_left_button_up(position, global_position=null)`
Returns a "button up" `InputEventMouseButton` for the left mouse button. ### mouse_double_click `mouse_double_click(position, global_position=null)`
Returns a "double click" `InputEventMouseButton` for the left mouse button. ### mouse_right_button_down `mouse_right_button_down(position, global_position=null)`
Returns a "button down" `InputEventMouseButton` for the right mouse button. ### mouse_right_button_up `mouse_right_button_up(position, global_position=null)`
Returns a "button up" `InputEventMouseButton` for the right mouse button. ### mouse_motion `mouse_motion(position, global_position=null)` Returns a `InputEventMouseMotion` instance indicating the mouse moved to the position(s) passed. ### mouse_relative_motion `mouse_relative_motion(offset, last_motion_event=null, speed=Vector2(0, 0))`
Returns a `InputEventMouseMotion` instance indicating the mouse moved `offset` distance from `last_motion_event` at `speed`. The default `speed` is instant.