What is input "Echo"?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By neonwarge04

Just quoting the docs Controllers, gamepads, and joysticks — Godot Engine (stable) documentation in English

Unlike keyboard input, holding down a controller button such as a D-pad direction will not generate repeated input events at fixed intervals (also known as “echo” events). This is because the operating system never sends “echo” events for controller input in the first place.

If you want controller buttons to send echo events, you will have to generate InputEvent objects by code and parse them using Input.parse_input_event() at regular intervals. This can be accomplished with the help of a Timer node.

I don’t understand anything about this. Is Godot handling this so we don’t have to worry about this or we need to handle this specifically? I can’t seem to find anything on the web in regards with “Echo” input so hopefully someone here can shed a light on this matter.

:bust_in_silhouette: Reply From: SnapCracklins

Essentially, it’s preventing inputs from happening twice, hence the “Echo.” What it means is that, for instance, if you have “down” pressed on a controller joystick, your events don’t overlap each other. This is also because a controller input is actually a variable value depending on pressure (on joysticks at least) so if Godot didn’t do this, you’d have input for every degree of joystick movement. All you need to know is ECHO BAD. Though I am sure several here can embellish better than a hobbyist such as me.