I've had Caps Lock mapped to escape for years. You used to need some tool to do this, but now you can do it right inside Keyboard settings "Modifier Keys".
Make sure you choose the real keyboard if you also have a Yubikey plugged in :)
Make sure you choose the real keyboard if you also have a Yubikey plugged in :)
I have this setup, and it is great. After you switch capslock to be Ctrl, just run (at startup):
xcape -e 'Control_L=Escape'