Github user necouchman commented on a diff in the pull request: https://github.com/apache/guacamole-client/pull/328#discussion_r222318256 --- Diff: guacamole-common-js/src/main/webapp/modules/Keyboard.js --- @@ -953,37 +1006,58 @@ Guacamole.Keyboard = function Keyboard(element) { 0xFFE9, // Left alt 0xFFEA, // Right alt 0xFE03 // AltGr - ]); + ], keyEvent); // Resync state of shift updateModifierState(guac_keyboard.modifiers.shift, state.shift, [ 0xFFE1, // Left shift 0xFFE2 // Right shift - ]); + ], keyEvent); // Resync state of ctrl updateModifierState(guac_keyboard.modifiers.ctrl, state.ctrl, [ 0xFFE3, // Left ctrl 0xFFE4 // Right ctrl - ]); + ], keyEvent); // Resync state of meta updateModifierState(guac_keyboard.modifiers.meta, state.meta, [ 0xFFE7, // Left meta 0xFFE8 // Right meta - ]); + ], keyEvent); // Resync state of hyper updateModifierState(guac_keyboard.modifiers.hyper, state.hyper, [ 0xFFEB, // Left hyper 0xFFEC // Right hyper - ]); + ], keyEvent); // Update state guac_keyboard.modifiers = state; }; + /** + * Returns whether all currently pressed keys were implicitly pressed. A + * key is implicitly pressed if its status was inferred indirectly from + * inspection of other key events. + * + * @private + * @returns {Boolean} + * true of all currently pressed keys were implicitly pressed, false --- End diff -- of -> if
---