Weird VNC problems with keyboard layout

Adam Tkac atkac at redhat.com
Tue Feb 12 13:31:03 UTC 2008


On Sat, Feb 09, 2008 at 03:35:52PM +0100, Tim Niemueller wrote:
> Hi all.
> 

Hi,

> I have really weird problems with VNC, using different servers,
> different clients, but every combination has the very same symptoms.
> 
> I'm using a German localized Gnome, with the German keyboard layout. Now
> if I connect to any remote VNC I cannot type many "special" characters.
> This means umlauts as well as regular charaters like a dash (and / being
> Shift+6). It is not that it is just an English keyboard layout but it
> doesn't seem to be any meaningful keyboard setup that I know. In the
> beginning for example I ended up copying dashes for commands until I
> figured out how to solve this. And this is even more weird: I added the
> US English keyboard layout additionally to the German one. Then I added
> the Gnome keyboard applet to my panel. If I now start the VNC
> connection, and then switch to "USA" for this window it works, and it
> works with the German layout! So then I'm able to type all characters
> including Umlauts, although the keyboard layout for this window is set
> to US English.
> 
> As server I have used an Vine Server for OS X (also known as OSXVnc) as
> well as a Qemu-VM started using virt-manager. Clients have been
> tightvnc, realvnc, virt-viewer and vinagre (last two then accounting as
> gtk-vnc). The system is an F-8 machine. I just found out about this fix
> while testing F9Alpha in a VM...
> 
> Does anybody know what's going wrong here? Has anybody experienced
> similar problems? I don't even know what I would file a bug against.
> Because so many programs are affected I'd expect that this is some kind
> of Gnome infrastructure problem?
> 

This is very delicious problem. RFB protocol (used by vnc) specifies
nothing related to keyboard mapping between client/server so if you
have different keyboard mapping on client and server sides it
generally doesn't work. Xvnc have implemented some kind of
optimization which guess what mapping is on client side but it is
only heuristics approach and doesn't work in all cases. I recommend
you use same keyboard mapping on server and client side and it should
work as expected.

Adam

-- 
Adam Tkac, Red Hat, Inc.




More information about the devel mailing list