RE: Unknown keycode mapping '(null)'.
- From: Eduardo Juan <eduardo juan ericsson com>
- To: "Daniel P. Berrange" <dan berrange com>
- Cc: "gtk-vnc-list gnome org" <gtk-vnc-list gnome org>
- Subject: RE: Unknown keycode mapping '(null)'.
- Date: Tue, 7 Oct 2014 16:59:26 +0000
Hi Daniel
Yes, I have a Spanish keyboard.
I'm not too familiar with patching ...
Which of the machines should I patch, the Solaris system I've accessed via Citrix, the Ubuntu host or the VM
I try to connect to ?
How do I put that patch in ?
Regards, Eduardo
-----Original Message-----
From: Daniel P. Berrange [mailto:dan berrange com]
Sent: martes, 07 de octubre de 2014 18:51
To: Eduardo Juan
Cc: gtk-vnc-list gnome org
Subject: Re: Unknown keycode mapping '(null)'.
On Tue, Oct 07, 2014 at 04:17:56PM +0000, Eduardo Juan wrote:
Hi
I have the following problem when accessing the console of a VM.
root openstack1115:~# virt-viewer controller
(virt-viewer:25949): gtk-vnc-WARNING **: Unknown keycode mapping '(null)'.
Please report to gtk-vnc-list gnome org including the following
information:
- Operating system
- GDK build
- X11 Server
- xprop -root
- xdpyinfo
The environment is as follows:
I have a Solaris Unix environment.
SunOS xbete1 5.10 Generic_147441-01 i86pc i386 i86pc
From a shell I do "ssh -X" to a server with Ubuntu.
I have set the DISPLAY variable to the Solaris environment with
export DISPLAY=159.107.31.149:21.0
I have created some VMs on the Ubuntu host and the warning appears when I try to connect to the VM's
console.
The problem is my keymap is quite wrong and it does not allow me to work.
So the situation with VNC and key handling is quite horrible
If you want to know the nasty details you can read
https://www.berrange.com/posts/2010/07/04/more-than-you-or-i-ever-wanted-to-know-about-virtual-keyboard-handling/
https://www.berrange.com/posts/2010/07/04/a-summary-of-scan-code-key-codes-sets-used-in-the-pc-virtualization-stack/
Basically with standard VNC protocol, the keyboard layout configured on your local X server, the QEMU process
and the guest operating system must be identical. If they are not identical key handling will be mangled.
To solve this we invented an extension to VNC that passes raw hardware scan codes to the VNC server. With
this extension you only need to have the same layout configured on your X server and guest operating system.
ie we have taken QEMU out of the loop to avoid it screwing things up.
Unfortunately for this extension to work we need to understand what scancodes your build of GTK + X server is
using. We've figured this out for Xorg based servers, and Windows and OS-X, but it seems that Solaris has a
different X server and we don't have support for that.
So in this case we disable the scancode extension and you get the plain VNC protocol. Presumably you are not
using a US keybord layout, since you say the keymap handling is broken when this happens.
The only real long term solution is to figure out how scancodes are reported on Solaris X server and add
support to GTK-VNC for this.
root openstack1115:~# xdpyinfo
name of display: 159.107.31.149:21.0
version number: 11.0
vendor string: Citrix Systems Inc
vendor release number: 60423
If you are comfortable patching & building software, I'd be interested in what happens if you apply the
following patch:
diff --git a/src/vncdisplaykeymap.c b/src/vncdisplaykeymap.c index 7f11e7c..4823cc6 100644
--- a/src/vncdisplaykeymap.c
+++ b/src/vncdisplaykeymap.c
@@ -186,7 +186,7 @@ const guint16 *vnc_display_keymap_gdk2rfb_table(size_t *maplen)
" - xprop -root\n"
" - xdpyinfo\n",
keycodes);
- return NULL;
+ return keymap_xorgkbd2rfb;
}
}
#endif
This is just a quick hack to try using standard x86 scan codes. If we are lucky it might work for you. If not
we'll need to do more detailed investigations.
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]