I am using this in my ~/.Xmodmap:
! who needs CapsLock anyway
clear Lock
keycode 66 = Escape
It only disables CapsLock so basically [CapsLock] and [Esc] act the same way on my system.
I also have following line in ~/.xinitrc to load my customized keyboard map whenever X starts.
if [ -s ~/.Xmodmap ]; then
xmodmap ~/.Xmodmap
fi
You will find more solutions on the arch-forum.
The following solutions are just copied from the above link for reference.
This should be put in ~/.Xmodmap to switch both Keys. You also have to load your modified .Xmodmap file from .xinitrc.
remove Lock = Caps_Lock
add Lock = Escape
keysym Caps_Lock = Escape
keysym Escape = Caps_Lock
Or if you prefer another program instead of xmodmap, add following line to ~/.xinitrc:
setxkbmap -option caps:escape