Linux vs Mac vs Windows, Which is Best for Keybinding?

By Xah Lee. Date: .

after 20 years of using Mac Linux Windows, here's what i say about which OS is most easy and powerful to customize keybinding, layout, key macros.

Mac wins hands down. There's typically a handful of software, free, that lets you easily set key to what you want, per app or os wide.

Currently (2016), best Mac key software is Karabiner, Seil, Quicksilver. See Mac: Key Remapping, Keybinding Tools

And, Mac by default just kick ass. You can also use OS X's system to set keybinding for editor. See Mac: How to Create Keyboard Layout and Keybinding

Power/ease ratio of customizing keys on Microsoft Windows comes second. Basically, you just want to use AutoHotkey. It's hard to learn, doesn't work that well, but works OK, and powerful.

here's AutoHotkey Tutorial, AutoHotkey Tutorial. The language really sucks, but well, works ok.

now, linux is truly the worst. When i started to use Linux as desktop 4 years ago, i thought, this would be most powerful in customizing keys.

in theory, linux is most powerful and most easy if you are a programer, to totally customize + control keybinding, layout, key macro. Not so.

The problem with linux is that, it is EXTREMELY difficult to learn how to do various key settings, even if your day job is unix sys admin.

if all you want is swap capslock or remap a key, sure, it's easy. See Linux: xmodmap Tutorial

but for anything slightly more complex, as simple as make F2 do Ctrl+c, it gets complex, and does NOT work well. That is, works in some apps, not others. 〔➤see Linux: Set F2 F3 F4 to Cut Copy Paste

and linux is that, there's diverse systems and mechanisms. X11 raw way, gnome kde xfce etc. they each build different ways to control keys.

and you might think, you are hardcore and will just learn X11 raw way for keys so it works in any desktop. Not SO! LOL

and the various tools to control windows (such as switch windows), are never robust. These tools are typically build by a single guy, poorly maintained or not maintained. You are on your own. it never was anything coherent system. You have several tools using different tricks to do the same thing. And, of course, there are a hundred stackoverflow and wiki and linux forums telling you how to do X. Each you have to spend an hour trial and error. Most are out dated.

the linux story, is really a sad story.