On Fri, Jan 20, 2017 at 10:56 AM, Hogne Vevle <[email protected]> wrote:

> Hi again, all!
>
> I’m following up on this with some guacd logs:
>
> Jan 20 19:46:21 vps-vnc-proxy guacd[14279]: Protocol "vnc" selected
> Jan 20 19:46:21 vps-vnc-proxy guacd[14279]: Connection ID is
> "$62f15d6f-da12-45d5-990b-84d57e2c3946"
> Jan 20 19:46:21 vps-vnc-proxy guacd[14279]: VNC server supports protocol
> version 3.8 (viewer 3.8)
> Jan 20 19:46:21 vps-vnc-proxy guacd[14279]: We have 1 security types to
> read
> Jan 20 19:46:21 vps-vnc-proxy guacd[14279]: 0) Received security type 1
> Jan 20 19:46:21 vps-vnc-proxy guacd[14279]: Selecting security type 1 (0/1
> in the list)
> Jan 20 19:46:21 vps-vnc-proxy guacd[14279]: Selected Security Scheme 1
> Jan 20 19:46:21 vps-vnc-proxy guacd[14279]: No authentication needed
> Jan 20 19:46:21 vps-vnc-proxy guacd[14279]: VNC authentication succeeded
> Jan 20 19:46:21 vps-vnc-proxy guacd[14279]: Desktop name "QEMU"
>

If you're connecting to QEMU's built-in VNC server, this may be why the
keyboard mapping is not working correctly.

Both Guacamole and VNC use X11 keysyms to represent key events. These
keysyms are independent of keyboard layout, and represent the actual
identity of the key pressed. Because QEMU needs to emulate the hardware of
the keyboard, it will internally need to translate those keysyms back into
scancodes, thus removing the identity of the key pressed. The information
reaching the OS running beneath QEMU describes nothing more than the
location of the key on the keyboard, and the OS will re-interpret that
according to the keyboard layout it's configured to use.

There is likely a way to inform QEMU of the keyboard layout of the guest
OS, allowing that mapping process to work correctly, but you will still be
limited by the keys defined by the layout of the guest OS. You won't be
able to type characters which are not present in that keyboard layout.

If you instead run a native VNC server within the guest OS itself, there
won't be that intervening keysym -> scancode layer, and things should work
as expected.

- Mike

Reply via email to