microsoft / microsoft/ZoomitForMac
[Bug]: Undo shortcut (Ctrl+Z / Cmd+Z) does not work on German (QWERTZ) keyboard layout
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 1k
- Forks
- 49
- Avg merge
- 23h 9m
- Merged PRs (30d)
- 2
Description
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.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the drawing-mode keyboard shortcut handling in the Swift macOS app, focusing on how undo and other letter-based shortcuts are matched. Reproduce the issue with a German QWERTZ layout, then verify that Command-Z or Ctrl-Z undoes the last stroke and that affected shortcuts continue to work across layouts.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos, swift
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100