Let me add an international perspective. Users across the world who don't use a QWERTY keyborad are already used to using keyboard shortcuts like ctrl-Z for undo according to the position of those keys on their keyboard. For example, take this AZERTY keyborad layout, generally used by French speakers:
To launch the undo action, the user would press ctrl-Z, with the Z being in the top row, not the bottom row as it would be in a QWERTY keyboard. This applies even to keyboard shortcuts which are placed in convenient locations in a QWERTY keyboard, like ctrl-X, ctrl-C and ctrl-V for cut, copy and paste, or H, J, K and L for left, down, up, and right respectively in Vim. We're just used to it.
What about keyboard layouts that don't have letters like X, C and V, such as an Arabic keyboard layout? How would you launch the keyboard shortcut for undo ctrl-Z?
Generally, the user does not need to manually switch to a QWERTY, AZERTY or other Latin keyboard layout in order to use keyboard shortcuts that use a modifier like ctrl or alt. Once you hold down the modifier like ctrl, you can press the Z as it would be found in a Latin keyboard layout. I've noticed this difference in operating systems, though:
- On Windows, with an Arabic keyboard layout enabled, once you hold down a modifier like ctrl, you need to press the subsequent letter key (like Z) where it would be found on a QWERTY keyboard, even if no QWERTY keyboard layout is configured. (This is annoying if you are switching between Dvorak and Arabic, as the keyboard shortcuts change)
- On Linux, with an Arabic keyboard layout enabled, once you hold down a modifier like ctrl, you need to press the subsequent letter key (like Z) where it would be found in the alternative keyboard layout. So if your alternative keyboard layout is Dvorak, it switches to that, if it is QWERTY, it switches to QWERTY.