ProzillaOS/src/hooks/utils/keyboard.js
2023-08-04 13:37:52 +02:00

22 lines
No EOL
550 B
JavaScript

import { useEffect } from "react";
/**
* @param {Object} params
* @param {Function} params.onKeyDown
* @param {Function} params.onKeyUp
*/
export function useKeyboardListener({ onKeyDown, onKeyUp }) {
useEffect(() => {
if (onKeyDown)
document.addEventListener("keydown", onKeyDown);
if (onKeyUp)
document.addEventListener("keyup", onKeyUp);
return () => {
if (onKeyDown)
document.removeEventListener("keydown", onKeyDown);
if (onKeyUp)
document.removeEventListener("keyup", onKeyUp);
};
}, [onKeyDown, onKeyUp]);
}