Don't trigger keyboard shortcuts if modifiers are held

None of these keyboard shortcuts expect modifier keys, so they should in fact expect the absence of modifiers.
This commit is contained in:
Robin 2024-11-22 13:17:05 -05:00
parent 13887a8943
commit 51e4a3b14b
2 changed files with 12 additions and 0 deletions

View File

@ -93,6 +93,16 @@ test("reactions can be sent via keyboard presses", async () => {
} }
}); });
test("reaction is not sent when modifier key is held", async () => {
const user = userEvent.setup();
const sendReaction = vi.fn();
render(<TestComponent sendReaction={sendReaction} />);
await user.keyboard("{Meta>}1{/Meta}");
expect(sendReaction).not.toHaveBeenCalled();
});
test("raised hand can be sent via keyboard presses", async () => { test("raised hand can be sent via keyboard presses", async () => {
const user = userEvent.setup(); const user = userEvent.setup();

View File

@ -43,6 +43,8 @@ export function useCallViewKeyboardShortcuts(
(event: KeyboardEvent) => { (event: KeyboardEvent) => {
if (focusElement.current === null) return; if (focusElement.current === null) return;
if (!mayReceiveKeyEvents(focusElement.current)) return; if (!mayReceiveKeyEvents(focusElement.current)) return;
if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey)
return;
if (event.key === "m") { if (event.key === "m") {
event.preventDefault(); event.preventDefault();