Skip to content

Commit 8d9c0e0

Browse files
committed
fix: fix zoom shortcuts on Linux (fix #344)
1 parent 0e6fa64 commit 8d9c0e0

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

src/plugins/zoom/hooks/useZoomSensors.ts

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,9 @@ export function useZoomSensors(
6161
);
6262

6363
const onKeyDown = useEventCallback((event: React.KeyboardEvent) => {
64+
const { key, metaKey, ctrlKey } = event;
65+
const meta = metaKey || ctrlKey;
66+
6467
const preventDefault = () => {
6568
event.preventDefault();
6669
event.stopPropagation();
@@ -72,13 +75,13 @@ export function useZoomSensors(
7275
changeOffsets(deltaX, deltaY);
7376
};
7477

75-
if (event.key === "ArrowDown") {
78+
if (key === "ArrowDown") {
7679
move(0, keyboardMoveDistance);
77-
} else if (event.key === "ArrowUp") {
80+
} else if (key === "ArrowUp") {
7881
move(0, -keyboardMoveDistance);
79-
} else if (event.key === "ArrowLeft") {
82+
} else if (key === "ArrowLeft") {
8083
move(-keyboardMoveDistance, 0);
81-
} else if (event.key === "ArrowRight") {
84+
} else if (key === "ArrowRight") {
8285
move(keyboardMoveDistance, 0);
8386
}
8487
}
@@ -88,13 +91,11 @@ export function useZoomSensors(
8891
changeZoom(zoomValue);
8992
};
9093

91-
const hasMeta = () => event.getModifierState("Meta");
92-
93-
if (event.key === "+" || (event.key === "=" && hasMeta())) {
94+
if (key === "+" || (meta && key === "=")) {
9495
handleChangeZoom(zoom * zoomInMultiplier);
95-
} else if (event.key === "-" || (event.key === "_" && hasMeta())) {
96+
} else if (key === "-" || (meta && key === "_")) {
9697
handleChangeZoom(zoom / zoomInMultiplier);
97-
} else if (event.key === "0" && hasMeta()) {
98+
} else if (meta && key === "0") {
9899
handleChangeZoom(1);
99100
}
100101
});

0 commit comments

Comments
 (0)