From 2722a7db96e8da69d7a5dd8ae42173986ac87b60 Mon Sep 17 00:00:00 2001 From: Vijay <74645268+vijaysingh2219@users.noreply.github.com> Date: Wed, 10 Apr 2024 21:24:29 +0530 Subject: [PATCH] Fix keyboard event handling in KeyboardEvents component - Changed the condition from 'k' to 'keyL' for 'j', 'l', 'm', 'f', 'c', 'r' keys to handle uppercase keys properly. - Fixed the condition for toggling play/pause to work with both ' ' and 'k' keys. This commit addresses issues with keyboard event handling and ensures proper functionality with both uppercase and lowercase keys. --- .../player/internals/KeyboardEvents.tsx | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/components/player/internals/KeyboardEvents.tsx b/src/components/player/internals/KeyboardEvents.tsx index 3a833e76..af2724c9 100644 --- a/src/components/player/internals/KeyboardEvents.tsx +++ b/src/components/player/internals/KeyboardEvents.tsx @@ -71,9 +71,10 @@ export function KeyboardEvents() { return; const k = evt.key; + const keyL = evt.key.toLowerCase(); // Volume - if (["ArrowUp", "ArrowDown", "m"].includes(k)) { + if (["ArrowUp", "ArrowDown", "m", "M"].includes(k)) { dataRef.current.setShowVolume(true); if (volumeDebounce.current) clearTimeout(volumeDebounce.current); @@ -89,7 +90,7 @@ export function KeyboardEvents() { dataRef.current.setVolume( (dataRef.current.mediaPlaying?.volume || 0) - 0.15, ); - if (k === "m") dataRef.current.toggleMute(); + if (keyL === "m") dataRef.current.toggleMute(); // Video playback speed if (k === ">" || k === "<") { @@ -106,9 +107,9 @@ export function KeyboardEvents() { dataRef.current.display?.setTime(dataRef.current.time + 5); if (k === "ArrowLeft") dataRef.current.display?.setTime(dataRef.current.time - 5); - if (k === "j") + if (keyL === "j") dataRef.current.display?.setTime(dataRef.current.time - 10); - if (k === "l") + if (keyL === "l") dataRef.current.display?.setTime(dataRef.current.time + 10); if (k === "." && dataRef.current.mediaPlaying?.isPaused) dataRef.current.display?.setTime(dataRef.current.time + 1); @@ -116,18 +117,18 @@ export function KeyboardEvents() { dataRef.current.display?.setTime(dataRef.current.time - 1); // Utils - if (k === "f") dataRef.current.display?.toggleFullscreen(); - if (k === " ") + if (keyL === "f") dataRef.current.display?.toggleFullscreen(); + if (k === " " || keyL === "k") dataRef.current.display?.[ dataRef.current.mediaPlaying.isPaused ? "play" : "pause" ](); if (k === "Escape") dataRef.current.router.close(); // captions - if (k === "c") dataRef.current.toggleLastUsed().catch(() => {}); // ignore errors + if (keyL === "c") dataRef.current.toggleLastUsed().catch(() => {}); // ignore errors // Do a barrell roll! - if (k === "r") { + if (keyL === "r") { if (dataRef.current.isRolling || evt.ctrlKey || evt.metaKey) return; dataRef.current.setIsRolling(true);