VoxelEngine/doc/ru/scripting/user-input.md
2024-06-13 18:41:38 +03:00

1.6 KiB

Пользовательский ввод

Обработка нажатий клавиш и кнопок мыши обрабатываются через привязки (bindings), которые назначаются в паке, в файле config/bindings.toml в формате:

packid.binding.name="inputtype:codename"
  • packid - опционально, но желательно
  • inputtype - key или mouse
  • codename - имя клавиши или кнопки мыши (left/right/middle)

Имена клавиш

  • space, backspace, tab, enter, caps-lock, escape
  • left-ctrl, left-shift, left-alt, left-super
  • right-ctrl, right-shift, right-alt, right-super
  • delete, home, end, insert, page-up, page-down
  • left, right, down, up
  • a..z
  • 0..9
  • f1..f25

Библиотека input

input.keycode(keyname: str) -> int

Возвращает код клавиши по имени, либо -1

input.mousecode(mousename: str) -> int

Возвращает код кнопки мыши по имени, либо -1

input.add_callback(bindname: str, callback: function)

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

input.add_callback("hud.inventory", function ()
	print("Inventory open key pressed")
end)
input.get_mouse_pos() -> {int, int}

Возвращает позицию курсора на экране.

input.get_bindings() -> массив строк

Возвращает названия всех доступных привязок.