You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@guacamole.apache.org by Nick Couchman <vn...@apache.org> on 2022/07/01 12:50:25 UTC

Re: Non US keyboards with VNC access to KVM VMs

On Thu, Jun 30, 2022 at 11:20 AM Marcus Rocha <mv...@gmail.com> wrote:

> Hi there!
>
> Any news here, or it is still not possible to configure, for example,
> pt-br or br-abnt2 keyboards when accessing KVM VMs using VNC connections?
>

If I recall correctly, VNC just uses standard keysyms, rather than
scancodes, to send keystrokes, which means that you shouldn't have to do
anything to change the keyboard layout through Guacamole.

-NIck

Re: Non US keyboards with VNC access to KVM VMs

Posted by Marcus Rocha <mv...@gmail.com>.
Thanks, Michael.

I'll take some time for a deeper look into KVM.

Regards, Marcus Rocha

Michael Jumper escreveu:
> For that, if KVM will not already split composed key events into their 
> corresponding dead keys, guac's VNC support would need to switch over 
> to using the same sort of automatic layout translation as we do for RDP.
>
> Within a browser, dead keys do not produce key events like you'd 
> expect; they produce composition events as the character is slowly 
> built. Guacamole automatically handles this - once we have the full 
> character, including the portion that requires the dead key, then we 
> dispatch a key event for the fully-assembled character. For RDP, 
> Guacamole will also automatically break apart the received character 
> into dead keys as necessary (or not if the remote layout doesn't need 
> dead keys for that character). For VNC, the RFB standard implies that 
> the VNC server should simulate the key events necessary to type the 
> character intended, but only explicitly specifies this for the 
> numeric/shifted state of a character. I suspect KVM does not do this 
> for dead keys, and guac would need to do this on KVM's behalf.
>
> - Mike
>
>
> On Mon, Jul 18, 2022 at 11:39 AM Marcus Rocha <mvrocha@gmail.com 
> <ma...@gmail.com>> wrote:
>
>     Hi, Mike!
>
>     Actually, I can live with a single keyboard layout for now. Thus I
>     managed to get most of the keys of my keyboard to function
>     correctly by
>     using the same map for QEMU/KVM and for the guest os (Oracle Linux8).
>     Exceptions are the "dead keys" such as ` ´ ^ ~
>     Any tips on solving this problem?
>
>     Regards,
>     Marcus Rocha
>
>     Michael Jumper escreveu:
>     > On Fri, Jul 1, 2022 at 5:50 AM Nick Couchman <vnick@apache.org
>     <ma...@apache.org>
>     > <mailto:vnick@apache.org <ma...@apache.org>>> wrote:
>     >
>     >     On Thu, Jun 30, 2022 at 11:20 AM Marcus Rocha
>     <mvrocha@gmail.com <ma...@gmail.com>
>     >     <mailto:mvrocha@gmail.com <ma...@gmail.com>>> wrote:
>     >
>     >         Hi there!
>     >
>     >         Any news here, or it is still not possible to configure, for
>     >         example, pt-br or br-abnt2 keyboards when accessing KVM VMs
>     >         using VNC connections?
>     >
>     >
>     >     If I recall correctly, VNC just uses standard keysyms,
>     rather than
>     >     scancodes, to send keystrokes, which means that you
>     shouldn't have
>     >     to do anything to change the keyboard layout through Guacamole.
>     >
>     >
>     > Yes, this is true ... except for KVM, which emulates a hardware
>     > keyboard. Unlike other VNC servers, the KVM VNC server has to be
>     > configured to use a particular keyboard layout for proper
>     translation
>     > from keysym to scancode, and it will only be able to represent key
>     > events for keys on that hardware keyboard regardless of what the
>     VNC
>     > client sends.
>     >
>     > It's not really a Guacamole issue, though there are things that
>     could
>     > be done to Guacamole to make KVM happier (such as adding the same
>     > keysym translation layer that we use in RDP). Regardless, it is
>     > absolutely not possible for a VNC client to universally "just work"
>     > with the KVM VNC server, as the KVM VNC server simply cannot
>     represent
>     > key events for keys that are not on the emulated hardware keyboard.
>     >
>     > A better way to have proper keyboard support on a
>     KVM-virtualized VM
>     > would be to have that VM host a VNC server (or RDP or SSH) and
>     connect
>     > to that instead.
>     >
>     > - Mike
>     >
>


Re: Non US keyboards with VNC access to KVM VMs

Posted by Michael Jumper <mj...@apache.org>.
For that, if KVM will not already split composed key events into their
corresponding dead keys, guac's VNC support would need to switch over to
using the same sort of automatic layout translation as we do for RDP.

Within a browser, dead keys do not produce key events like you'd expect;
they produce composition events as the character is slowly built. Guacamole
automatically handles this - once we have the full character, including the
portion that requires the dead key, then we dispatch a key event for the
fully-assembled character. For RDP, Guacamole will also automatically break
apart the received character into dead keys as necessary (or not if the
remote layout doesn't need dead keys for that character). For VNC, the RFB
standard implies that the VNC server should simulate the key events
necessary to type the character intended, but only explicitly specifies
this for the numeric/shifted state of a character. I suspect KVM does not
do this for dead keys, and guac would need to do this on KVM's behalf.

- Mike


On Mon, Jul 18, 2022 at 11:39 AM Marcus Rocha <mv...@gmail.com> wrote:

> Hi, Mike!
>
> Actually, I can live with a single keyboard layout for now. Thus I
> managed to get most of the keys of my keyboard to function correctly by
> using the same map for QEMU/KVM and for the guest os (Oracle Linux8).
> Exceptions are the "dead keys" such as ` ´ ^ ~
> Any tips on solving this problem?
>
> Regards,
> Marcus Rocha
>
> Michael Jumper escreveu:
> > On Fri, Jul 1, 2022 at 5:50 AM Nick Couchman <vnick@apache.org
> > <ma...@apache.org>> wrote:
> >
> >     On Thu, Jun 30, 2022 at 11:20 AM Marcus Rocha <mvrocha@gmail.com
> >     <ma...@gmail.com>> wrote:
> >
> >         Hi there!
> >
> >         Any news here, or it is still not possible to configure, for
> >         example, pt-br or br-abnt2 keyboards when accessing KVM VMs
> >         using VNC connections?
> >
> >
> >     If I recall correctly, VNC just uses standard keysyms, rather than
> >     scancodes, to send keystrokes, which means that you shouldn't have
> >     to do anything to change the keyboard layout through Guacamole.
> >
> >
> > Yes, this is true ... except for KVM, which emulates a hardware
> > keyboard. Unlike other VNC servers, the KVM VNC server has to be
> > configured to use a particular keyboard layout for proper translation
> > from keysym to scancode, and it will only be able to represent key
> > events for keys on that hardware keyboard regardless of what the VNC
> > client sends.
> >
> > It's not really a Guacamole issue, though there are things that could
> > be done to Guacamole to make KVM happier (such as adding the same
> > keysym translation layer that we use in RDP). Regardless, it is
> > absolutely not possible for a VNC client to universally "just work"
> > with the KVM VNC server, as the KVM VNC server simply cannot represent
> > key events for keys that are not on the emulated hardware keyboard.
> >
> > A better way to have proper keyboard support on a KVM-virtualized VM
> > would be to have that VM host a VNC server (or RDP or SSH) and connect
> > to that instead.
> >
> > - Mike
> >
>
>

