P5.js 一些键码没有响应
P5.js SOME Keycodes not responding
我一直在浏览很多旧的 P5.js 问题,运行 进入这个问题:p5.js code isnt executing when spacebar is pressed in combiniation with up and left 我在编辑器中尝试了一些想法(没有'工作),然后我做了这个小测试程序:
function setup(){
createCanvas(200, 200);
}
function draw() {
background(220);
textAlign(CENTER, CENTER);
text( keyCode, width/2, height/2 );
let lettersPressed = "";
let toKeyCode = k => {
return 65 + "abcdefghijklmnopqrstuvwxyz".split("").indexOf(k);
}
"abcdefghijklmnopqrstuvwxyz".split("").forEach(l => {
lettersPressed += keyIsDown(toKeyCode(l)) ? l : "-";
});
text(lettersPressed, width/2, height/1.7);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.1.9/p5.min.js"></script>
第一个数字是最近一次按键的键码。之后的letters/dashes就是被按下的所有字母表中的字母。
问题
当我按下 a、b 和 c 键时,它们都会出现。但是当我在上面按 d 键时,d 键不显示。这与我链接的 SO 非常相似。奇怪的是你可以按 e 键并且它有效。这也是贯穿其他键组合的模式。这是他们的原因吗?
这与 p5.js 无关,它与您使用的物理键盘和您的 computer/operating system/drivers.
有关
键盘只能传输这么多数据,因此它们限制了在任何给定时间它们报告按下的键数。有时他们对每个区域的 X 个键执行此操作。
观看 Ben Eater 的 How does a USB keyboard work? for more details, as well as How does n-key rollover work?。
键盘的接线方式阻止它们检测特定组合中的多个键,因此它会在所谓的 N-key 翻转中忽略额外的键。根本不是p5.js。
你可以看看这个link:
我一直在浏览很多旧的 P5.js 问题,运行 进入这个问题:p5.js code isnt executing when spacebar is pressed in combiniation with up and left 我在编辑器中尝试了一些想法(没有'工作),然后我做了这个小测试程序:
function setup(){
createCanvas(200, 200);
}
function draw() {
background(220);
textAlign(CENTER, CENTER);
text( keyCode, width/2, height/2 );
let lettersPressed = "";
let toKeyCode = k => {
return 65 + "abcdefghijklmnopqrstuvwxyz".split("").indexOf(k);
}
"abcdefghijklmnopqrstuvwxyz".split("").forEach(l => {
lettersPressed += keyIsDown(toKeyCode(l)) ? l : "-";
});
text(lettersPressed, width/2, height/1.7);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.1.9/p5.min.js"></script>
第一个数字是最近一次按键的键码。之后的letters/dashes就是被按下的所有字母表中的字母。
问题
当我按下 a、b 和 c 键时,它们都会出现。但是当我在上面按 d 键时,d 键不显示。这与我链接的 SO 非常相似。奇怪的是你可以按 e 键并且它有效。这也是贯穿其他键组合的模式。这是他们的原因吗?
这与 p5.js 无关,它与您使用的物理键盘和您的 computer/operating system/drivers.
有关键盘只能传输这么多数据,因此它们限制了在任何给定时间它们报告按下的键数。有时他们对每个区域的 X 个键执行此操作。
观看 Ben Eater 的 How does a USB keyboard work? for more details, as well as How does n-key rollover work?。
键盘的接线方式阻止它们检测特定组合中的多个键,因此它会在所谓的 N-key 翻转中忽略额外的键。根本不是p5.js。
你可以看看这个link: