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.
Checking the stable version of the documentation...
InputEventKey
Успадковує: InputEventWithModifiers < InputEventFromWindow < InputEvent < Resource < RefCounted < Object
Представляє ключ на клавіатурі, що натискається або звільняється.
Опис
Вхідний захід для клавіш на клавіатурі. Підтримує ключові преси, ключові релізи та події echo. Також можна отримати в Node._unhandled_key_input().
Примітка: Події, отримані з клавіатури, зазвичай мають всі властивості, встановлених. У випадку, якщо у вас є тільки один з keycode, physical_keycode або unicode.
Коли події порівнюються, властивості перевіряють в наступному пріоритеті - keycode, physical_keycode і unicode. Події з першим відповідним значенням будуть розглянуті рівні.
Посібники
Властивості
|
||
|
||
|
||
|
||
|
||
|
||
|
Методи
String |
as_text_key_label() const |
String |
as_text_keycode() const |
String |
as_text_location() const |
String |
as_text_physical_keycode() const |
get_key_label_with_modifiers() const |
|
get_keycode_with_modifiers() const |
|
Описи властивостей
Якщо true, ключ вже притискався до цього заходу. Якщо користувач тримає ключ.
Примітка: Ставка, на яку надсилаються події ехо, як правило, близько 20 подій на другий (після завершення ключа на нерівномірну половину другого). Тим не менше, затримка ключа / швидкість може бути змінена користувачем або повністю вимкнена в налаштуваннях операційної системи. Щоб переконатися, що ваш проект працює правильно на всіх конфігураціях, не припустимо, користувач має конкретну функцію повторення ключів у своїй поведінки проекту.
Представляє локалізовану мітку, надруковану на клавіші в поточній розкладці клавіатури, яка відповідає одній з констант Key або будь-якому дійсному символу Unicode. Мітки клавіш призначені для підказок клавіш.
Для розкладок клавіатури з однією міткою на клавіші це еквівалентно keycode.
Щоб отримати зрозуміле для людини представлення InputEventKey, використовуйте OS.get_keycode_string(event.key_label), де event – це InputEventKey.
+-----+ +-----+
| Q | | Q | - "Q" - keycode
| Й | | ض | - "Й" and "ض" - key_label
+-----+ +-----+
Латинська мітка, надрукована на клавіші в поточній розкладці клавіатури, яка відповідає одній з констант Key. Коди клавіш призначені для комбінацій клавіш, що виражаються стандартною латинською клавіатурою, наприклад, Ctrl + S для комбінації клавіш «Зберегти».
Щоб отримати зрозуміле для людини представлення InputEventKey, використовуйте OS.get_keycode_string(event.keycode), де event – це InputEventKey.
+-----+ +-----+
| Q | | Q | - "Q" - keycode
| Й | | ض | - "Й" and "ض" - key_label
+-----+ +-----+
KeyLocation location = 0 🔗
void set_location(value: KeyLocation)
KeyLocation get_location()
Представляє розташування ключа, який має як ліві, так і праві версії, такі як Shift або Alt.
Представляє фізичне розташування клавіші на 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))
public override void _Input(InputEvent @event)
{
if (@event is InputEventKey inputEventKey)
{
var keycode = DisplayServer.KeyboardGetKeycodeFromPhysical(inputEventKey.PhysicalKeycode);
var label = DisplayServer.KeyboardGetLabelFromPhysical(inputEventKey.PhysicalKeycode);
GD.Print(OS.GetKeycodeString(keycode));
GD.Print(OS.GetKeycodeString(label));
}
}
Якщо true, натискається ключовий стан. Якщо false, випущена ключова держава.
Код символу 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.