Aller au contenu principal

! Appuyer brièvement sur une touche de la manette (:press)

Cette méthode est disponible à partir des versions postérieures au 20260805

Déclaration

etat, message_erreur = objet_manette:press(touche [, duree_appui ])

Paramètres

  • touche type entier ou texte, numéros et noms pris en charge dans la description du paramètre touche
  • duree_appui valeur finie non négative, paramètre facultatif, durée de maintien de la touche enfoncée, 60 par défaut

Valeur renvoyée

  • etat type booléen, renvoie true si l’appui puis le relâchement réussissent ; renvoie false si l’appareil est déconnecté, occupé, si la touche cible est déjà enfoncée ou si l’envoi de l’entrée échoue
  • message_erreur type texte, message d’erreur lorsque l’opération échoue

Description

  • Appuie uniquement sur la touche cible puis la relâche ; l’état des autres touches déjà enfoncées n’est pas modifié
  • L’appel échoue si la touche cible est déjà enfoncée
  • Pendant l’attente de la durée d’appui de press, le thread d’exécution Lua actuel cède la main ; durant cette période, les autres opérations sur la même manette renvoient false, "hardware gamepad is busy", tandis que les objets de manette distincts restent utilisables indépendamment
  • Une erreur de type de paramètre, un nom inconnu ou une valeur hors limites est levé comme erreur de paramètre Lua

Exemple

local pad = assert(gamepad.connect())

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