<?xml version="1.0" encoding="UTF-8" ?>
<class name="InputEventAction" inherits="InputEvent" api_type="core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
	<brief_description>
		An input event type for actions.
	</brief_description>
	<description>
		Contains a generic action which can be targeted from several types of inputs. Actions and their events can be set in the [b]Input Map[/b] tab in [b]Project &gt; Project Settings[/b], or with the [InputMap] class.
		[b]Note:[/b] Unlike the other [InputEvent] subclasses which map to unique physical events, this virtual one is not emitted by the engine. This class is useful to emit actions manually with [method Input.parse_input_event], which are then received in [method Node._input]. To check if a physical event matches an action from the Input Map, use [method InputEvent.is_action] and [method InputEvent.is_action_pressed].
	</description>
	<tutorials>
		<link title="Using InputEvent: Actions">$DOCS_URL/tutorials/inputs/inputevent.html#actions</link>
		<link title="2D Dodge The Creeps Demo">https://godotengine.org/asset-library/asset/2712</link>
		<link title="3D Voxel Demo">https://godotengine.org/asset-library/asset/2755</link>
	</tutorials>
	<members>
		<member name="action" type="StringName" setter="set_action" getter="get_action" default="&amp;&quot;&quot;">
			The action's name. This is usually the name of an existing action in the [InputMap] which you want this custom event to match.
		</member>
		<member name="event_index" type="int" setter="set_event_index" getter="get_event_index" default="-1">
			The real event index in action this event corresponds to (from events defined for this action in the [InputMap]). If [code]-1[/code], a unique ID will be used and actions pressed with this ID will need to be released with another [InputEventAction].
		</member>
		<member name="pressed" type="bool" setter="set_pressed" getter="is_pressed" default="false">
			If [code]true[/code], the action's state is pressed. If [code]false[/code], the action's state is released.
		</member>
		<member name="strength" type="float" setter="set_strength" getter="get_strength" default="1.0">
			The action's strength between 0 and 1. This value is considered as equal to 0 if pressed is [code]false[/code]. The event strength allows faking analog joypad motion events, by specifying how strongly the joypad axis is bent or pressed.
		</member>
	</members>
</class>
