Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

InputEventKey

Inherits: InputEventWithModifiers < InputEventFromWindow < InputEvent < Resource < RefCounted < Object

Represents a key on a keyboard being pressed or released.

Description

An input event for keys on a keyboard. Supports key presses, key releases and echo events. It can also be received in Node._unhandled_key_input.

Note: Events received from the keyboard usually have all properties set. Event mappings should have only one of the keycode, physical_keycode or unicode set.

When events are compared, properties are checked in the following priority - keycode, physical_keycode and unicode. Events with the first matching value will be considered equal.

Tutorials

Properties

bool

echo

false

Key

key_label

0

Key

keycode

0

Key

physical_keycode

0

bool

pressed

false

int

unicode

0

Methods

String

as_text_key_label ( ) const

String

as_text_keycode ( ) const

String

as_text_physical_keycode ( ) const

Key

get_key_label_with_modifiers ( ) const

Key

get_keycode_with_modifiers ( ) const

Key

get_physical_keycode_with_modifiers ( ) const


Property Descriptions

bool echo = false

  • void set_echo ( bool value )

  • bool is_echo ( )

If true, the key was already pressed before this event. It means the user is holding the key down.


Key key_label = 0

  • void set_key_label ( Key value )

  • Key get_key_label ( )

Represents the localized label printed on the key in the current keyboard layout, which corresponds to one of the Key constants or any valid Unicode character.

For keyboard layouts with a single label on the key, it is equivalent to keycode.

To get a human-readable representation of the InputEventKey, use OS.get_keycode_string(event.key_label) where event is the InputEventKey.

+-----+ +-----+
| Q   | | Q   | -