Aller au contenu principal

! Appuyer brièvement sur une touche du clavier matériel (:press)

Cette méthode est disponible à partir de la version 20260805

Déclaration

succès, message d’erreur = objet clavier matériel:press(code de touche[, durée de l’appui])
succès, message d’erreur = objet clavier matériel:press(Usage_Page, Usage_ID[, durée de l’appui])

Paramètres

  • code de touche Chaîne, utilise la même correspondance de noms de touches que key.press.
  • Usage Page Entier, cet objet clavier matériel n’accepte que le Keyboard/Keypad Usage Page 0x07.
  • Usage ID Entier, numéro de la touche physique, et non son encodage de caractère.
  • durée de l’appui Nombre réel, paramètre facultatif, durée de maintien de la touche en millisecondes, 10 millisecondes par défaut.

Valeur de retour

  • succès Booléen, renvoie true si l’appui et le relâchement réussissent, et false dans le cas contraire.
  • message d’erreur Chaîne, message d’erreur en cas d’échec de l’opération.

Description

Appuie sur la touche cible, attend la durée indiquée, puis la relâche. Pendant l’attente, le contrôle est implicitement cédé ; avant le retour de la méthode, un autre thread peut avoir l’occasion de s’exécuter.

  • Cette méthode préserve les touches ordinaires et modificatrices déjà enfoncées avant l’appel et ne les relâche pas pour accomplir l’opération courante.
  • Si le même clavier matériel exécute une séquence :press ou :send_text, la nouvelle opération renvoie false, "hardware keyboard is busy".
  • En cas d’échec de l’envoi, ne réessaie pas automatiquement avec un autre mode de saisie.

Exemple

local keyboard = assert(key.connect_keyboard())

assert(keyboard:press("a"))
assert(keyboard:press(0x07, 4, 30)) -- Keyboard A, maintien pendant 30 millisecondes

assert(keyboard:disconnect())