Skip to content

Commit e6ac72b

Browse files
committed
fixes 779
1 parent 3e6d159 commit e6ac72b

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

core/src/processing/core/PApplet.java

+11-2
Original file line numberDiff line numberDiff line change
@@ -2635,8 +2635,17 @@ protected void handleKeyEvent(KeyEvent event) {
26352635
keyPressed = true;
26362636
keyPressed(keyEvent);
26372637
}
2638-
case KeyEvent.RELEASE -> {
2639-
pressedKeys.remove(((long) keyCode << Character.SIZE) | key);
2638+
case KeyEvent.RELEASE -> {
2639+
List<Long> hashesToRemove = new ArrayList<>();
2640+
for (Long hash : pressedKeys) {
2641+
int storedKeyCode = (int)(hash >> Character.SIZE);
2642+
if (storedKeyCode == keyCode) {
2643+
hashesToRemove.add(hash);
2644+
}
2645+
}
2646+
2647+
pressedKeys.removeAll(hashesToRemove);
2648+
26402649
keyPressed = !pressedKeys.isEmpty();
26412650
keyReleased(keyEvent);
26422651
}

0 commit comments

Comments
 (0)