Saltar al contenido principal

Pulsar un botón del mando (:down)

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

Declaración

estado, mensaje_error = objeto_mando:down(boton)

Parámetros

  • boton Tipo entero o texto; se puede pasar un entero de 1 a 32, uno de los nombres de la tabla siguiente, o "start" o "menu"; las cadenas no distinguen mayúsculas de minúsculas
NúmeroNombre del botónAlias
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-

Valores devueltos

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

Descripción

  • Los números 1 a 32 representan botones numéricos, no códigos de botón de juego unificados entre dispositivos; normalmente se recomienda usar primero los nombres de la tabla anterior
  • Los números 17 a 32 no tienen nombres predefinidos y solo producen efecto si la App de destino admite los botones extendidos correspondientes
  • "start" y "menu" son alias de la misma entrada de menú y no corresponden a ningún número de 1 a 32
  • Los nombres de botón select, back, options, home, share y del panel táctil no son compatibles por ahora
  • left_trigger y right_trigger solo admiten pulsar o soltar; no admiten simular valores de presión. menu no activa la acción de pantalla de inicio del sistema
  • 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, en lugar de devolver false, error

Ejemplo

local pad = assert(gamepad.connect())

assert(pad:down("left_shoulder"))
assert(pad:up("left_shoulder"))
assert(pad:down(13)) -- botón numérico 13
assert(pad:up(13))
assert(pad:disconnect())