键盘
keyboard(input: KeyboardInput): Promise<void>
keyboard
API 允许模拟与键盘的交互。它接受描述按键操作的 string
。
按键操作可以描述为
每个可打印字符
keyboard('foo') // translates to: f, o, o
开括号
{
和[
被用作特殊字符,可以通过双写它们来引用。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
含义被视为不同的键。
未来的版本可能会尝试插值达到键盘上可打印键所需的修饰符。例如,当 CapsLock 未激活且引用
A
时,自动按下{Shift}
。如果您不希望这种行为,您可以停用autoModify
选项以选择退出此非破坏性更改。