In order to access your VM console, we are using a VNC HTML5 console, called "noVNC". No plugin to install, it just works ©, 3 years from now.
But if you used a non-US keyboard, you probably experienced some issues with the layout. Why?
Qemu setting issue
The main problem is for all non-US layouts: you got inconsistent results in a lot of cases. Because in XenServer, the console is started with the hardcoded keyboard layout:
qemu-dm -k en-us
It means all other layouts will lead to strange results, and therefore being really uneasy to work with. It's confirmed on this RedHat mailing list message:
Our recommendation is to never set the '-k' /keymap option at all these
days. Recent QEMU / KVM and GTK-VNC releases support a VNC extension for
sending raw keycodes, instead of localized keysyms. Thus is best to leave
off the keymap in the config, and just configure it inside the guest OS.
And this is exactly what we wanted to do! But first we had to wait for the wrong QEMU settings to be removed in XenServer!
Solution in XenServer 7.1
But, since 7.1 it changed: we could just send the raw keycodes!
But why waiting then? Because the bug was still present in all previous XenServer versions. So we opened an issue on XenServer bug tracker to ask Citrix to backport their fix. Otherwise your consoles won't work.
And very recently, it was available for 6.5 AND 7.0! So we merged our code (which was ready since a bit) and it will be available in our next release :)
The patch in question is
XS65ESP1051 (for XenServer 6.5) and
XS70E033 (for XenServer 7.0). What about earlier versions? They aren't supported by Citrix anymore, so there is nothing we could do!
Anyway, you'll be able to enjoy console in your preferred VM keyboard layout!
Believe me, that was a long way since we spotted the problem. Sometimes, there is some issues like this we are really glad to close.