diff --git a/core/src/processing/core/PApplet.java b/core/src/processing/core/PApplet.java index 24c0d5d39..7d802b59e 100644 --- a/core/src/processing/core/PApplet.java +++ b/core/src/processing/core/PApplet.java @@ -2630,13 +2630,15 @@ protected void handleKeyEvent(KeyEvent event) { switch (event.getAction()) { case KeyEvent.PRESS -> { - Long hash = ((long) keyCode << Character.SIZE) | key; + Long hash = (long) keyCode; if (!pressedKeys.contains(hash)) pressedKeys.add(hash); keyPressed = true; keyPressed(keyEvent); } case KeyEvent.RELEASE -> { - pressedKeys.remove(((long) keyCode << Character.SIZE) | key); + Long hash = (long) keyCode; + pressedKeys.remove(hash); + keyPressed = !pressedKeys.isEmpty(); keyReleased(keyEvent); }