1

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

有没有人有任何建议或知道更好的解决方法?

4

1 回答 1

0

将修饰符(alt、shift、ctrl)与 robotsjs 一起使用时,而不是使用修饰符点击:

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)
    }
}
于 2020-01-22T07:28:58.923 回答