Struct Input
#[repr(C)]pub struct Input { /* private fields */ }
Expand description
Godot class Input.
Inherits Object
.
Related symbols:
See also Godot docs for Input
.
§Singleton
This class is a singleton. You can get the one instance using Input::singleton()
.
Implementations§
§impl Input
impl Input
pub fn singleton() -> Gd<Input>
pub fn is_anything_pressed(&self) -> bool
pub fn is_key_pressed(&self, keycode: Key) -> bool
pub fn is_physical_key_pressed(&self, keycode: Key) -> bool
pub fn is_key_label_pressed(&self, keycode: Key) -> bool
pub fn is_action_pressed(&self, action: impl AsArg<StringName>) -> bool
pub fn is_action_pressed(&self, action: impl AsArg<StringName>) -> bool
To set the default parameters, use Self::is_action_pressed_ex
and its builder methods. See the book for detailed usage instructions.
pub fn is_action_pressed_ex<'a>( &'a self, action: impl AsArg<StringName> + 'a, ) -> ExIsActionPressed<'a>
pub fn is_action_just_pressed(&self, action: impl AsArg<StringName>) -> bool
pub fn is_action_just_pressed(&self, action: impl AsArg<StringName>) -> bool
To set the default parameters, use Self::is_action_just_pressed_ex
and its builder methods. See the book for detailed usage instructions.
pub fn is_action_just_pressed_ex<'a>( &'a self, action: impl AsArg<StringName> + 'a, ) -> ExIsActionJustPressed<'a>
pub fn is_action_just_released(&self, action: impl AsArg<StringName>) -> bool
pub fn is_action_just_released(&self, action: impl AsArg<StringName>) -> bool
To set the default parameters, use Self::is_action_just_released_ex
and its builder methods. See the book for detailed usage instructions.
pub fn is_action_just_released_ex<'a>( &'a self, action: impl AsArg<StringName> + 'a, ) -> ExIsActionJustReleased<'a>
pub fn get_action_strength(&self, action: impl AsArg<StringName>) -> f32
pub fn get_action_strength(&self, action: impl AsArg<StringName>) -> f32
To set the default parameters, use Self::get_action_strength_ex
and its builder methods. See the book for detailed usage instructions.
pub fn get_action_strength_ex<'a>( &'a self, action: impl AsArg<StringName> + 'a, ) -> ExGetActionStrength<'a>
pub fn get_action_raw_strength(&self, action: impl AsArg<StringName>) -> f32
pub fn get_action_raw_strength(&self, action: impl AsArg<StringName>) -> f32
To set the default parameters, use Self::get_action_raw_strength_ex
and its builder methods. See the book for detailed usage instructions.
pub fn get_action_raw_strength_ex<'a>( &'a self, action: impl AsArg<StringName> + 'a, ) -> ExGetActionRawStrength<'a>
pub fn get_axis( &self, negative_action: impl AsArg<StringName>, positive_action: impl AsArg<StringName>, ) -> f32
pub fn get_vector(
&self,
negative_x: impl AsArg<StringName>,
positive_x: impl AsArg<StringName>,
negative_y: impl AsArg<StringName>,
positive_y: impl AsArg<StringName>,
) -> Vector2
pub fn get_vector( &self, negative_x: impl AsArg<StringName>, positive_x: impl AsArg<StringName>, negative_y: impl AsArg<StringName>, positive_y: impl AsArg<StringName>, ) -> Vector2
To set the default parameters, use Self::get_vector_ex
and its builder methods. See the book for detailed usage instructions.
pub fn get_vector_ex<'a>( &'a self, negative_x: impl AsArg<StringName> + 'a, positive_x: impl AsArg<StringName> + 'a, negative_y: impl AsArg<StringName> + 'a, positive_y: impl AsArg<StringName> + 'a, ) -> ExGetVector<'a>
pub fn add_joy_mapping(&mut self, mapping: impl AsArg<GString>)
pub fn add_joy_mapping(&mut self, mapping: impl AsArg<GString>)
To set the default parameters, use Self::add_joy_mapping_ex
and its builder methods. See the book for detailed usage instructions.
pub fn add_joy_mapping_ex<'a>( &'a mut self, mapping: impl AsArg<GString> + 'a, ) -> ExAddJoyMapping<'a>
pub fn remove_joy_mapping(&mut self, guid: impl AsArg<GString>)
pub fn is_joy_known(&mut self, device: i32) -> bool
pub fn get_joy_axis(&self, device: i32, axis: JoyAxis) -> f32
pub fn get_joy_name(&mut self, device: i32) -> GString
pub fn get_joy_guid(&self, device: i32) -> GString
pub fn get_joy_info(&self, device: i32) -> Dictionary
pub fn should_ignore_device(&self, vendor_id: i32, product_id: i32) -> bool
pub fn get_connected_joypads(&mut self) -> Array<i64>
pub fn get_joy_vibration_strength(&mut self, device: i32) -> Vector2
pub fn get_joy_vibration_duration(&mut self, device: i32) -> f32
pub fn start_joy_vibration(
&mut self,
device: i32,
weak_magnitude: f32,
strong_magnitude: f32,
)
pub fn start_joy_vibration( &mut self, device: i32, weak_magnitude: f32, strong_magnitude: f32, )
To set the default parameters, use Self::start_joy_vibration_ex
and its builder methods. See the book for detailed usage instructions.
pub fn start_joy_vibration_ex<'a>( &'a mut self, device: i32, weak_magnitude: f32, strong_magnitude: f32, ) -> ExStartJoyVibration<'a>
pub fn stop_joy_vibration(&mut self, device: i32)
pub fn vibrate_handheld(&mut self)
pub fn vibrate_handheld(&mut self)
To set the default parameters, use Self::vibrate_handheld_ex
and its builder methods. See the book for detailed usage instructions.
pub fn vibrate_handheld_ex<'a>(&'a mut self) -> ExVibrateHandheld<'a>
pub fn get_gravity(&self) -> Vector3
pub fn get_accelerometer(&self) -> Vector3
pub fn get_magnetometer(&self) -> Vector3
pub fn get_gyroscope(&self) -> Vector3
pub fn set_gravity(&mut self, value: Vector3)
pub fn set_accelerometer(&mut self, value: Vector3)
pub fn set_magnetometer(&mut self, value: Vector3)
pub fn set_gyroscope(&mut self, value: Vector3)
pub fn get_last_mouse_velocity(&mut self) -> Vector2
pub fn get_last_mouse_screen_velocity(&mut self) -> Vector2
pub fn set_mouse_mode(&mut self, mode: MouseMode)
pub fn get_mouse_mode(&self) -> MouseMode
pub fn warp_mouse(&mut self, position: Vector2)
pub fn action_press(&mut self, action: impl AsArg<StringName>)
pub fn action_press(&mut self, action: impl AsArg<StringName>)
To set the default parameters, use Self::action_press_ex
and its builder methods. See the book for detailed usage instructions.
pub fn action_press_ex<'a>( &'a mut self, action: impl AsArg<StringName> + 'a, ) -> ExActionPress<'a>
pub fn action_release(&mut self, action: impl AsArg<StringName>)
pub fn set_default_cursor_shape(&mut self)
pub fn set_default_cursor_shape(&mut self)
To set the default parameters, use Self::set_default_cursor_shape_ex
and its builder methods. See the book for detailed usage instructions.
pub fn set_default_cursor_shape_ex<'a>( &'a mut self, ) -> ExSetDefaultCursorShape<'a>
pub fn get_current_cursor_shape(&self) -> CursorShape
pub fn set_custom_mouse_cursor(&mut self, image: impl AsObjectArg<Resource>)
pub fn set_custom_mouse_cursor(&mut self, image: impl AsObjectArg<Resource>)
To set the default parameters, use Self::set_custom_mouse_cursor_ex
and its builder methods. See the book for detailed usage instructions.
pub fn set_custom_mouse_cursor_ex<'a>( &'a mut self, image: impl AsObjectArg<Resource>, ) -> ExSetCustomMouseCursor<'a>
pub fn parse_input_event(&mut self, event: impl AsObjectArg<InputEvent>)
pub fn set_use_accumulated_input(&mut self, enable: bool)
pub fn is_using_accumulated_input(&mut self) -> bool
pub fn flush_buffered_events(&mut self)
pub fn set_emulate_mouse_from_touch(&mut self, enable: bool)
pub fn is_emulating_mouse_from_touch(&self) -> bool
pub fn set_emulate_touch_from_mouse(&mut self, enable: bool)
pub fn is_emulating_touch_from_mouse(&self) -> bool
Methods from Deref<Target = Object>§
pub fn get_class(&self) -> GString
pub fn is_class(&self, class: impl AsArg<GString>) -> bool
pub fn set(&mut self, property: impl AsArg<StringName>, value: &Variant)
pub fn get(&self, property: impl AsArg<StringName>) -> Variant
pub fn set_indexed( &mut self, property_path: impl AsArg<NodePath>, value: &Variant, )
pub fn get_indexed(&self, property_path: impl AsArg<NodePath>) -> Variant
pub fn get_property_list(&self) -> Array<Dictionary>
pub fn get_method_list(&self) -> Array<Dictionary>
pub fn property_can_revert(&self, property: impl AsArg<StringName>) -> bool
pub fn property_get_revert(&self, property: impl AsArg<StringName>) -> Variant
pub fn set_script(&mut self, script: &Variant)
pub fn get_script(&self) -> Variant
pub fn set_meta(&mut self, name: impl AsArg<StringName>, value: &Variant)
pub fn remove_meta(&mut self, name: impl AsArg<StringName>)
pub fn get_meta(&self, name: impl AsArg<StringName>) -> Variant
pub fn get_meta(&self, name: impl AsArg<StringName>) -> Variant
To set the default parameters, use Self::get_meta_ex
and its builder methods. See the book for detailed usage instructions.
pub fn get_meta_ex<'a>( &'a self, name: impl AsArg<StringName> + 'a, ) -> ExGetMeta<'a>
pub fn has_meta(&self, name: impl AsArg<StringName>) -> bool
pub fn get_meta_list(&self) -> Array<StringName>
pub fn add_user_signal(&mut self, signal: impl AsArg<GString>)
pub fn add_user_signal(&mut self, signal: impl AsArg<GString>)
To set the default parameters, use Self::add_user_signal_ex
and its builder methods. See the book for detailed usage instructions.
pub fn add_user_signal_ex<'a>( &'a mut self, signal: impl AsArg<GString> + 'a, ) -> ExAddUserSignal<'a>
pub fn has_user_signal(&self, signal: impl AsArg<StringName>) -> bool
pub fn remove_user_signal(&mut self, signal: impl AsArg<StringName>)
pub fn emit_signal(
&mut self,
signal: impl AsArg<StringName>,
varargs: &[Variant],
) -> Error
pub fn emit_signal( &mut self, signal: impl AsArg<StringName>, varargs: &[Variant], ) -> Error
§Panics
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will panic in such a case.
pub fn try_emit_signal(
&mut self,
signal: impl AsArg<StringName>,
varargs: &[Variant],
) -> Result<Error, CallError>
pub fn try_emit_signal( &mut self, signal: impl AsArg<StringName>, varargs: &[Variant], ) -> Result<Error, CallError>
§Return type
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will return Err
in such a case.
pub fn call(
&mut self,
method: impl AsArg<StringName>,
varargs: &[Variant],
) -> Variant
pub fn call( &mut self, method: impl AsArg<StringName>, varargs: &[Variant], ) -> Variant
§Panics
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will panic in such a case.
pub fn try_call(
&mut self,
method: impl AsArg<StringName>,
varargs: &[Variant],
) -> Result<Variant, CallError>
pub fn try_call( &mut self, method: impl AsArg<StringName>, varargs: &[Variant], ) -> Result<Variant, CallError>
§Return type
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will return Err
in such a case.
pub fn call_deferred(
&mut self,
method: impl AsArg<StringName>,
varargs: &[Variant],
) -> Variant
pub fn call_deferred( &mut self, method: impl AsArg<StringName>, varargs: &[Variant], ) -> Variant
§Panics
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will panic in such a case.
pub fn try_call_deferred(
&mut self,
method: impl AsArg<StringName>,
varargs: &[Variant],
) -> Result<Variant, CallError>
pub fn try_call_deferred( &mut self, method: impl AsArg<StringName>, varargs: &[Variant], ) -> Result<Variant, CallError>
§Return type
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will return Err
in such a case.
pub fn set_deferred( &mut self, property: impl AsArg<StringName>, value: &Variant, )
pub fn callv( &mut self, method: impl AsArg<StringName>, arg_array: &Array<Variant>, ) -> Variant
pub fn has_method(&self, method: impl AsArg<StringName>) -> bool
pub fn get_method_argument_count(&self, method: impl AsArg<StringName>) -> i32
pub fn has_signal(&self, signal: impl AsArg<StringName>) -> bool
pub fn get_signal_list(&self) -> Array<Dictionary>
pub fn get_signal_connection_list( &self, signal: impl AsArg<StringName>, ) -> Array<Dictionary>
pub fn get_incoming_connections(&self) -> Array<Dictionary>
pub fn connect(
&mut self,
signal: impl AsArg<StringName>,
callable: &Callable,
) -> Error
pub fn connect( &mut self, signal: impl AsArg<StringName>, callable: &Callable, ) -> Error
To set the default parameters, use Self::connect_ex
and its builder methods. See the book for detailed usage instructions.
pub fn connect_ex<'a>( &'a mut self, signal: impl AsArg<StringName> + 'a, callable: &'a Callable, ) -> ExConnect<'a>
pub fn disconnect( &mut self, signal: impl AsArg<StringName>, callable: &Callable, )
pub fn is_connected( &self, signal: impl AsArg<StringName>, callable: &Callable, ) -> bool
pub fn set_block_signals(&mut self, enable: bool)
pub fn is_blocking_signals(&self) -> bool
pub fn notify_property_list_changed(&mut self)
pub fn set_message_translation(&mut self, enable: bool)
pub fn can_translate_messages(&self) -> bool
pub fn tr(&self, message: impl AsArg<StringName>) -> GString
pub fn tr(&self, message: impl AsArg<StringName>) -> GString
To set the default parameters, use Self::tr_ex
and its builder methods. See the book for detailed usage instructions.
pub fn tr_ex<'a>(&'a self, message: impl AsArg<StringName> + 'a) -> ExTr<'a>
pub fn tr_n(
&self,
message: impl AsArg<StringName>,
plural_message: impl AsArg<StringName>,
n: i32,
) -> GString
pub fn tr_n( &self, message: impl AsArg<StringName>, plural_message: impl AsArg<StringName>, n: i32, ) -> GString
To set the default parameters, use Self::tr_n_ex
and its builder methods. See the book for detailed usage instructions.
pub fn tr_n_ex<'a>( &'a self, message: impl AsArg<StringName> + 'a, plural_message: impl AsArg<StringName> + 'a, n: i32, ) -> ExTrN<'a>
pub fn is_queued_for_deletion(&self) -> bool
pub fn cancel_free(&mut self)
pub fn notify(&mut self, what: ObjectNotification)
pub fn notify(&mut self, what: ObjectNotification)
⚠️ Sends a Godot notification to all classes inherited by the object.
Triggers calls to on_notification()
, and depending on the notification, also to Godot’s lifecycle callbacks such as ready()
.
Starts from the highest ancestor (the Object
class) and goes down the hierarchy.
See also Godot docs for Object::notification()
.
§Panics
If you call this method on a user-defined object while holding a GdRef
or GdMut
guard on the instance, you will encounter
a panic. The reason is that the receiving virtual method on_notification()
acquires a GdMut
lock dynamically, which must
be exclusive.
pub fn notify_reversed(&mut self, what: ObjectNotification)
pub fn notify_reversed(&mut self, what: ObjectNotification)
⚠️ Like Self::notify()
, but starts at the most-derived class and goes up the hierarchy.
See docs of that method, including the panics.