I want to remap Control, so that:
- If it is pressed and released with no other key, it acts as Escape.
- If it is pressed & held together with another key, it acts as Control (no change in behavior in this case).
I'm aware of How do I remap certain keys?, so I suspect it may be done with xmodmap. But that answer does not explain how to map the modifier keys. I looked into the examples and grammar sections of the xmodmap manpage, but they do not explain that. The answer in Remapping Caps Lock to Control and Escape (not the usual way) mention that it is not possible to do that to CapsLock, since it is a Lock key, but I hope this may be possible to do it with Control which is a mod key. A solution with something different than xmodmap will also be accepted. (I'm running Xmonad in Ubuntu 12.04, so perhaps there is a way to set this up in xmonad.hs?)
EDIT: The closest I can get is:
xmodmap -e 'remove Control = Control_L' xmodmap -e 'keysym Control_L = Escape' xmodmap -e 'add Control = Escape'
With this I get Escape when I press the left Ctrl key alone, but to get, say, Ctrl+A I have to press the left Ctrl key twice: "Ctrl, Ctrl+A" (rather than just "Ctrl+A") - not sure why I need to press it twice.