On Linux it's possible to simultaneously map caps lock to both escape and control with xcape [1]. On short presses without any other keys depressed, escape is fired. On press-and-hold with other keys, control is fired. This is great for vim, emacs, and any other application with control shortcuts.