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