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

Успадковує: 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
|   Й | |  ض | - "Й" and "ض" - key_label
+-----+ +-----+

Key keycode = 0 🔗

  • void set_keycode(value: Key)

  • Key get_keycode()

Латинська мітка, надрукована на клавіші в поточній розкладці клавіатури, яка відповідає одній з констант Key. Коди клавіш призначені для комбінацій клавіш, що виражаються стандартною латинською клавіатурою, наприклад, Ctrl + S для комбінації клавіш «Зберегти».

Щоб отримати зрозуміле для людини представлення InputEventKey, використовуйте OS.get_keycode_string(event.keycode), де event – це InputEventKey.

+-----+ +-----+
| Q   | | Q   | - "Q" - keycode
|   Й | |  ض | - "Й" and "ض" - 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. Коди фізичних клавіш призначені для введення в гру, наприклад, для руху WASD, де важливе лише розташування клавіш.

Щоб отримати зрозуміле для людини представлення InputEventKey, використовуйте OS.get_keycode_string() у поєднанні з DisplayServer.keyboard_get_keycode_from_physical() або 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()

Якщо true, натискається ключовий стан. Якщо false, випущена ключова держава.


int unicode = 0 🔗

  • void set_unicode(value: int)

  • int get_unicode()

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

Примітка: Ця властивість встановлюється механізмом лише для події натискання. Якщо подію надсилає IME або віртуальна клавіатура, відповідна подія відпускання клавіші не надсилається.


Описи методів

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_phys_keycode_with_modifiers(), де event є InputEventKey.