When reading either of these questions or the EmacsWiki article about mapping Caps Lock to Control in emacs in Windows, the best answers seem to involve the registry. My que
I believe it doesn't work because Windows (or X) doesn't pass an actual event for [capslock] or [control] - it's a modifier key, like [shift]. Pressing a modifier key doesn't cause the application to get a keystroke, but if you press a modifier and a second (non-modifier) key, then you get the keystroke.
For example [a] and [A] are two different keys, one is the regular "a" and the other is essentially "shift-a". I'm sure you could set Windows up to have the "shift-a" actually send a "z" or something.
Because [capslock], [control], [shift], [meta] are all modifier keys, they don't generate key events in and of themselves for the applications.
In short, Emacs doesn't get a [control] key event that it can remap, it gets a C-a event. This is generally done by the obvious combination of [control] and [a] keys. But, the event could be generated by a different keystroke, say [F10] or even [y] (confusing, yes).
This is how I understand it. Clarifications are welcome of course.