Pular para o conteúdo principal

! 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 true quando todo o texto é enviado com sucesso, e false quando 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 :press ou :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())