Description
The undo shortcut in drawing mode does not work when using a German (QWERTZ)
keyboard layout. The documented shortcut is Command-Z / Ctrl+Z, but on a German
keyboard I have to press Command-Y / Ctrl+Y to trigger undo.
On German keyboards, the Y and Z keys are swapped compared to the US (QWERTY)
layout. Pressing Ctrl+Y on a German keyboard corresponds to the physical key
position of Z on a US layout. This suggests ZoomIt matches the shortcut by
physical key code / scan code instead of the character produced by the active
keyboard layout.
Steps to reproduce
- Set the system keyboard layout to German (QWERTZ).
- Start ZoomIt and zoom in.
- Enter drawing mode (left mouse button) and draw something.
- Press Command-Z (or Ctrl+Z).
Expected behavior
The last drawing stroke is undone.
Actual behavior
Nothing happens. Pressing Command-Y (or Ctrl+Y) — the key at the physical
position of Z on a US layout — performs the undo instead.
Suggested fix
Resolve keyboard shortcuts based on the character produced by the currently
active keyboard layout rather than the physical key code, so that Z is Z on
every layout. The same issue likely affects other letter-based shortcuts
(e.g. E for erase) on layouts where letters are moved.
Environment
- ZoomIt for Mac, version: 12.3
- macOS version: 26.5.2
- Keyboard layout: German (QWERTZ)
Current Behavior
Nothing happens. Pressing Command-Y (or Ctrl+Y) — the key at the physical
position of Z on a US layout — performs the undo instead.
Expected Behavior
The last drawing stroke is undone.
Steps to Reproduce
- Set the system keyboard layout to German (QWERTZ).
- Start ZoomIt and zoom in.
- Enter drawing mode (left mouse button) and draw something.
- Press Command-Z (or Ctrl+Z).
Product Version
12.3
macOS Version
26.5.2
Additional Context
Resolve keyboard shortcuts based on the character produced by the currently
active keyboard layout rather than the physical key code, so that Z is Z on
every layout. The same issue likely affects other letter-based shortcuts
(e.g. E for erase) on layouts where letters are moved.
Description
The undo shortcut in drawing mode does not work when using a German (QWERTZ)
keyboard layout. The documented shortcut is Command-Z / Ctrl+Z, but on a German
keyboard I have to press Command-Y / Ctrl+Y to trigger undo.
On German keyboards, the Y and Z keys are swapped compared to the US (QWERTY)
layout. Pressing Ctrl+Y on a German keyboard corresponds to the physical key
position of Z on a US layout. This suggests ZoomIt matches the shortcut by
physical key code / scan code instead of the character produced by the active
keyboard layout.
Steps to reproduce
Expected behavior
The last drawing stroke is undone.
Actual behavior
Nothing happens. Pressing Command-Y (or Ctrl+Y) — the key at the physical
position of Z on a US layout — performs the undo instead.
Suggested fix
Resolve keyboard shortcuts based on the character produced by the currently
active keyboard layout rather than the physical key code, so that Z is Z on
every layout. The same issue likely affects other letter-based shortcuts
(e.g. E for erase) on layouts where letters are moved.
Environment
Current Behavior
Nothing happens. Pressing Command-Y (or Ctrl+Y) — the key at the physical
position of Z on a US layout — performs the undo instead.
Expected Behavior
The last drawing stroke is undone.
Steps to Reproduce
Product Version
12.3
macOS Version
26.5.2
Additional Context
Resolve keyboard shortcuts based on the character produced by the currently
active keyboard layout rather than the physical key code, so that Z is Z on
every layout. The same issue likely affects other letter-based shortcuts
(e.g. E for erase) on layouts where letters are moved.