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())