Github user mike-jumper commented on a diff in the pull request:
https://github.com/apache/incubator-guacamole-client/pull/209#discussion_r150676272
--- Diff: guacamole-common-js/src/main/webapp/modules/Keyboard.js ---
@@ -984,8 +1003,15 @@ Guacamole.Keyboard = function(element) {
// Release specific key if known
var keysym = first.keysym;
if (keysym) {
+
+ // Press CapsLock first if Keyup event is alone.
+ //
https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Special_cases
+ if (keysym === 0xFFE5)
+ guac_keyboard.press(keysym);
--- End diff --
Given the following events, happening in order:
1. `keydown` Caps Lock
2. `keyup` Caps Lock
due to a single key press, would this then result in the following series
of Guacamole keyboard events:
1. `keydown` Caps Lock (due to original `keydown`)
2. `keyup` Caps Lock (due to unreliable `keydown`)
3. `keydown` Caps Lock (due to unreliable `keyup`)
4. `keyup` Caps Lock (due to original `keyup`)
effectively doubling things on the remote end?
---