InputEventKey

Наследует: InputEventWithModifiers < InputEventFromWindow < InputEvent < Resource < RefCounted < Object

Представляет собой нажатие или отпускание клавиши на клавиатуре.

Описание

Событие ввода для клавиш на клавиатуре. Поддерживает нажатия клавиш, отпускания клавиш и события echo. Его также можно получить в Node._unhandled_key_input().

Примечание: События, полученные с клавиатуры, обычно имеют все установленные свойства. Сопоставления событий должны иметь только один из keycode, physical_keycode или unicode.

При сравнении событий свойства проверяются в следующем приоритете - keycode, physical_keycode и unicode. События с первым совпадающим значением будут считаться равными.

Обучающие материалы

Свойства

bool

echo

false

Key

key_label

0

Key

keycode

0

KeyLocation

location

0

Key

physical_keycode

0

bool

pressed

false

int

unicode

0

Методы

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


Описания свойств

bool echo = false 🔗

  • void set_echo(value: bool)

  • bool is_echo()

Если true, клавиша уже была нажата до этого события. Событие эха — это повторяющееся событие клавиши, отправляемое, когда пользователь удерживает клавишу.

Примечание: Скорость отправки событий эха обычно составляет около 20 событий в секунду (после удержания клавиши примерно полсекунды). Однако пользователь может изменить задержку/скорость повтора клавиши или полностью отключить ее в настройках операционной системы. Чтобы убедиться, что ваш проект работает правильно во всех конфигурациях, не предполагайте, что у пользователя есть определенная конфигурация повтора клавиши в поведении вашего проекта.


Key key_label = 0 🔗

  • void set_key_label(value: Key)

  • Key get_key_label()

Представляет локализованную метку, напечатанную на клавише в текущей раскладке клавиатуры, которая соответствует одной из констант Key или любому допустимому символу Unicode.

Для раскладок клавиатуры с одной меткой на клавише это эквивалентно keycode.

Чтобы получить понятное человеку представление InputEventKey, используйте OS.get_keycode_string(event.key_label), где event — это InputEventKey.

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

Key keycode = 0 🔗

  • void set_keycode(value: Key)

  • Key get_keycode()

Латинская метка, напечатанная на клавише в текущей раскладке клавиатуры, которая соответствует одной из констант Key.

Чтобы получить понятное человеку представление InputEventKey, используйте OS.get_keycode_string(event.keycode), где event — это InputEventKey.

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

KeyLocation location = 0 🔗

Обозначает расположение клавиши, которая имеет как левую, так и правую версии, например Shift или Alt.


Key physical_keycode = 0 🔗

  • void set_physical_keycode(value: Key)

  • Key get_physical_keycode()

Представляет физическое расположение клавиши на 101/102-клавишной клавиатуре US QWERTY, что соответствует одной из констант Key.

Чтобы получить понятное человеку представление InputEventKey, используйте OS.get_keycode_string() в сочетании с DisplayServer.keyboard_get_keycode_from_physical():

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

bool pressed = false 🔗

  • void set_pressed(value: bool)

  • bool is_pressed()

Если true, состояние клавиши нажато. Если false, состояние клавиши отпущено.


int unicode = 0 🔗

  • void set_unicode(value: int)

  • int get_unicode()

Код символа Unicode клавиши (если применимо), смещенный клавишами-модификаторами. Коды символов Unicode для составных символов и сложных сценариев могут быть недоступны, если не активен режим ввода IME. Для получения дополнительной информации см. Window.set_ime_active().


Описания метода

String as_text_key_label() const 🔗

Возвращает String-представление key_label события и модификаторов.


String as_text_keycode() const 🔗

Возвращает String представление keycode и модификаторов события.


String as_text_location() const 🔗

Возвращает String представление location события. Это будет пустая строка, если событие не относится к конкретному местоположению.


String as_text_physical_keycode() const 🔗

Возвращает String-представление physical_keycode события и модификаторов.


Key get_key_label_with_modifiers() const 🔗

Возвращает локализованную метку клавиши в сочетании с модификаторами, такими как Shift или Alt. См. также InputEventWithModifiers.

Чтобы получить понятное человеку представление InputEventKey с модификаторами, используйте OS.get_keycode_string(event.get_key_label_with_modifiers()), где event — это InputEventKey.


Key get_keycode_with_modifiers() const 🔗

Возвращает латинский код клавиши в сочетании с модификаторами, такими как Shift или Alt. См. также InputEventWithModifiers.

Чтобы получить понятное человеку представление InputEventKey с модификаторами, используйте OS.get_keycode_string(event.get_keycode_with_modifiers()), где event — это InputEventKey.


Key get_physical_keycode_with_modifiers() const 🔗

Возвращает физический код клавиши в сочетании с модификаторами, такими как Shift или Alt. См. также InputEventWithModifiers.

Чтобы получить понятное человеку представление InputEventKey с модификаторами, используйте OS.get_keycode_string(event.get_physical_keycode_with_modifiers()), где event — это InputEventKey.