如何在NodeJS中快速发送多个击键

问题描述 投票:0回答:1

所以我一直在研究一个脚本,该脚本可以获取MIDI文件并在Virtual Piano上自动播放它们。但是,我遇到的主要问题是发送击键,我设法能够一次使用RobotJS发送一次击键,但这对于尖锐的琴键和弦来说成为一个问题。要发送快捷键,您不能仅发送大写字母,而必须发送带有修饰符shift的小写字母。您一次也只能发送一个,因此最终结果是我对和弦中的所有琴键进行循环,就像快速扫过琴键的从左到右,而不是同时按下所有和弦一样,听起来很恐怖。我也尝试过Node Key Sender,但很快就摆脱了它,因为它产生了成千上万个Java进程并使我的PC崩溃。

有人有任何建议或知道更好的方法吗?

node.js key midi keystroke piano
1个回答
0
投票

When using the modifiers (alt, shift, ctrl) with robotjs,而不是使用修饰符:

robot.keyTap("a","shift")

切换修改器,点击所需的键,然后取消切换修改器。

const play = (key, mod) => {
    if (mod) { 
        robot.keyToggle(mod, "down")
        robot.keyTap(key)
        robot.keyToggle(mod, "up")
    } else {
        robot.keyTap(key)
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.