Saltar al contenido principal

Teclado

[Traducción Beta No Oficial]

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

keyboard(input: KeyboardInput): Promise<void>

La API keyboard permite simular interacciones con un teclado. Acepta una string que describe las acciones de teclas.

Las pulsaciones se pueden describir:

  • Por carácter imprimible

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

    Los corchetes de apertura { y [ son caracteres especiales que pueden representarse duplicándolos.

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

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

    Esto no mantiene ninguna tecla presionada. Por lo tanto, Shift se soltará antes de presionar f.

    Los caracteres con significado especial dentro del descriptor de tecla pueden escaparse anteponiendo una barra invertida \.

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

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

Las teclas pueden mantenerse presionadas añadiendo > al final del descriptor.
Si esto debe generar eventos keydown repetidos, puede añadirse el número de repeticiones.
Si la tecla debe soltarse después, añada una barra / al final del descriptor.

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

Una tecla previamente presionada puede soltarse anteponiendo / al descriptor.

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

Esto permite simular combinaciones de teclas.

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

El mapeo de key a code lo realiza un mapa de teclas predeterminado que representa un teclado US "por defecto". Puede proporcionar su propio mapeo de teclado local mediante la opción keyboardMap.

Actualmente, los diferentes significados de key para teclas individuales se tratan como teclas distintas.

Futuras versiones podrían interpolar los modificadores necesarios para alcanzar una tecla imprimible en el teclado. Ej: Presionar automáticamente {Shift} cuando CapsLock no está activo y se referencia A. Si no desea este comportamiento, puede desactivar la opción autoModify para excluirse de este cambio no disruptivo.