キーボード
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オプションを無効にして、この非破壊的変更からオプトアウトできます。