Linux vs Mac vs Windows, Which is Best for Keybinding?
linux keybinding = pain
- Linux is truly a pain in the ass. On macOS, 3 hours = 5 years worth of learning linux keybinding howto.
- On linux, i thought, if you are hardcore programer, you'd be able to do far more in keybinding than Mac or windows. Not true at all.
- I learned the hard way. On linux, there are 10 ways to do it. And the ways are among political factions of desktops X11 xorg ubuntu etc.
- Mostly mutually incompatible.
- Linux has little documentation. If so, outdated. You spend hours scan stackoverflow and some 10 years old doc online or arclinux page
- And everytime you complain, there arise an army of linux fanatics defending and flaming you. From where's your code to that's not linux = kernel
- On the Mac, there are typically several utilities, free, sometimes open source. In 5 min, you can do what you want. Far more robust + reliable
Linux all you ever wanted to know about keybinding Linux: Keyboard Software Guide
and all you need to know about keybinding on Mac. Mac: Keyboard Software Guide
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: Keyboard Software Guide
And, Mac by default just kick ass. You can also use OS X's system to set keybinding for editor. See Mac: Create Custom Keyboard Layout
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, one would think 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 you are a professional 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 outdated by 10 years.
the linux story, is really a sad story.
Keybinding and Input-System
- Why Alt Tab is Bad for Switching Windows
- How Many Shortcuts Are There
- Emacs vs vim, Keybinding Efficiency
- vim HJKL vs IJKL
- Gamers WASD Keys
- Design of vim Mode Activation Key
- History of Key Shortcuts: Emacs, vim, WASD
- History of vi Keys
- Muscle Memory vs Mnemonics
- Ctrl โ
Ban Key Combos - Ban Shift Key
- Function Key vs Key Chord
- Fast-repeat vs Non-fast-repeat Keys
- Modifier Keys Usage Frequency
- Keyboard Shortcut vs Launch Buttons
- Best Way to Insert Parenthesis/Brackets
- Math Input Design
- Create Math APL Keyboard Layout
- Linux Mac Windows, Which is Best for Keybinding?
- Dual-Function Keys (Home Row Mods)
- Xah Shorthand System (Abbrev Input)