Aller au contenu principal

! Saisir du texte avec le clavier matériel (:send_text)

Cette méthode est disponible dans les versions postérieures à 20260805

Déclaration​

Succès, message d’erreur = objet clavier matériel:send_text(texte[, délai par touche, délai de la touche Shift])

Paramètres​

  • Texte
    Type texte, texte à saisir ; prend uniquement en charge les lettres anglaises, chiffres, espaces, caractères ASCII ainsi que "\b", "\r" et "\t".
  • Délai par touche
    Type réel, paramètre facultatif, délai en millisecondes entre chaque opération de touche, 0 par défaut.
  • Délai de la touche Shift
    Type réel, paramètre facultatif, délai en millisecondes avant et après l’appui ou le relâchement de Shift, 0 par défaut.

Valeur de retour​

  • Succès
    Booléen, renvoie true lorsque tout le texte a été envoyé et false en cas d’échec.
  • Message d’erreur
    Type texte, message d’erreur en cas d’échec de l’envoi.

Description​

Génère les touches et les combinaisons avec Shift selon la disposition de clavier américain actuelle de Lua. Pendant la saisie, l’attente cède implicitement le contrôle ; avant le retour de la méthode, un autre thread peut avoir l’occasion de s’exécuter.

  • Les caractères finalement saisis restent soumis à la disposition du clavier du système cible.
  • Cette méthode préserve les touches ordinaires et modificatrices déjà enfoncées avant l’appel.
  • 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, aucune nouvelle tentative automatique avec un autre mode de saisie n’est effectuée.

Exemple​

local keyboard = assert(key.connect_keyboard())

assert(keyboard:send_text("Hello"))
assert(keyboard:send_text("Hello", 30, 10))

assert(keyboard:disconnect())