Ir para o conteúdo principal

Teclado

[Tradução Beta Não Oficial]

Esta página foi traduzida por PageTurner AI (beta). Não é oficialmente endossada pelo projeto. Encontrou um erro? Reportar problema →

keyboard(input: KeyboardInput): Promise<void>

A API keyboard permite simular interações com um teclado. Ela aceita uma string que descreve as ações das teclas.

Teclas podem ser descritas como:

  • Por caractere imprimível

    keyboard('foo') // translates to: f, o, o

    Os colchetes de abertura { e [ são usados como caracteres especiais e podem ser referenciados duplicando-os.

    keyboard('{{a[[') // translates to: {, a, [
  • Por KeyboardEvent.key

    keyboard('{Shift}{f}{o}{o}') // translates to: Shift, f, o, o

    Isso não mantém nenhuma tecla pressionada. Portanto, Shift será liberada antes de pressionar f.

    Caracteres com significado especial dentro do descritor de tecla podem ser escapados prefixando-os com uma barra invertida \.

    keyboard('{\\}}') // translates to: }
  • Por KeyboardEvent.code

    keyboard('[ShiftLeft][KeyF][KeyO][KeyO]') // translates to: Shift, f, o, o

Teclas podem ser mantidas pressionadas adicionando > ao final do descritor.
Se isso deve resultar em eventos keydown repetidos, você pode adicionar o número de repetições.
Se a tecla também deve ser liberada após isso, adicione uma barra / ao final do descritor.

keyboard('{a>}') // press a without releasing it
keyboard('{a>5}') // press a without releasing it and trigger 5 keydown
keyboard('{a>5/}') // press a for 5 keydown and then release it

Uma tecla previamente pressionada pode ser liberada prefixando o descritor com /.

keyboard('{/a}') // release a previously pressed a

Isso permite simular combinações de teclas.

keyboard('{Shift>}A{/Shift}') // translates to: Shift(down), A, Shift(up)

O mapeamento de key para code é realizado por um mapa de teclas padrão que retrata um teclado US "padrão". Você pode fornecer seu próprio mapeamento de teclado local através da opção keyboardMap.

Atualmente, os diferentes significados de key para teclas individuais são tratados como teclas distintas.

Versões futuras podem tentar interpolar os modificadores necessários para alcançar uma tecla imprimível no teclado. Ex: Pressionar automaticamente {Shift} quando CapsLock não estiver ativo e A for referenciado. Se você não deseja esse comportamento, pode desativar a opção autoModify para optar por não receber essa alteração não quebrável.