Misc Improvements (#14076)

* Return ID of export in http response

* Ignore keyboard listener when typing in text field

* Add other keyboard listeners
This commit is contained in:
Nicolas Mowen
2024-09-30 15:55:44 -06:00
committed by GitHub
parent 95d6da3111
commit 94fd75e014
5 changed files with 46 additions and 7 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(() => {

View File

@@ -236,6 +236,25 @@ export default function LiveCameraView({
return "mse";
}, [lowBandwidth, mic, webRTC, isRestreamed]);
useKeyboardListener(["m"], (key, modifiers) => {
if (!modifiers.down) {
return;
}
switch (key) {
case "m":
if (supportsAudioOutput) {
setAudio(!audio);
}
break;
case "t":
if (supports2WayTalk) {
setMic(!mic);
}
break;
}
});
// layout state
const windowAspectRatio = useMemo(() => {