Karabiner - ESC held down mapped to CONTROL_L I would like to do the following with karabiner, i am trying for the past hour, and couldn't get it to work. I want 

ESCAPE key to work as ESCAPE, when it is pressed and released. When ESCAPE key is held down, it should work as CONTROL_L.

This is what I came up with, after many attempts, based on looking through the sample.xml.

&lt;?xml version="1.0"?&gt;
&lt;root&gt;
  &lt;item&gt;
    &lt;name&gt;Change HoldingEscape to Control_L.&lt;/name&gt;
    &lt;identifier&gt;private.holdingEscape_to_Control-L&lt;/identifier&gt;
    &lt;autogen&gt;__HoldingKeyToKey__ KeyCode::ESCAPE, KeyCode::VK_NONE, KeyCode::CONTROL_L, Option::NOREPEAT&lt;/autogen&gt;
  &lt;/item&gt;
&lt;/root&gt;
I think this is the correct definition to set in your private.xml:

&lt;?xml version="1.0"?&gt;
&lt;root&gt;
    &lt;item&gt;
      &lt;name&gt;Change HoldingEscape to Control_L&lt;/name&gt;
      &lt;appendix&gt;(+ When you type Escape only, send Escape)&lt;/appendix&gt;
      &lt;identifier&gt;private.holdingEscape_to_Control-L&lt;/identifier&gt;
      &lt;autogen&gt;__KeyOverlaidModifier__ KeyCode::ESCAPE, KeyCode::CONTROL_L, KeyCode::ESCAPE&lt;/autogen&gt;
    &lt;/item&gt;
&lt;/root&gt;