I was wondering something similar. Is there any kind of rhyme or reason to how the modifier keys are assigned to certain kinds or groups or related tasks? I'm tempted to say that the Command key is the first line of defense and works with most other keys in a straightforward way. Can the Control key be said to "control" aspects of a program, whereas Command "commands"? Can the Shift key be said to work with keyboard shortcuts in the same way it's used to "shift" to a secondary character on a key?
Sometimes there is, oftentimes there isn't. Your suggestions are actually pretty close.
Ideally, all shortcuts would be a matter of ⌘-
letter, and the letter would be something that had something to do with the command. Hence, ⌘-S to
Save, ⌘-O to
Open. Unfortunately, there are only 26 letters in the alphabet, so adjustments had to be made.
Cut, Copy, Paste, and Undo are all together in the Edit menu. C can't be used twice, and P is already used for Print. So they chose a string of shortcuts on the keyboard that were all together: C, X, V, and Z. And it kind of makes sense:
Copy, then X (kind of looks like "scratch out") and V (kind of looks like an arrow, inserting something in) and Z (the last letter, which undoes the last thing.) All right there next to each other.
Still, there are only so many letters. So we have to combine Command with a modifier key, like Option or Shift.
There is actually a rule for this: Shift-Command-
letter generally means "Do the same thing as Command-
letter but in the opposite of the normal way." And Option-Command-
letter usually means "Do the same thing as Command-
letter, but do it to everything at once." Hence, ⌘-Z is Undo, but Shift-⌘-Z should be Redo. ⌘-S is Save, but Option-⌘-S is Save All. ⌘-W is Close
Window, so Option-⌘-W is Close All Windows.
Of course there are exceptions. Not every software developer even
knows about the conventions above. And Windows-centric developers often use Windows conventions (For example, ⌘-Y as Redo, instead of the proper Shift-⌘-Z.)
And sometimes, they just plain run out of combinations and have to just make them up. The default shortcut for Spotlight, Command-space, was used because it has to be available all the time, no matter what program you're in. Since most every Shift/Option-Command-letter combination was taken in at least one program, Apple used ⌘-spacebar, which was pretty rare (though it still broke some apps.)
The Control key came later, mostly for compatibility with Windows and Unix programs. It's rarely used in Mac apps, usually only when all the good Shift-Option-Command-etc. shortcuts are already taken. Likewise, the F-keys.
Most Windows shortcuts were actually copied from the Mac, except that Windows lacked a Command key, so they were remapped to Control. Most of the rest were from the IBM Common User Access guidelines (eg. Alt-F4 to Exit.) It's somewhat surprising that the Mac-style shortcuts won out most of the time even on Windows. The main reasons are probably 1)They generally made some sort of mnemonic sense, and 2) Microsoft Office adopted them