! Inserir texto usando o teclado de hardware (:send_text)
Este método está disponível somente a partir da versão 20260805.
Declaração
sucesso, mensagem_de_erro = objeto_teclado:send_text(texto[, atraso_por_tecla, atraso_da_tecla_Shift])
Parâmetros
- texto
Texto; texto a inserir. Suporta somente letras inglesas, números, espaços, caracteres de meia largura e
"\b","\r","\t". - atraso_por_tecla Número real opcional; atraso em milissegundos entre as operações de cada tecla, com padrão de 0.
- atraso_da_tecla_Shift Número real opcional; atraso em milissegundos antes e depois de pressionar ou soltar Shift, com padrão de 0.
Valores retornados
- sucesso
Booleano; retorna
truequando todo o texto é enviado com sucesso, efalsequando falha. - mensagem_de_erro Texto; retorna a mensagem de erro quando o envio falha.
Descrição
Gera teclas e combinações com Shift usando o mapeamento de teclado americano do Lua atual. A espera durante a entrada cede a execução implicitamente, permitindo que outras threads executem antes do retorno do método.
- Os caracteres finalmente inseridos ainda dependem do layout de teclado do sistema de destino.
- Este método preserva as teclas comuns e modificadoras que já estavam pressionadas antes da chamada.
- Se o mesmo teclado de hardware estiver executando uma sequência
:pressou:send_text, a nova operação retornaráfalse, "hardware keyboard is busy". - Quando o envio falha, não tenta automaticamente outro método de entrada.
Exemplo
local keyboard = assert(key.connect_keyboard())
assert(keyboard:send_text("Hello"))
assert(keyboard:send_text("Hello", 30, 10))
assert(keyboard:disconnect())