キーボード
keyboard(input: KeyboardInput): Promise<void>
キーボード
APIはキーボードによる操作をシミュレートすることを可能にします。キー操作を表す文字列
を受け付けます。
キーストロークは以下のように記述できます。
印刷可能な1文字ごと
keyboard('foo') // translates to: f, o, o
中括弧
{
と角括弧[
は特殊文字として使用され、2回繰り返すことで参照できます。keyboard('{{a[[') // translates to: {, a, [
keyboard('{Shift}{f}{o}{o}') // translates to: Shift, f, o, o
これにより、キーは押され続けません。つまり、
Shift
キーはf
キーを押す前に解除されます。キー記述の中で特殊な意味を持つ文字は、バックスラッシュ
\
を前に付けることでエスケープできます。keyboard('{\\}}') // translates to: }
keyboard('[ShiftLeft][KeyF][KeyO][KeyO]') // translates to: Shift, f, o, o
記述の最後に>
を追加することで、キーを押し続けることができます。
これにより繰り返しのkeydown
イベントが発生する場合、繰り返しの数を追加できます。
その後もキーを離す必要がある場合は、記述の最後にスラッシュ/
を追加します。
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
前に押したキーは、記述の前に/
を付けることで解除できます。
keyboard('{/a}') // release a previously pressed a
これにより、キーの組み合わせをシミュレートできます。
keyboard('{Shift>}A{/Shift}') // translates to: Shift(down), A, Shift(up)
key
からcode
へのマッピングは、既定のキーマップによって実行され、「既定」の米国キーボードを表します。 keyboardMap
オプションごとに独自のローカルキーボードマッピングを提供できます。
現在、単一キーの異なるkey
意味は異なるキーとして扱われます。
今後のバージョンでは、キーボード上で印刷可能なキーに到達するために必要な修飾子を内挿する可能性があります。たとえば、
{Shift}
がCapsLockがアクティブでないときに、A
が参照されると自動的に押されます。この動作を望まない場合は、automodify
オプションを無効にして、この非破壊的変更からオプトアウトできます。