Aller au contenu principal

Clavier

[Traduction Bêta Non Officielle]

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

keyboard(input: KeyboardInput): Promise<void>

L'API keyboard permet de simuler des interactions avec un clavier. Elle accepte une chaîne de caractères (string) décrivant les actions des touches.

Les frappes de touches peuvent être décrites :

  • Par caractère imprimable

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

    Les crochets ouvrants { et [ sont utilisés comme caractères spéciaux et peuvent être référencés en les doublant.

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

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

    Cela ne maintient aucune touche enfoncée. Ainsi, Shift sera relâchée avant d'appuyer sur f.

    Les caractères spéciaux dans le descripteur de touche peuvent être échappés en les préfixant d'une barre oblique inversée \.

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

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

Les touches peuvent être maintenues enfoncées en ajoutant > à la fin du descripteur.
Pour générer des événements keydown répétés, ajoutez le nombre de répétitions.
Pour relâcher la touche ensuite, ajoutez une barre oblique / à la fin du descripteur.

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

Une touche précédemment enfoncée peut être relâchée en préfixant le descripteur par /.

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

Cela permet de simuler des combinaisons de touches.

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

Le mappage de key vers code utilise une table de correspondance par défaut représentant un clavier US standard. Vous pouvez fournir votre propre mappage de clavier local via l'option keyboardMap.

Actuellement, les différentes significations key des touches individuelles sont traitées comme des touches distinctes.

Les futures versions pourraient interpoler les modificateurs nécessaires pour atteindre une touche imprimable. Ex. : Appuyer automatiquement sur {Shift} quand CapsLock est désactivé et que A est référencé. Pour désactiver ce comportement, utilisez l'option autoModify pour vous exclure de ce changement non cassant.