The Godot Q&A is currently undergoing maintenance!

Your ability to ask and answer questions is temporarily disabled. You can browse existing threads in read-only mode.

We are working on bringing this community platform back to its full functionality, stay tuned for updates.

godotengine.org | Twitter

0 votes

I have a StaticBody2d that i want to detect when i press a key while moused over it. I am able to use _input_event() to detect mouse clicks but it does not seem to work for key presses. Ideally I want to detect an InputEventAction.

This works for mouse clicks, but no key press events are printed.

   func _input_event(viewport, event, shape_idx):
    print(event)
    if event is InputEventMouseButton :
        if event.button_index == BUTTON_LEFT and event.is_pressed():
            emit_signal("interact", self, tool_needed)
            print("goo")
Godot version 3.2.3
in Engine by (21 points)

1 Answer

+1 vote
Best answer

Yeah, that's because bodies don't detect key presses. You need to use the _input or _unhandled_input function.

by (8,550 points)
selected by
Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.