! 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
truesi l’appui et le relâchement réussissent, etfalsedans 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
:pressou:send_text, la nouvelle opération renvoiefalse, "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())