Ignore keyboard listener when typing in text field

This commit is contained in:
Nicolas Mowen 2024-09-30 15:26:58 -06:00
parent abe7c28b63
commit 73d1c22911
2 changed files with 15 additions and 1 deletions

View File

@ -14,7 +14,8 @@ export default function useKeyboardListener(
) {
const keyDownListener = useCallback(
(e: KeyboardEvent) => {
if (!e) {
// @ts-expect-error we know this field exists
if (!e || e.target.tagName == "INPUT") {
return;
}

View File

@ -1,4 +1,5 @@
import { useFullscreen } from "@/hooks/use-fullscreen";
import useKeyboardListener from "@/hooks/use-keyboard-listener";
import {
useHashState,
usePersistedOverlayState,
@ -43,6 +44,18 @@ function Live() {
const { fullscreen, toggleFullscreen, supportsFullScreen } =
useFullscreen(mainRef);
useKeyboardListener(["f"], (key, modifiers) => {
if (!modifiers.down) {
return;
}
switch (key) {
case "f":
toggleFullscreen();
break;
}
});
// document title
useEffect(() => {