import { mapCodeToNDS } from "~/utils/input"; export type KeyDownCallback = (params: { key: string; ndsButton: string | null; repeated: boolean; }) => void; export const useKeyDown = (callback: KeyDownCallback) => { const handleKeyDown = (event: KeyboardEvent) => { const ndsButton = mapCodeToNDS(event.code); callback({ key: ndsButton ? `NDS_${ndsButton}` : event.key, ndsButton, repeated: event.repeat, }); }; onMounted(() => { window.addEventListener("keydown", handleKeyDown); }); onUnmounted(() => { window.removeEventListener("keydown", handleKeyDown); }); };