useKeyPress Hook
Detect keyboard key presses
ReactKeyboardInteraction
useKeyPress
Detect keyboard key presses in real-time
Press Enter
Press Space
Press A
Copy source code and paste it in hooks/devsloka-hooks folder
hooks/devsloka-hooks/use-key-press.tsx
1"use client";2import { useState, useEffect } from "react";34export const useKeyPress = (targetKey: string): boolean => {5 const [keyPressed, setKeyPressed] = useState<boolean>(false);67 useEffect(() => {8 const handleKeyDown = (e: KeyboardEvent) =>9 e.key === targetKey && setKeyPressed(true);10 const handleKeyUp = (e: KeyboardEvent) =>11 e.key === targetKey && setKeyPressed(false);1213 window.addEventListener("keydown", handleKeyDown);14 window.addEventListener("keyup", handleKeyUp);1516 return () => {17 window.removeEventListener("keydown", handleKeyDown);18 window.removeEventListener("keyup", handleKeyUp);19 };20 }, [targetKey]);2122 return keyPressed;23};