I'm not sure I'm clear on exactly what is happening. When you say
"wrong layout", what is the visible symptom of the problem? Do you mean
that the keys are not translated correctly between client and server?
Or is the layout within the guest operating system actually changing?
Also, when you run VirtualBox within TurboVNC, are you running it
exclusively, or are you using a window manager as well?
(what are the
contents of your ~/.vnc/xstartup.turbovnc file?)
It seems the basic problem is that, by running VirtualBox in
a window manager window, an additional level of key mapping is
introduced.
To explain how TurboVNC normally works in this regard:
The actual key symbol transmitted to the TurboVNC Server depends on the client's keyboard layout, so if your client has a German layout, pressing the key corresponding to '/' on an English keyboard will send '-', pressing the key corresponding to 'Z' on an English keyboard will send 'Y', and pressing the key corresponding to '[' on an English keyboard will send umlaut U ('ü'). Since the baseline, unextended RFB protocol transmits key symbols instead of key codes, the server will interpret those key events as (respectively) '-', 'Y', and 'ü', regardless of the keyboard layout that is selected in the TurboVNC Server session.
Focusing on just those three keys, what I observe is the following when running VirtualBox in a window manager window:
- Client layout: English, TurboVNC Server layout: English, Windows guest layout: English 'Z' key on English keyboard => 'Z' in TurboVNC Server
and Windows guest
'/' key on English keyboard => '/' in
TurboVNC Server and Windows guest
'[' key on English keyboard => '[' in TurboVNC Server and Windows
guest
- Client layout: German, TurboVNC Server layout: English,
Windows guest layout: English
'Z' key on English keyboard => 'Y' in
TurboVNC Server and Windows guest
'/' key on English keyboard => '-' in
TurboVNC Server and Windows guest
'[' key on English keyboard => 'ü' in TurboVNC Server,
nothing in Windows guest
- Client layout: English, TurboVNC Server layout: English,
Windows guest layout: German
'Z' key on English keyboard
=> 'Z' in TurboVNC Server, 'Y' in Windows
guest
'/' key on English keyboard => '/' in
TurboVNC Server, '-' in Windows guest
'[' key on English keyboard => '[' in TurboVNC Server,
'ü' in Windows guest
- Client layout: English, TurboVNC Server layout: German,
Windows guest layout: English
'Z' key on English keyboard => 'Z' in TurboVNC Server, 'Y'
in Windows guest
'/' key on English keyboard => '/' in
TurboVNC Server, '&' in Windows guest
'[' key on English keyboard => '[' in TurboVNC Server, '8'
in Windows guest
- Client layout: German, TurboVNC Server layout: German,
Windows guest layout: English
'Z' key on English keyboard => 'Y' in
TurboVNC Server, 'Z' in Windows guest
'/' key on English keyboard => '-' in
TurboVNC Server, '/' in Windows guest
'[' key on English keyboard => 'ü' in TurboVNC Server, '['
in Windows guest
- Client layout: English, TurboVNC Server layout: German,
Windows guest layout: German
'Z' key on English keyboard
=> 'Z' in TurboVNC Server, 'Y' in Windows
guest
'/' key on English keyboard => '/' in
TurboVNC Server, '&' in Windows guest
'[' key on English keyboard => '[' in TurboVNC Server, '8'
in Windows guest
--
You received this message because you are subscribed to the Google Groups "TurboVNC User Discussion/Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to turbovnc-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/turbovnc-users/1d25c323-7eb6-4a41-8dc2-8c049ac0f183%40googlegroups.com.
I don't know how to make it any more clear. This is a limitation of the
RFB protocol, and the only way to overcome that limitation is to
implement the aforementioned RFB extension that sends key codes instead
of key symbols. It is not necessary to use a script. I was just
pointing out that use case for completeness, because other people may
stumble upon my answer via Google.
In a nutshell, you can continue to use TurboVNC as you are currently
using it. You just need to ensure that:
- The German keyboard layout is selected in the guest operating system
that is running inside the VM
- The keyboard layout in the TurboVNC Server session and on the client match
To unsubscribe from this group and stop receiving emails from it, send an email to turbovnc-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/turbovnc-users/ee5f0b09-5b9b-412f-90cd-5ea1c3e12d99%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.