Pressionar uma tecla do teclado de hardware (:down)
Este método está disponível somente a partir da versão 20260805.
Declarações
sucesso, mensagem_de_erro = objeto_teclado:down(codigo_da_tecla)
sucesso, mensagem_de_erro = objeto_teclado:down(Usage_Page, Usage_ID)
Parâmetros
- codigo_da_tecla
Texto; usa o mesmo mapeamento de nomes de teclas que
key.press. - Usage Page
Inteiro; o objeto de teclado de hardware atual aceita somente a Keyboard/Keypad Usage Page
0x07. - Usage ID Inteiro; número da tecla física, não uma codificação de caractere.
Valores retornados
- sucesso
Booleano; retorna
truequando o envio é bem-sucedido efalsequando falha. - mensagem_de_erro Texto; retorna a mensagem de erro quando o envio falha.
Descrição
Pressiona uma tecla do teclado de hardware. Depois de pressioná-la, chame o
:upcorrespondente para liberá-la.
- Se o mesmo teclado estiver executando uma sequência
:pressou:send_text, este método retornaráfalse, "hardware keyboard is busy". - É possível manter pressionadas no máximo 6 teclas comuns ao mesmo tempo; as teclas modificadoras não entram na contagem. Acima desse limite, o sistema de destino não consegue identificar as teclas específicas.
- Quando o envio falhar, retorna
falsee uma mensagem de erro; não tenta automaticamente outro método de entrada.
Exemplo
local keyboard = assert(key.connect_keyboard())
assert(keyboard:press(0x07, 4)) -- Keyboard A
assert(keyboard:down(0x07, 0xE1)) -- Left Shift
assert(keyboard:up(0x07, 0xE1))
assert(keyboard:disconnect())