with this configuration, the keys "CapsLock" and "Ctrl" are swapped, and the key "Menu" is mapped to "ISO_Next_Group".

This workaround works fine before I updated virtualbox to 4.0.0. after updated i found it does not work for guests (neither for linux or windows guest). I've tried using xev in the guest to catch what happend. When I press down "CapsLock", it should be "Control_L", but it is "CapsLock".

It seems that virtualbox has ignored the XkbOptions and accesses the keyboard as is.

The first is 64bit, the second 32bit. I believe they should fix your issue (they still don't allow remapping of alphanumeric keys, so if you want to make "Q" behave like caps lock you are out of luck...)