> Another important point is that Windows is the most keyboard friendly OS out of the three.

Maybe keyboard shortcuts in windows have improved since Win7 which is the last time I used it semi-regularly, but I've always found the opposite to be true, and don't understand where the notion that windows relies less on the mouse comes from. The consistency of keyboard shortcuts between apps on the mac has been much better in my experience, and it's very straightforward for regular users to discover, customize or add keyboard shortcuts to specific menu items that you access frequently via keyboard preferences. It's also just more consistently designed; it's intuitive that if cmd-z is undo then shift-cmd-z is redo. ctrl-z and ctrl-y on windows is much harder to learn & conceptualize.

Even more important is that every text entry field in the mac os gui implements emacs cursor selection and movement and has since 10.0.[1] While windows relies on less powerful modified arrow key commands. If you know or learn these, then not having them all in other OS GUIs is painful.

I also much prefer that cmd takes on shortcuts for GUI apps while ctrl is relied upon much less frequently in this context. It drives me a bit nuts in windows that ctrl-c is copy for gui apps, but still also abort process in the commandline. Not overloading historical commandline control characters is an underrated reason why mac os is so comfortable to use it as a unix system.

As for the menubar, it's ctrl-F2, but if you're spending a lot of time paging through menus using the arrow keys, there are better solutions to accessing frequently used commands.

Add to this the bevy popular third party text ui tools over the years that allow one to carry out complex tasks without leaving the keyboard, from launchbar, to quicksilver, alfred, and spotlight (which has itself improved a lot over the years). Mac 'power users' kept their hands on the keyboard using these for years before windows implemented win+r to bring up a very limited application launcher.

Taking it to an extreme, utilities such as the actively-developed Karabiner[2] offer a ridiculous amount of additional functionality for keyboard shortcuts, including different takes on global vi-binding, adding a 'hyper' key for more custom shortcuts (actually cmd-opt-ctrl-shift), modifying access to international characters (changing it so that opt-a,o,u quickly produces umlaut characters for writing in German on an american keyboard is hugely helpful for instance), or allowing the caps-lock key to function as escape if you're a heavy vim user, while preserving a mapping of caps-c to ctrl-c (amongst any other shortcuts) if your muscle memory for that is too powerful to give up. I realize that similar tools must exist on windows, but the uptake on stuff like this and the aforementioned quicksilver and alfred seems higher amongst mac devs than windows devs.

[1] See here for example: http://jblevins.org/log/kbd

[2] https://github.com/tekezo/Karabiner

Edit: I'd be remiss to not link to these incredible old posts by Brent Terpstra on changing keymappings and using Karabiner (then called KeyRemap4MacBook). Some of the stuff people do is nuts, but it shows the power, and how easy it is to achieve a lot just by editing a DefaultKeyBindings.dict file in your home directory.

http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/

http://brettterpstra.com/2011/08/13/keybinding-madness/