Release OpenScreen 1.4.1
This commit is contained in:
@@ -143,6 +143,7 @@ export function LaunchWindow() {
|
||||
top: 12,
|
||||
maxHeight: 240,
|
||||
});
|
||||
const guideCtrlMarkerArmedRef = useRef(false);
|
||||
|
||||
const {
|
||||
devices: micDevices,
|
||||
@@ -247,6 +248,47 @@ export function LaunchWindow() {
|
||||
};
|
||||
}, [isLanguageMenuOpen]);
|
||||
|
||||
useEffect(() => {
|
||||
if (!recording || !guideModeEnabled) {
|
||||
guideCtrlMarkerArmedRef.current = false;
|
||||
return;
|
||||
}
|
||||
|
||||
const isCtrlKey = (event: KeyboardEvent) =>
|
||||
event.key === "Control" || event.code === "ControlLeft" || event.code === "ControlRight";
|
||||
|
||||
const handleKeyDown = (event: KeyboardEvent) => {
|
||||
if (!isCtrlKey(event) || event.repeat || guideCtrlMarkerArmedRef.current) {
|
||||
return;
|
||||
}
|
||||
|
||||
guideCtrlMarkerArmedRef.current = true;
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
addGuideMarker();
|
||||
};
|
||||
|
||||
const releaseCtrlMarker = (event?: KeyboardEvent) => {
|
||||
if (event && !isCtrlKey(event)) {
|
||||
return;
|
||||
}
|
||||
guideCtrlMarkerArmedRef.current = false;
|
||||
};
|
||||
const handleWindowBlur = () => {
|
||||
guideCtrlMarkerArmedRef.current = false;
|
||||
};
|
||||
|
||||
window.addEventListener("keydown", handleKeyDown, { capture: true });
|
||||
window.addEventListener("keyup", releaseCtrlMarker, { capture: true });
|
||||
window.addEventListener("blur", handleWindowBlur);
|
||||
|
||||
return () => {
|
||||
window.removeEventListener("keydown", handleKeyDown, { capture: true });
|
||||
window.removeEventListener("keyup", releaseCtrlMarker, { capture: true });
|
||||
window.removeEventListener("blur", handleWindowBlur);
|
||||
};
|
||||
}, [addGuideMarker, guideModeEnabled, recording]);
|
||||
|
||||
useEffect(() => {
|
||||
if (!isLanguageMenuOpen || !languageTriggerRef.current) return;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user