Saltar al contenido principal

! Introducir texto con el teclado de hardware (:send_text)

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

Declaración

éxito, mensaje_error = objeto_teclado_hardware:send_text(texto[, retraso_por_tecla, retraso_de_tecla_Shift])

Parámetros

  • Texto Tipo texto; texto que se debe introducir. Solo admite letras inglesas, números, espacios, caracteres de medio ancho y "\b", "\r", "\t".
  • Retraso por tecla Tipo real, parámetro opcional; retraso en milisegundos entre operaciones de teclas; valor predeterminado 0.
  • Retraso de la tecla Shift Tipo real, parámetro opcional; retraso en milisegundos antes y después de pulsar o soltar Shift; valor predeterminado 0.

Valor devuelto

  • Éxito Tipo booleano; devuelve true cuando se envía correctamente todo el texto y false si falla.
  • Mensaje de error Tipo texto; devuelve el mensaje de error cuando el envío falla.

Descripción

Genera teclas y combinaciones con Shift según el mapeo de teclado estadounidense de Lua actual. Las esperas durante la entrada ceden implícitamente; antes de que el método devuelva el control, otros hilos pueden tener la oportunidad de ejecutarse.

  • Los caracteres introducidos finalmente siguen estando sujetos a la distribución del teclado del sistema objetivo.
  • Este método protege las teclas normales y modificadoras que ya estaban pulsadas antes de la llamada.
  • Si el mismo teclado de hardware está ejecutando una secuencia de :press o :send_text, la nueva operación devuelve false, "hardware keyboard is busy".
  • Si el envío falla, no reintenta automáticamente con otro método de entrada.

Ejemplo

local keyboard = assert(key.connect_keyboard())

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

assert(keyboard:disconnect())