voxelcore/doc/ru/scripting/builtins/libinput.md
Xertis 32feb78002
Improved docs (#708)
* начало переписи доков

* extensions update

* libapp update

* libfile update

* io_stream update

* Update io_stream.md

* io_stream update x3

* io_stream update x4

* libtime update

* libgui update + make bytearray.md

* libinput update

* Update libapp.md

* Update libapp.md

* libgui update

* events.md ru fix

* да ну не надо так делать

--> не имеет смысла, ибо гитхаб -> показывает адекватно

* types refactoring

* fixes

* Update libblock.md

* Update libblock.md

* Update libbyteutil.md
2025-12-18 12:58:39 +03:00

2.7 KiB
Raw Blame History

Библиотека input

Основные методы

-- Возвращает код клавиши по имени, либо -1
input.keycode(keyname: string) -> number

-- Возвращает код кнопки мыши по имени, либо -1
input.mousecode(mousename: string) -> number

-- Проверяет активность ввода по коду, состоящему из:
-- * типа ввода: key (клавиша) или mouse (кнопка мыши)
-- * код ввода: [имя клавиши](#имена-клавиш) или имя кнопки мыши (left, middle, right)
input.is_pressed(code: string) -> boolean

-- Возвращает названия всех доступных привязок.
input.get_bindings() -> table<string>

-- Возвращает текстовое представление кнопки по имени привязки.
input.get_binding_text(bindname: string) -> string

-- Проверяет активность привязки.
input.is_active(bindname: string) -> string

-- Включает/выключает привязку до выхода из мира.
input.set_enabled(bindname: string, flag: boolean)

Курсор мыши

-- Возвращает позицию курсора на экране.
input.get_mouse_pos() -> {number, number}

-- Возращает дельту позиции курсора.
input.get_mouse_delta() -> {number, number}

Создание обработчиков

input.add_callback(
    -- Имя привязки
    bindname: string,
    -- Обработчик
    callback: function
    -- UI элемент-владелец обработчика (отвечает за срок жизни)
    [опционально] owner: Element,
    -- Игнорировать захват ввода UI элементами
    [опционально] istoplevel: boolean    
)

Назначает функцию, которая будет вызываться при активации привязки. Пример:

input.add_callback("hud.inventory", function ()
    print("Inventory open key pressed")
end)

Можно назначить функцию на нажатие клавиши.

input.add_callback("key:space", function ()
    print("Space pressed")
end)

Также можно привязать время жизни функции к UI контейнеру, вместо HUD. В таком случае, input.add_callback можно использовать до вызова on_hud_open.

input.add_callback("key:escape", function ()
    print("NO")
    return true -- предотвращает вызов назначенных ранее функций
end, document.root)