Class reference

InputEvent

Inherits Resource

Abstract base class for input events.

Description

Abstract base class of all types of input events. See Node._input().

Properties

int device = 0

The event's device ID. Note: device can be negative for special use cases that don't refer to devices physically present on the system. See DEVICE_ID_EMULATION.

Methods

bool accumulate(InputEvent with_event)

Returns true if the given input event and this input event can be added together (only for events of type InputEventMouseMotion). The given input event's position, global position and speed will be copied. The resulting relative is a sum of both events. Both events' modifiers have to be identical.

String as_text() const

Returns a String representation of the event.

bool is_action_pressed(StringName action, bool allow_echo = false, bool exact_match = false) const

Returns true if the given action matches this event and is being pressed (and is not an echo event for InputEventKey events, unless allow_echo is true). Not relevant for events of type InputEventMouseMotion or InputEventScreenDrag. If exact_match is false, it ignores additional input modifiers for InputEventKey and InputEventMouseButton events, and the direction for InputEventJoypadMotion events. Note: Due to keyboard ghosting, is_action_pressed() may return false even if one of the action's keys is pressed. See Input examples in the documentation for more information.

bool is_canceled() const

Returns true if this input event has been canceled.

bool is_echo() const

Returns true if this input event is an echo event (only for events of type InputEventKey). An echo event is a repeated key event sent when the user is holding down the key. Any other event type returns false. Note: The rate at which echo events are sent is typically around 20 events per second (after holding down the key for roughly half a second). However, the key repeat delay/speed can be changed by the user or disabled entirely in the operating system settings. To ensure your project works correctly on all configurations, do not assume the user has a specific key repeat configuration in your project's behavior.

bool is_match(InputEvent event, bool exact_match = true) const

Returns true if the specified event matches this event. Only valid for action events, which include key (InputEventKey), button (InputEventMouseButton or InputEventJoypadButton), axis InputEventJoypadMotion, and action (InputEventAction) events. If exact_match is false, the check ignores additional input modifiers for InputEventKey and InputEventMouseButton events, and the direction for InputEventJoypadMotion events. Note: This method only considers the event configuration (such as the keyboard key or the joypad axis), not state information like is_pressed(), is_released(), is_echo(), or is_canceled().

bool is_pressed() const

Returns true if this input event is pressed. Not relevant for events of type InputEventMouseMotion or InputEventScreenDrag. Note: Due to keyboard ghosting, is_pressed() may return false even if one of the action's keys is pressed. See Input examples in the documentation for more information.

Constants

DEVICE_ID_EMULATION = -1

Device ID used for emulated mouse input from a touchscreen, or for emulated touch input from a mouse. This can be used to distinguish emulated mouse input from physical mouse input, or emulated touch input from physical touch input.

Tutorials

Source revision 4f5b14abade2
Connection interrupted. Reload×

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.