Expose `DEVICE_ID_EMULATION` constant in InputEvent

This also improves the documentation related to emulated InputEvents.
This commit is contained in:
Hugo Locurcio 2024-03-15 18:10:41 +01:00
parent 68ad520da4
commit 6818e50adc
2 changed files with 8 additions and 1 deletions

View File

@ -132,6 +132,8 @@ void InputEvent::_bind_methods() {
ClassDB::bind_method(D_METHOD("xformed_by", "xform", "local_ofs"), &InputEvent::xformed_by, DEFVAL(Vector2())); ClassDB::bind_method(D_METHOD("xformed_by", "xform", "local_ofs"), &InputEvent::xformed_by, DEFVAL(Vector2()));
ADD_PROPERTY(PropertyInfo(Variant::INT, "device"), "set_device", "get_device"); ADD_PROPERTY(PropertyInfo(Variant::INT, "device"), "set_device", "get_device");
BIND_CONSTANT(DEVICE_ID_EMULATION);
} }
/////////////////////////////////// ///////////////////////////////////

View File

@ -117,7 +117,12 @@
<members> <members>
<member name="device" type="int" setter="set_device" getter="get_device" default="0"> <member name="device" type="int" setter="set_device" getter="get_device" default="0">
The event's device ID. The event's device ID.
[b]Note:[/b] This device ID will always be [code]-1[/code] for emulated mouse input from a touchscreen. This can be used to distinguish emulated mouse input from physical mouse input. [b]Note:[/b] [member device] can be negative for special use cases that don't refer to devices physically present on the system. See [constant DEVICE_ID_EMULATION].
</member> </member>
</members> </members>
<constants>
<constant name="DEVICE_ID_EMULATION" value="-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.
</constant>
</constants>
</class> </class>