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