UNPKG

mylingo3d

Version:

Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor

30 lines 1.02 kB
import { event } from "@lincode/events"; const [emitKeyClear, onKeyClear] = event(); export { onKeyClear }; window.addEventListener("blur", () => emitKeyClear()); window.addEventListener("focus", () => emitKeyClear()); document.addEventListener("visibilitychange", () => emitKeyClear()); const shiftMetaPressed = new Set(); onKeyClear(() => shiftMetaPressed.clear()); let queueClear = false; const tryClear = () => { if (!queueClear) return; queueClear = false; emitKeyClear(); }; document.addEventListener("keydown", (e) => { tryClear(); if (e.key === "Shift" || e.key === "Meta") shiftMetaPressed.add(e.key); if (shiftMetaPressed.has("Meta") && shiftMetaPressed.has("Shift")) { emitKeyClear(); queueClear = true; } }); document.addEventListener("keyup", (e) => { if (e.key === "Shift" || e.key === "Meta") emitKeyClear(); }); document.addEventListener("mousedown", tryClear); //# sourceMappingURL=onKeyClear.js.map