microsoft / microsoft/ZoomitForMac

[Bug]: Undo shortcut (Ctrl+Z / Cmd+Z) does not work on German (QWERTZ) keyboard layout

Open
#59 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
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
  1. Set the system keyboard layout to German (QWERTZ).
  2. Start ZoomIt and zoom in.
  3. Enter drawing mode (left mouse button) and draw something.
  4. 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
  1. Set the system keyboard layout to German (QWERTZ).
  2. Start ZoomIt and zoom in.
  3. Enter drawing mode (left mouse button) and draw something.
  4. 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.