WestonThayer opened a new pull request #236: [GUACAMOLE-859] Incorrect Caps 
Lock keysym sent to Windows via RDP
URL: https://github.com/apache/guacamole-server/pull/236
 
 
   When connected with a Guacamole RDP session, the keysym for Caps Lock 
(0xffe5) is sent over RDP as scancode 0xe03a. Windows does not understand this 
scancode, thus does not generate the correct VK (Virtual Key) events. Removing 
+ext from the keymap sends the scancode 0x003a, which is correctly recognized 
by Windows as Caps Lock. This enables Windows applications to listen for key 
down and key up events on the Caps Lock key while connected via a Guacamole RDP 
session.
   
   Note: this issue likely went un-noticed for a long time because it only 
impacts the key up and down events for the Caps Lock key, not Caps Lock's 
effect on sending uppercase [A-Z] characters.
   
   ## Testing notes
   
   Pulling up this 
[JSBin](https://jsbin.com/reviciceke/2/edit?js,console,output) in the remote 
desktop is an easy way to see the key up/down events that your browser is 
receiving. However, I found it helpful to inspect the low-level events that 
Windows sends to applications so I can see the scancodes and VK codes. To view 
those, I've [attached a small test 
`.exe`](https://github.com/apache/guacamole-server/files/3484231/main.exe.txt) 
(remove the `.txt` extension) that prints the events to std out. You can also 
compile it from source using [these 
instructions](https://gist.github.com/WestonThayer/9b7a0e04b045be1656ce9f01de141cd2).
   
   I have not tested RDP connections to non-Windows RDP servers. It'd be great 
if someone could test with a Linux or macOS RDP server to confirm that they 
weren't expecting a 0xe03a scancode. After searching the web a fair bit, I 
suspect not. I couldn't find anything on a 0xe03a scancode online.
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to