mirror of
https://github.com/mifi/lossless-cut.git
synced 2024-11-25 03:33:14 +01:00
prevent alt default action when alt is bound in any keybinding
fixes #2180
This commit is contained in:
parent
22bf138fdd
commit
898eefcadc
@ -2316,17 +2316,25 @@ function App() {
|
|||||||
runStartupCheck({ customFfPath });
|
runStartupCheck({ customFfPath });
|
||||||
}, [customFfPath]);
|
}, [customFfPath]);
|
||||||
|
|
||||||
|
const haveBoundAlt = useMemo(() => keyBindings.some(({ keys }) => keys.split('+').includes('alt')), [keyBindings]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const keyScrollPreventer = (e: KeyboardEvent) => {
|
const handleKeydown = (e: KeyboardEvent) => {
|
||||||
|
// Keyboard scroll prevention:
|
||||||
// https://stackoverflow.com/questions/8916620/disable-arrow-key-scrolling-in-users-browser
|
// https://stackoverflow.com/questions/8916620/disable-arrow-key-scrolling-in-users-browser
|
||||||
if (e.target === document.body && [32, 37, 38, 39, 40].includes(e.keyCode)) {
|
if (e.target === document.body && [32, 37, 38, 39, 40].includes(e.keyCode)) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if the user has bound alt in any of their keybindings, prevent alt from triggering the menu https://github.com/mifi/lossless-cut/issues/2180
|
||||||
|
if (haveBoundAlt && e.code === 'AltLeft') {
|
||||||
|
e.preventDefault();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
window.addEventListener('keydown', keyScrollPreventer);
|
window.addEventListener('keydown', handleKeydown);
|
||||||
return () => window.removeEventListener('keydown', keyScrollPreventer);
|
return () => window.removeEventListener('keydown', handleKeydown);
|
||||||
}, []);
|
}, [haveBoundAlt]);
|
||||||
|
|
||||||
const showLeftBar = batchFiles.length > 0;
|
const showLeftBar = batchFiles.length > 0;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user