useKeyboardJs
import { useEffect, useState } from "react";
const useKeyboardJs = combination => {
const [state, set] = useState([false, null]);
const [keyboardJs, setKeyboardJs] = useState(null);
useEffect(() => {
import("keyboardjs").then(setKeyboardJs);
}, []);
useEffect(() => {
if (!keyboardJs) return;
const down = event => set([true, event]);
const up = event => set([false, event]);
keyboardJs.bind(combination, down, up);
return () => {
keyboardJs.unbind(combination, down, up);
};
}, [combination, keyboardJs]);
return state;
};
export default useKeyboardJs;