There is a number of X keysyms that can be remapped inside Emacs, namely alt, hyper, meta and super. I found it odd that control is not on the list (and to a lesser degree, shift), so I wrote a patch to offer it as additional remappable X keysym. This way one can swap the control and meta key in Emacs with `(setq x-meta-keysym 'ctrl x-ctrl-keysym 'meta)`.