On 7/6/23 09:53, Cedric Biedermann wrote:
Hi guys,
I am confused about the keyboard settings and how they work.
I am currently in Germany and have a German keyboard in front of me. For
the Windows server I am accessing via RDP, I have set the Windows
keyboard layout to English and everything works as on a normal English
setting. If I now set the Guacamole layout to English as well, it works
as if I had a German keyboard. If I just set the guacamole layout to
English and the windows to German, it works like an English keyboard.
By the way, if you set everything to German, it works like a normal
German keyboard.
On the other hand, if I try it with French layouts, it has the same
effect as the English ones.
Now to my question: is this a desired behaviour?
Can I change the Guacamole keyboard layout during a connection?
Does the virtual Guac keyboard not change depending on the layout you
choose?
Does Guacamole translate keystrokes depending on the keyboard I select?
For example, if I press "z" on my German keyboard, will Guacamole
translate the keysym code to "y"?
I hope you understand my confusion and can answer some of my questions.
Guacamole represents keyboard keys internally as X11 keysyms. These
keysyms are unique numbers that represent a key's *identity*. For
example, the key that types the letter "a" has the same keysym for all
keyboards regardless of layout.
RDP represents keyboard keys as scancodes. Scancodes do not represent
identity, but rather more closely represent a key's *location*. This means:
1) The RDP server always needs to know the keyboard layout to be able to
have any idea what key you pressed.
2) Guacamole needs to know what your RDP server is expecting to be able
to translate its key event (key identity) into what the RDP server needs
(key location).
Helpfully, RDP additionally has Unicode events, so Guacamole can fall
back on those when you attempt to type a key that doesn't exist in the
configured layout. Thus:
* If Guacamole knows what keyboard the RDP server will be using, it can
provide correct keyboard events.
* If the RDP server doesn't have the same keyboard as you do, Guacamole
will still be able to send correct events as long as it knows the layout
of the RDP server. It will send correct scancodes and fall back on
Unicode if necessary.
* If you change the keyboard layout while within the session, the RDP
server no longer matches expectations and the wrong events are sent.
See also:
https://guacamole.apache.org/faq/#does-guacamole-support-my-keyboard-layout
- Mike
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]