Перейти к основному содержимому

Нажатие кнопки контроллера (:down)

Этот метод доступен только в версиях после 20260805.

Объявление

состояние, сообщение_об_ошибке = объект_контроллера:down(кнопка)

Параметры

  • кнопка Целое число или текст: можно передать целое число от 1 до 32, имя кнопки из таблицы ниже либо "start" или "menu"; регистр строки не учитывается.
НомерИмя кнопкиПсевдонимы
1a-
2b-
3x-
4y-
5left_shoulderleft_bumperlbl1
6right_shoulderright_bumperrbr1
7left_triggerltl2
8right_triggerrtr2
9left_stickl3
10right_stickr3
11l4left_paddle
12r4right_paddle
13m1-
14m2-
15m3-
16m4-

Возвращаемые значения

  • состояние Логическое значение: true при успешной операции и false, если устройство отключено, занято или отправка ввода завершилась ошибкой.
  • сообщение об ошибке Текст с описанием ошибки операции.

Описание

  • Числа 132 обозначают цифровые кнопки, а не единый для всех устройств код игровой кнопки; обычно следует отдавать предпочтение именам из таблицы выше.
  • Для чисел 1732 нет предопределённых имён; они работают только при поддержке соответствующих расширенных кнопок целевым приложением.
  • "start" и "menu" — псевдонимы одного и того же меню ввода, они не соответствуют какому-либо числу от 1 до 32.
  • Имена кнопок select, back, options, home, share и кнопки трекпада пока не поддерживаются.
  • left_trigger и right_trigger поддерживают только нажатие и отпускание, но не имитацию значения давления; menu не запускает действие системного домашнего экрана.
  • Ошибки типа параметра, неизвестные имена и значения вне диапазона вызывают ошибку параметров Lua, а не возвращают false, error.

Пример

local pad = assert(gamepad.connect())

assert(pad:down("left_shoulder"))
assert(pad:up("left_shoulder"))
assert(pad:down(13)) -- Цифровая кнопка 13.
assert(pad:up(13))
assert(pad:disconnect())