I came across [xcape](<a href="https:&#x2F;&#x2F;github.com&#x2F;alols&#x2F;xcape" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;alols&#x2F;xcape</a>) this week. It is a great little utility which can map escape to another key like control or shift but only when pressed once. For example you can configure the control key to be escape if pressed once, but will still act as control if held down. Combined with mapping caps lock to control, I now have the best of all worlds. Highly recommended.