! 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
truecuando se envía correctamente todo el texto yfalsesi 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
:presso:send_text, la nueva operación devuelvefalse, "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())