what is difference _unhandled_input() or _unhandled_key_input() or _process() or _input()?

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

Are there any specific examples?
i saw this page ,but i can not understand it well.

i think _unhandled_input and _unhandle_key_input is for key input.
process is run always.
input is work when i move the mouse.
In particular, I do not understand the difference between unhandle_input and unhandled_key_input

func _unhandled_input(event):
	if Input.is_key_pressed(KEY_A):

func _unhandled_key_input(event):
	if Input.is_key_pressed(KEY_S):

func _process(delta):

func _input(event):
:bust_in_silhouette: Reply From: Dooowy.

unhandledkeyinput refers to specific key values assigned in the OS specifically Octets 16111117 → System.Int16

The latter supports more but takes more time to cycle less than 2ms Int32

Either way its best practice to use the correct type. In your case it’s _unhandled_key_input(event)