Superficially command (super) on Mac OS acts like like control on Windows and Linux, but command is semantically the modifier for entering shortcuts and has no overlapping functions, where alt and control on windows and linux both serve multiple conflicting roles.
On Windows the super key is reserved for doing OS things, Linux desktops follow the convention. At some point apple added the globe key which does OS level things, but it's poorly thought out and hard to reach, I pretty much only use it open the emoji picker.
What I like about Mac OS keyboard:
- Basically all hot keys are command plus something. It's the same across apps. That frees up ctrl and alt and shift for other uses
- The lineage just goes much better with terminals because shortcuts do not overlap with terminal input codes. There is the alt/meta key situation, which does affect terminals, but I haven't really ran into this as an issue in like 10 years or more. I run into ctrl+c overlapping kill on linux every session.
- Having more modifiers allows richer interactions with the same keyboard mnemonic. Undo is cmd+z, redo is cmd+shift+z (instead of ctrl+Y). But a lot more is build on this, for example close tab (cmd+W) -> close window (cmd+shift+W) -> close all windows (cmd+shift+alt+W) -> close group (cmd+alt+W). So semantically, close all windows is close all groups. This is way easier to remember for me.
- Text input has a lot of nice affordances. It includes classic unix codes (ctrl+a goes to start of line, ctrl+e end of line), plus it has some nice motions (alt+left/right move cursor by words, up/down by paragraphs).
- I find many windows shortcuts like switching browser tabs a lot harder to use than Mac OS equivalents (cmd+[ tab left, cmd+] tab right, vs ctrl+tab ctrl+shift+tab).
- Not a keyboard thing, but in any app on mac OS if you forget a hotkey, press cmd+shift+/ and it brings up the help menu, and you can just type the function you want and call it directly. It shows you a help overlay, but it's actually a superpower.
- There are no alt codes, there's no scroll lock, no num lock. I find removing statefulness from the keyboard a lot easier to reason about and work with
I would love a Linux desktop that worked like this, and it's probably possible, but you'd have to modify everything.
I can see the value of windows/super as the OS modifier key, but it means you have to kind of context switch and I feel like it locks up a lot of potential application shortcuts.