Re: Non US keyboards with VNC access to KVM VMs

Posted by Marcus Rocha <mv...@gmail.com>.
Hi, Mike!

Actually, I can live with a single keyboard layout for now. Thus I 
managed to get most of the keys of my keyboard to function correctly by 
using the same map for QEMU/KVM and for the guest os (Oracle Linux8). 
Exceptions are the "dead keys" such as ` ´ ^ ~
Any tips on solving this problem?

Regards,
Marcus Rocha

Michael Jumper escreveu:
> On Fri, Jul 1, 2022 at 5:50 AM Nick Couchman <vnick@apache.org 
> <ma...@apache.org>> wrote:
>
>     On Thu, Jun 30, 2022 at 11:20 AM Marcus Rocha <mvrocha@gmail.com
>     <ma...@gmail.com>> wrote:
>
>         Hi there!
>
>         Any news here, or it is still not possible to configure, for
>         example, pt-br or br-abnt2 keyboards when accessing KVM VMs
>         using VNC connections?
>
>
>     If I recall correctly, VNC just uses standard keysyms, rather than
>     scancodes, to send keystrokes, which means that you shouldn't have
>     to do anything to change the keyboard layout through Guacamole.
>
>
> Yes, this is true ... except for KVM, which emulates a hardware 
> keyboard. Unlike other VNC servers, the KVM VNC server has to be 
> configured to use a particular keyboard layout for proper translation 
> from keysym to scancode, and it will only be able to represent key 
> events for keys on that hardware keyboard regardless of what the VNC 
> client sends.
>
> It's not really a Guacamole issue, though there are things that could 
> be done to Guacamole to make KVM happier (such as adding the same 
> keysym translation layer that we use in RDP). Regardless, it is 
> absolutely not possible for a VNC client to universally "just work" 
> with the KVM VNC server, as the KVM VNC server simply cannot represent 
> key events for keys that are not on the emulated hardware keyboard.
>
> A better way to have proper keyboard support on a KVM-virtualized VM 
> would be to have that VM host a VNC server (or RDP or SSH) and connect 
> to that instead.
>
> - Mike
>


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@guacamole.apache.org
For additional commands, e-mail: user-help@guacamole.apache.org


Re: Non US keyboards with VNC access to KVM VMs

Posted by Michael Jumper <mj...@apache.org>.
On Fri, Jul 1, 2022 at 5:50 AM Nick Couchman <vn...@apache.org> wrote:

> On Thu, Jun 30, 2022 at 11:20 AM Marcus Rocha <mv...@gmail.com> wrote:
>
>> Hi there!
>>
>> Any news here, or it is still not possible to configure, for example,
>> pt-br or br-abnt2 keyboards when accessing KVM VMs using VNC connections?
>>
>
> If I recall correctly, VNC just uses standard keysyms, rather than
> scancodes, to send keystrokes, which means that you shouldn't have to do
> anything to change the keyboard layout through Guacamole.
>

Yes, this is true ... except for KVM, which emulates a hardware keyboard.
Unlike other VNC servers, the KVM VNC server has to be configured to use a
particular keyboard layout for proper translation from keysym to scancode,
and it will only be able to represent key events for keys on that hardware
keyboard regardless of what the VNC client sends.

It's not really a Guacamole issue, though there are things that could be
done to Guacamole to make KVM happier (such as adding the same keysym
translation layer that we use in RDP). Regardless, it is absolutely not
possible for a VNC client to universally "just work" with the KVM VNC
server, as the KVM VNC server simply cannot represent key events for keys
that are not on the emulated hardware keyboard.

A better way to have proper keyboard support on a KVM-virtualized VM would
be to have that VM host a VNC server (or RDP or SSH) and connect to that
instead.

- Mike