isKeyPressedRepeat(k?: Key | Key[]): boolean
If any or certain key(s) are just pressed last frame (also fires repeatedly when the keys are being held down).let heldKeys = new Set() onUpdate(() => { if (isKeyPressedRepeat("space")) { pressedOrHeld(["space"], 'the jump key') } else if (isKeyPressedRepeat(["left", "right"])) { pressedOrHeld(["left", "right"], 'any of the move keys') } else if (isKeyPressedRepeat()) { pressedOrHeld(["any"], 'any key') } }) onKeyRelease((key) => wait(0.1, () => { heldKeys.delete(key) heldKeys.delete("any") })) // log message if pressed only or held as well function pressedOrHeld(keys, string) { debug.log(`Pressed${keys.some(key => heldKeys.has(key)) ? ' and held' : ''} ${string}`) keys.forEach((key) => { if (key == "any" || isKeyDown(key)) heldKeys.add(key) }) }
since
v3001.0