Up to date
This page is up to date for Godot 4.1
. If you still find outdated information, please open an issue.
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
| ||
| ||
| ||
| ||
| ||
|
Methods
as_text_key_label ( ) const | |
as_text_keycode ( ) const | |
as_text_physical_keycode ( ) const | |
get_key_label_with_modifiers ( ) const | |
get_keycode_with_modifiers ( ) const | |
get_physical_keycode_with_modifiers ( ) const |
Property Descriptions
bool echo = false
If true
, the key was already pressed before this event. It means the user is holding the key down.
Key key_label = 0
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 | - "Q" - keycode
| Й | | ض | - "Й" and "ض" - key_label
+-----+ +-----+
Key keycode = 0
Latin label printed on the key in the current keyboard layout, which corresponds to one of the Key constants.
To get a human-readable representation of the InputEventKey, use OS.get_keycode_string(event.keycode)
where event
is the InputEventKey.
+-----+ +-----+
| Q | | Q | - "Q" - keycode
| Й | | ض | - "Й" and "ض" - key_label
+-----+ +-----+
Key physical_keycode = 0
Represents the physical location of a key on the 101/102-key US QWERTY keyboard, which corresponds to one of the Key constants.
To get a human-readable representation of the InputEventKey, use OS.get_keycode_string(event.keycode)
where event
is the InputEventKey.
bool pressed = false
If true
, the key’s state is pressed. If false
, the key’s state is released.
int unicode = 0
The key Unicode character code (when relevant), shifted by modifier keys. Unicode character codes for composite characters and complex scripts may not be available unless IME input mode is active. See Window.set_ime_active for more information.
Method Descriptions
String as_text_key_label ( ) const
Returns a String representation of the event’s key_label and modifiers.
String as_text_keycode ( ) const
Returns a String representation of the event’s keycode and modifiers.
String as_text_physical_keycode ( ) const
Returns a String representation of the event’s physical_keycode and modifiers.
Key get_key_label_with_modifiers ( ) const
Returns the localized key label combined with modifier keys such as Shift or Alt. See also InputEventWithModifiers.
To get a human-readable representation of the InputEventKey with modifiers, use OS.get_keycode_string(event.get_key_label_with_modifiers())
where event
is the InputEventKey.
Key get_keycode_with_modifiers ( ) const
Returns the Latin keycode combined with modifier keys such as Shift or Alt. See also InputEventWithModifiers.
To get a human-readable representation of the InputEventKey with modifiers, use OS.get_keycode_string(event.get_keycode_with_modifiers())
where event
is the InputEventKey.
Key get_physical_keycode_with_modifiers ( ) const
Returns the physical keycode combined with modifier keys such as Shift or Alt. See also InputEventWithModifiers.
To get a human-readable representation of the InputEventKey with modifiers, use OS.get_keycode_string(event.get_physical_keycode_with_modifiers())
where event
is the InputEventKey.