Další varianta (kterou používám) je namapovat krátký stisk CapsLock na Esc a dlouhý na Ctrl. Ctrl se mačká spolu s nějakou klávesou, takže je zapotřebí ho podržet, esc se mačká krátce. Vim ve screeně (častá kombinace Esc i Ctrl) mi nedělá problémy. Na Linuxu pomocí
setxkbmap "us,cz(qwerty)" -option grp:shifts_toggle -option ctrl:swapcaps
xcape -e 'Control_L=Escape'
Na Windows pomocí AutoHotkey (nemám teď před sebou přesný config, ale kdysi jsem to vygooglil)