I will just add a comment on an aspect of using emacs that no one else mentioned: (1) I find that I must bind caps-lock to control, and (2) as far as I can tell, no operating system does this in a way that really works besides OSX. So now I am stuck using OSX because I use emacs. When I use a GNU/Linux machine, I do it by ssh-ing in over the network from an OSX machine. I think you may find this to be something you have to deal with as well.
Get a kinesis advantage, you won’t regret it.
> I must bind caps-lock to control, and […] no operating system does this in a way that really works besides OSX.
What? This has worked for me in X11 for at least two years now:
setxkbmap -model pc104 us -option ctrl:nocaps
(If you still need a Caps Lock key, there’s -option ctrl:swapcaps)Not sure if it counts as "really works", but on Windows with PowerToys you can enable Keyboard Manager and 'Remap a key'. (Might want to remap right-Ctrl to CapsLock, in case it turns CapsLock on.) There's also old Registry hacks to do the same thing.
> as far as I can tell, no operating system does this in a way that really works besides OSX
AFAIK this is an easy setting in desktop environments such as Cosmic, Gnome, and KDE. But I've been using keyd on Linux distros for a while:
https://github.com/rvaiya/keyd#quickstart
Using the config in the above example results in Caps Lock acting as Esc if used on its own or as Ctrl if it's held down.