(with workaround) Redo doesn't work on mac when Dvorak keyboard layout is enabled

tl;dr:
There is a workaround:

  • in mac preferences → keyboard → shortcuts → App shortcuts
  • Add a shortcut for Obsidian, called “Redo” with the standard key combination - cmd+shift+z.

tl;dr of the issue:

  • Redo didn’t work with Dvorak
  • The Redo menu item also doesn’t work (might be the root cause)

Steps to reproduce

Use Dvorak keyboard layout on mac, type text in editor, hit cmd+z (z - the dvorak key for z. It is the “slash” key on a standard keyboard).
Some text would disappear.
Then hit cmd+shift+z.

Expected result

I expected the text to reappear.

Actual result

The text did not reappear.

Environment

  • Operating system: mac (Monterey 12.3.1, but verified on earlier), Obsidian 0.14.6
  • Debug info:

Additional information

When changing the layout to the standard ABC layout - Redo worked.
As noted above in the tl;dr - setting the same key combination as an override in mac keyboard shortcuts works around the issue.

The thing that helped find the workaround is that I noticed

  1. The Redo menu item under “Edit” menu simply didn’t work (this might be the actual issue)
  2. the “Edit” menu flickered when hitting cmd+shift+z (but not when hitting cmd+z), which made me think cmd+shift+z was going through a more external interface, hence the attempt to override it in mac preferences with the same key combination.