From 0399689177a898b263fe2986b02e5e0d90b657d0 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Wed, 16 May 2012 00:52:16 -0700 Subject: [PATCH] Ignore unknown key events. --- .../src/main/resources/keyboard.js | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/guacamole-common-js/src/main/resources/keyboard.js b/guacamole-common-js/src/main/resources/keyboard.js index 142d7ac7f..eb2523d87 100644 --- a/guacamole-common-js/src/main/resources/keyboard.js +++ b/guacamole-common-js/src/main/resources/keyboard.js @@ -425,6 +425,12 @@ Guacamole.Keyboard = function(element) { if (window.event) keynum = window.event.keyCode; else if (e.which) keynum = e.which; + // Ignore any unknown key events + if (keynum == 0) { + e.preventDefault(); + return; + } + // Ctrl/Alt/Shift if (keynum == 16) guac_keyboard.modifiers.shift = true; else if (keynum == 17) guac_keyboard.modifiers.ctrl = true; @@ -465,7 +471,7 @@ Guacamole.Keyboard = function(element) { element.onkeypress = function(e) { // Only intercept if handler set - if (!guac_keyboard.onkeydown) return true; + if (!guac_keyboard.onkeydown) return; var keynum; if (window.event) keynum = window.event.keyCode; @@ -485,20 +491,24 @@ Guacamole.Keyboard = function(element) { if (!deferred_keypress) deferred_keypress = window.setTimeout(fireKeyPress, 0); - return false; - }; // When key released element.onkeyup = function(e) { // Only intercept if handler set - if (!guac_keyboard.onkeyup) return true; + if (!guac_keyboard.onkeyup) return; + + e.preventDefault(); var keynum; if (window.event) keynum = window.event.keyCode; else if (e.which) keynum = e.which; + // Ignore any unknown key events + if (keynum == 0) + return; + // Ctrl/Alt/Shift if (keynum == 16) guac_keyboard.modifiers.shift = false; else if (keynum == 17) guac_keyboard.modifiers.ctrl = false; @@ -513,7 +523,7 @@ Guacamole.Keyboard = function(element) { keydownChar[keynum] = null; // Send release event - return sendKeyReleased(lastKeyDownChar); + sendKeyReleased(lastKeyDownChar); };