guacamole-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mike Jumper <mike.jum...@guac-dev.org>
Subject Re: Keyboard mapping with Ubuntu 16 and CentOS 7
Date Fri, 20 Jan 2017 19:05:03 GMT
On Fri, Jan 20, 2017 at 10:56 AM, Hogne Vevle <hv@webhuset.no> 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

Mime
View raw message