I have a problem with the keyboard mapping in virtualbox guests. 

A number of keys show no action at all or turn out wrong symbols and changing the keyboard layout settings in the guest does not fix it.
Both the host and the guest run in 64 Bit.
The problem occurrs both in windows and linux guests.
On the host I tried Debian 7 with XFCE, Trinity and LXDE and I checked both the virtualbox 4.1 that comes with the distro as well as the current 4.2 installed from the wheezy backports.
I started all new then, with centos 6.4, Gnome desktop. Same issue appeared with virtualbox 4.2 installed from the virtualbox.repo
This is on a remote server which I access through vnc (tightvnc on debian and tigervnc on centos, local client is KRDC)
 
I have a German keyboard layout but I prefer to have the box run in English.
 
On centos 
cat /etc/sysconfig/keyboard
 
KEYTABLE="de"
MODEL="pc105"
LAYOUT="de"
KEYBOARDTYPE="pc"
 
LANG=en_US.UTF-8
 
All is well accessing the machine via ssh, yz at the right places, umlauts and all the symbols at the right place and available. 
All is well still accessing the host through vnc. I open Gedit and doing the same tests as above there is no problem.
In the guest however testing with a linux mint live cd, while zy still have the correct place some keys show no activity, including the key right of the P (udiaeresis Udiaeresis) and the keys right of L that should give odiaeresis and adiaeresis. The key to the left of the 1 and the key to the right of the 0 show no action. 
Other keys including the shift values of 3,7,0 and the symbol-keys on the right side have wrong output.
 
On the linux mint guest I checked the key codes with xev and those keys that show no activity apparently do not evoke a key event when hit. I can type üöäß as long as I want in the guest and xev wont output a single line.
 
Going back to the linux host xev running there outputs:
 
KeyPress event, serial 33, synthetic NO, window 0x3c00001,
root 0xfc, subw 0x0, time 13158645, (431,15), root:(433,68),
state 0x2000, keycode 219 (keysym 0xfc, udiaeresis), same_screen YES,
XLookupString gives 2 bytes: (c3 bc) "ü"
XmbLookupString gives 2 bytes: (c3 bc) "ü"
XFilterEvent returns: False
 
KeyRelease event, serial 33, synthetic NO, window 0x3c00001,
root 0xfc, subw 0x0, time 13158781, (431,15), root:(433,68),
state 0x2000, keycode 219 (keysym 0xfc, udiaeresis), same_screen YES,
XLookupString gives 2 bytes: (c3 bc) "ü"
XFilterEvent returns: False
 
KeyPress event, serial 33, synthetic NO, window 0x3c00001,
root 0xfc, subw 0x0, time 13171357, (431,15), root:(433,68),
state 0x2000, keycode 255 (keysym 0xf6, odiaeresis), same_screen YES,
XLookupString gives 2 bytes: (c3 b6) "ö"
XmbLookupString gives 2 bytes: (c3 b6) "ö"
XFilterEvent returns: False
 
KeyRelease event, serial 33, synthetic NO, window 0x3c00001,
root 0xfc, subw 0x0, time 13171481, (431,15), root:(433,68),
state 0x2000, keycode 255 (keysym 0xf6, odiaeresis), same_screen YES,
XLookupString gives 2 bytes: (c3 b6) "ö"
XFilterEvent returns: False
 
KeyPress event, serial 33, synthetic NO, window 0x3c00001,
root 0xfc, subw 0x0, time 13174995, (431,15), root:(433,68),
state 0x2000, keycode 254 (keysym 0xe4, adiaeresis), same_screen YES,
XLookupString gives 2 bytes: (c3 a4) "ä"
XmbLookupString gives 2 bytes: (c3 a4) "ä"
XFilterEvent returns: False
 
KeyRelease event, serial 33, synthetic NO, window 0x3c00001,
root 0xfc, subw 0x0, time 13175522, (431,15), root:(433,68),
state 0x2000, keycode 254 (keysym 0xe4, adiaeresis), same_screen YES,
XLookupString gives 2 bytes: (c3 a4) "ä"
XFilterEvent returns: False
 
KeyPress event, serial 33, synthetic NO, window 0x3c00001,
root 0xfc, subw 0x0, time 13179885, (431,15), root:(433,68),
state 0x2000, keycode 253 (keysym 0xdf, ssharp), same_screen YES,
XLookupString gives 2 bytes: (c3 9f) "ß"
XmbLookupString gives 2 bytes: (c3 9f) "ß"
XFilterEvent returns: False
 
KeyRelease event, serial 33, synthetic NO, window 0x3c00001,
root 0xfc, subw 0x0, time 13180045, (431,15), root:(433,68),
state 0x2000, keycode 253 (keysym 0xdf, ssharp), same_screen YES,
XLookupString gives 2 bytes: (c3 9f) "ß"
XFilterEvent returns: False
 
=================================
 
So I got it working in the end. There was a bug discussion on virtualbox with helpful info about the way virtualbox handles keyboard input:

I will quickly sumarise how we handle keyboard translation on X11 hosts. In fact we have two algorithms for doing this. The first one, which is the preferred one, is to try to determine whether one of the two standard X.Org PC mappings is in use (kbd or evdev). We do this by checking the keycodes of certain keys that are not likely to vary - like the left side modifier keys, tab, the first eight function keys - and seeing if they match one of the well-known mappings (and we do check for swapped ctrl and caps lock). If they do, we use that mapping, but certain custom keyboard layouts, like Neo and probably like your Dvorak layout, defeat this.

The second algorithm originally came from Wine, although a lot of work has gone into it since then. It works by reading the symbols attached to each keycode and comparing them to standard national layouts, and working back from there to the keyboard mapping. This is needed in particular for Sunray and I believe for X over ssh and VNC (although I should probably add Sunray to the standard layouts).

So this confirmed my suspicion that virtualbox performed some weird voodoo based on what it sees as the keyboard settings. And while all looked well judging from typing on the machine, both in a ssh shell or via vnc and X, I found rather strange tables with Xmodmap -pke . 
I created a valid xmodmap on my desktop box, shortened it to only contain those keys I actually need and use and put that into a file on the remote machine. 
I edited the ~/.vnc/xstartup script of the user who runs the vnc server to include the line 
xmodmap custom-modmap
at the top. And that made the difference.

I will not pretend to understand how things actually work together, my desktop, the remote machine, the xmodmap all use and are set to a German keyboard and still virtualBox now starts and presents an English keyboard to the guest machines. But this is something the guests are happy to remap to German and at least each keypress results in a key event now.

(Page 1 of 1, totaling 1 entries)