Over on feedback.photoshop.com, customer Michael Piontek notes the following:
Unlike most modern apps, Photoshop only has a single “undo”. If you press command-z a second time, Photoshop will redo the change instead of continuing to undo. Not even Illustrator or InDesign works this way at this point.
To work around this issue, I customize my keyboard shortcuts to use “step backward” (command-z) and “step forward” (command-shift-z). For the most part this works great and I’ve been very happy with it.
But it brings up a new problem: if I change the selected layer, then press command-z (“step backward”) then the layer change is undone as well.
Michael is touching on two separate issues:
- The keyboard shortcuts used for undo/redo
- Layer selection changes when using “step backward” instead of “undo”
1. Photoshop’s unusual Cmd-Z mapping is due to the fact that the app lets you toggle across multiple history states in one keypress.
For example, you might do something, then click 10 steps back in the History panel. Let’s say you then hit Cmd-Z. Would you expect Photoshop to undo the most recent operation (getting you back to where you’d been prior to the last click), or to go to the 11th-back history state (that is, to go further back in time)? I’d expect PS to do what it does now: it undoes the click instead of digging me deeper.
I’m not sure it’s possible to preserve the current (and to my mind correct) behavior while also making Cmd-Z work in the more common way (which would also be correct). Of course PS could ask customers to make a choice via a dialog, but that’s just a recipe for blank stares.
2. I can’t think of a good reason for the current behavior. When Photoshop added multiple layer selection in CS2, we made some changes to avoid problems caused by old crutches for not having the ability to select more than one layer at a time. This behavior with the layer selection changing when using “step backward” appears to be a rough edge from that work, so it’s worth asking the team whether this behavior can be changed.
Note that a user has provided nice workaround leveraging a script.
[Thanks to Jeff Tranberry for his assistance in researching these questions.]