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

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

Rappresenta la pressione o il rilascio di un tasto sulla tastiera.

Descrizione

Un evento di input per i tasti di una tastiera. Supporta pressioni di tasti, rilasci di tasti ed eventi eco (echo). Può anche essere ricevuto in Node._unhandled_key_input().

Nota: Gli eventi ricevuti dalla tastiera solitamente hanno tutte le proprietà impostate. Le mappature degli eventi dovrebbero avere solo uno dei keycode, physical_keycode o unicode impostati.

Quando gli eventi sono confrontati, le proprietà sono controllate in base alla seguente priorità: keycode, physical_keycode e unicode. Gli eventi con il primo valore corrispondente saranno considerati uguali.

Tutorial

Proprietà

bool

echo

false

Key

key_label

0

Key

keycode

0

KeyLocation

location

0

Key

physical_keycode

0

bool

pressed

false

int

unicode

0

Metodi

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


Descrizioni delle proprietà

bool echo = false 🔗

  • void set_echo(value: bool)

  • bool is_echo()

Se true, il tasto era già stato premuto prima di questo evento. Un evento eco è un evento di tasto ripetuto, inviato quando l'utente tiene premuto il tasto.

Nota: La frequenza con cui vengono inviati gli eventi eco è in genere di circa 20 eventi al secondo (dopo aver tenuto premuto il tasto per circa mezzo secondo). Tuttavia, è possibile modificare o disabilitare il ritardo (o velocità) di ripetizione del tasto nelle impostazioni del sistema operativo. Per garantire che il progetto funzioni correttamente su tutte le configurazioni, non dare per scontato che l'utente abbia una configurazione di ripetizione del tasto specifica nel comportamento del progetto.


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

Etichetta latina stampata sul tasto nel layout di tastiera attuale, che corrisponde a una delle costanti di Key. I codici dei tasti sono pensati per le scorciatoie espresse con una tastiera latina standard, come Ctrl + S per una scorciatoia "Salva".

Per ottenere una rappresentazione leggibile in chiaro dell'InputEventKey, usa OS.get_keycode_string(event.keycode) dove event è l'InputEventKey.

+-----+ +-----+
| Q   | | Q   | - "Q" - keycode
|   Й | |  ض | - "Й" and "ض" - key_label
+-----+ +-----+

KeyLocation location = 0 🔗

Rappresenta la posizione di un tasto che ha sia una versione sinistra sia una destra, come Shift o Alt.


Key physical_keycode = 0 🔗

  • void set_physical_keycode(value: Key)

  • Key get_physical_keycode()

Rappresenta la posizione fisica di un tasto sulla tastiera QWERTY statunitense a 101/102 tasti, che corrisponde a una delle costanti di Key. I codici dei tasti fisici sono pensati per i giochi, come ad esempio il movimento tramite i tasti WASD, dove è importante soltanto la posizione dei tasti.

Per ottenere una rappresentazione leggibile in chiaro dell'InputEventKey, utilizza OS.get_keycode_string() in combinazione con DisplayServer.keyboard_get_keycode_from_physical() o 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()

Se true, lo stato del tasto è premuto. Se false, lo stato del tasto è rilasciato.


int unicode = 0 🔗

  • void set_unicode(value: int)

  • int get_unicode()

Il codice carattere Unicode del tasto (quando pertinente), influenzato dai tasti modificatori. I codici carattere Unicode per caratteri compositi e script complessi potrebbero non essere disponibili a meno che non sia attiva la modalità di input IME. Vedi Window.set_ime_active() per maggiori informazioni. I codici carattere Unicode sono pensati per l'input di testo.

Nota: Questa proprietà è impostata dal motore solo per un evento di pressione di un tasto. Se l'evento viene inviato da un IME o da una tastiera virtuale, non viene inviato alcun evento di rilascio corrispondente.


Descrizioni dei metodi

String as_text_key_label() const 🔗

Restituisce una rappresentazione String dell'etichetta del tasto (key_label) e dei modificatori dell'evento.


String as_text_keycode() const 🔗

Restituisce una rappresentazione String del codice tasto (keycode) e dei modificatori dell'evento.


String as_text_location() const 🔗

Restituisce una rappresentazione String della posizione (location) dell'evento. Questa sarà una stringa vuota se l'evento non è specifico per una posizione.


String as_text_physical_keycode() const 🔗

Restituisce una rappresentazione String del codice tasto fisico (physical_keycode) e dei modificatori dell'evento.


Key get_key_label_with_modifiers() const 🔗

Restituisce l'etichetta localizzata del tasto combinata con i tasti modificatori come Shift o Alt. Vedi anche InputEventWithModifiers.

Per ottenere una rappresentazione leggibile in chiaro di InputEventKey con i modificatori, utilizza OS.get_keycode_string(event.get_key_label_with_modifiers()) dove event è l'InputEventKey.


Key get_keycode_with_modifiers() const 🔗

Restituisce il codice tasto latino combinato con i tasti modificatori come Shift o Alt. Vedi anche InputEventWithModifiers.

Per ottenere una rappresentazione leggibile in chiaro di InputEventKey con i modificatori, utilizza OS.get_keycode_string(event.get_keycode_with_modifiers()) dove event è l'InputEventKey.


Key get_physical_keycode_with_modifiers() const 🔗

Restituisce il codice tasto fisico combinato con tasti modificatori come Shift o Alt. Vedi anche InputEventWithModifiers.

Per ottenere una rappresentazione leggibile in chiaro di InputEventKey con modificatori, utilizza OS.get_keycode_string(event.get_physical_keycode_with_modifiers()) dove event è l'InputEventKey.