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

Hérite de : InputEventWithModifiers < InputEventFromWindow < InputEvent < Resource < RefCounted < Object

Représente une touche sur un clavier appuyée ou relâchée.

Description

Un événement d'entrée pour des touches sur un clavier. Supporte les appuis de touche, les relâchement de touche et les événements d'echo. Il peut également être reçu dans Node._unhandled_key_input().

Note : Les événements reçus du clavier ont généralement toutes leurs propriétés définies. Les associations d'événements ne devraient avoir qu'une seule propriété définie entre keycode, physical_keycode ou unicode.

Lorsque des événements sont comparés, les propriétés sont contrôlées selon la priorité suivante - keycode, physical_keycode et unicode. Des événements avec la première valeur correspondante seront considérés comme égaux.

Tutoriels

Propriétés

bool

echo

false

Key

key_label

0

Key

keycode

0

KeyLocation

location

0

Key

physical_keycode

0

bool

pressed

false

int

unicode

0

Méthodes

String

as_text_key_label() const

String

as_text_keycode() const

String

as_text_location() 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


Descriptions des propriétés

bool echo = false 🔗

  • void set_echo(value: bool)

  • bool is_echo()

Si true, la touche était déjà appuyée avant cet événement. Un événement d'écho est un événement de touche répété envoyé lorsque l'utilisateur maintient la touche.

Note : Le taux auquel les évènement d'écho sont envoyés est généralement d'environ 20 événements par seconde (après avoir maintenu la touche pendant environ une demi-seconde). Cependant, le délai/vitesse de répétition de la touche peut être changé par l'utilisateur ou désactivé entièrement dans les paramètres du système d'exploitation. Pour vous assurer que votre projet fonctionne correctement sur toutes les configurations, ne supposez pas dans le comportement de votre projet que l'utilisateur a une configuration de répétition de touche spécifique.


Key key_label = 0 🔗

  • void set_key_label(value: Key)

  • 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. Key labels are meant for key prompts.

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 🔗

  • void set_keycode(value: Key)

  • Key get_keycode()

Latin label printed on the key in the current keyboard layout, which corresponds to one of the Key constants. Key codes are meant for shortcuts expressed with a standard Latin keyboard, such as Ctrl + S for a "Save" shortcut.

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
+-----+ +-----+

KeyLocation location = 0 🔗

Représente l'emplacement d'une touche qui a à la fois une version gauche et droite, comme Maj ou Alt.


Key physical_keycode = 0 🔗

  • void set_physical_keycode(value: Key)

  • Key get_physical_keycode()

Represents the physical location of a key on the 101/102-key US QWERTY keyboard, which corresponds to one of the Key constants. Physical key codes meant for game input, such as WASD movement, where only the location of the keys is important.

To get a human-readable representation of the InputEventKey, use OS.get_keycode_string() in combination with DisplayServer.keyboard_get_keycode_from_physical() or DisplayServer.keyboard_get_label_from_physical():

func _input(event):
    if event is InputEventKey:
        var keycode = DisplayServer.keyboard_get_keycode_from_physical(event.physical_keycode)
        var label = DisplayServer.keyboard_get_label_from_physical(event.physical_keycode)
        print(OS.get_keycode_string(keycode))
        print(OS.get_keycode_string(label))

bool pressed = false 🔗

  • void set_pressed(value: bool)

  • bool is_pressed()

Si true, l’état de la clé est pressé. Si false, l’état de la clé est libéré.


int unicode = 0 🔗

  • void set_unicode(value: int)

  • int get_unicode()

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. Unicode character codes are meant for text input.

Note: This property is set by the engine only for a pressed event. If the event is sent by an IME or a virtual keyboard, no corresponding key released event is sent.


Descriptions des méthodes

String as_text_key_label() const 🔗

Renvoie une représentation en String du key_label de l'évènement et de ses modificateurs.


String as_text_keycode() const 🔗

Renvoie une représentation en String du keycode de l'évènement et de ses modificateurs.


String as_text_location() const 🔗

Renvoie une représentation en String de la location de l'évènement. Cela sera une chaîne vide si l'évènement n'est pas spécifique à un emplacement.


String as_text_physical_keycode() const 🔗

Renvoie une représentation en String du physical_keycode de l'évènement et de ses modificateurs.


Key get_key_label_with_modifiers() const 🔗

Renvoie le libellé traduit de la touche combinée avec des touches modificatrices telles que Maj ou Alt. Voir aussi InputEventWithModifiers.

Pour obtenir une représentation lisible de l'InputEventKey avec des modificateurs, utilisez OS.get_keycode_string(event.get_key_label_with_modifiers())event est l'InputEventKey.


Key get_keycode_with_modifiers() const 🔗

Renvoie le code de touche Latin combiné avec des touches modificatrices telles que Maj ou Alt. Voir aussi InputEventWithModifiers.

Pour obtenir une représentation lisible de l'InputEventKey avec des modificateurs, utilisez OS.get_keycode_string(event.get_keycode_with_modifiers())event est l'InputEventKey.


Key get_physical_keycode_with_modifiers() const 🔗

Renvoie le code de touche physique combiné avec des touches modificatrices telles que Maj ou Alt. Voir aussi InputEventWithModifiers.

Pour obtenir une représentation lisible de l'InputEventKey avec des modificateurs, utilisez OS.get_keycode_string(event.get_physical_keycode_with_modifiers())event est l'InputEventKey.