Saltar al contenido principal

! Pulsar y soltar un botón del mando (:press)

Este método está disponible a partir de las versiones posteriores a 20260805

Declaración

estado, mensaje_error = objeto_mando:press(boton [, tiempo_pulsado ])

Parámetros

  • boton Tipo entero o texto; para los números y nombres compatibles, consulta Descripción del parámetro del botón
  • tiempo_pulsado Valor finito no negativo, opcional; cantidad de milisegundos que se mantiene pulsado el botón. El valor predeterminado es 60

Valores devueltos

  • estado Tipo booleano; devuelve true si pulsar y soltar el botón tiene éxito y false si el dispositivo está desconectado u ocupado, el botón de destino ya está pulsado o falla el envío de la entrada
  • mensaje_error Tipo texto; mensaje de error cuando la operación falla

Descripción

  • Solo pulsa y suelta el botón de destino; no cambia los demás botones que ya estén pulsados
  • La llamada falla si el botón de destino ya está pulsado
  • Mientras press espera durante el tiempo pulsado, cede el subproceso de ejecución de Lua actual. Durante ese periodo, las demás operaciones del mismo mando devuelven false, "hardware gamepad is busy"; los objetos de mando distintos siguen pudiendo funcionar de forma independiente
  • Los errores de tipo de parámetro, los nombres desconocidos y los valores fuera de rango se lanzan como errores de parámetro de Lua

Ejemplo

local pad = assert(gamepad.connect())

assert(pad:press("a"))
assert(pad:press("menu"))
assert(pad:press(32))
assert(pad:disconnect())