From a4b207dcb53955c9bcb1cc340f12f0f06954a4cf Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Thu, 2 Aug 2012 00:53:22 -0700 Subject: [PATCH] Use addEventListener(), only ignore key event if truly unknown (might have keyIdentifiier, but no keycode). --- src/main/resources/keyboard.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/resources/keyboard.js b/src/main/resources/keyboard.js index 474c42b..8c0d3ab 100644 --- a/src/main/resources/keyboard.js +++ b/src/main/resources/keyboard.js @@ -418,7 +418,7 @@ Guacamole.Keyboard = function(element) { } // When key pressed - element.onkeydown = function(e) { + element.addEventListener("keydown", function(e) { // Only intercept if handler set if (!guac_keyboard.onkeydown) return; @@ -428,7 +428,7 @@ Guacamole.Keyboard = function(element) { else if (e.which) keynum = e.which; // Ignore any unknown key events - if (keynum == 0) { + if (keynum == 0 && !e.keyIdentifier) { e.preventDefault(); return; } @@ -481,10 +481,10 @@ Guacamole.Keyboard = function(element) { handleKeyEvents(); } - }; + }, true); // When key pressed - element.onkeypress = function(e) { + element.addEventListener("keypress", function(e) { // Only intercept if handler set if (!guac_keyboard.onkeydown) return; @@ -515,10 +515,10 @@ Guacamole.Keyboard = function(element) { // Handle event with all aggregated data handleKeyEvents(); - }; + }, true); // When key released - element.onkeyup = function(e) { + element.addEventListener("keyup", function(e) { // Only intercept if handler set if (!guac_keyboard.onkeyup) return; @@ -545,13 +545,13 @@ Guacamole.Keyboard = function(element) { // Send release event sendKeyReleased(lastKeyDownChar); - }; + }, true); // When focus is lost, clear modifiers. - element.onblur = function() { + element.addEventListener("blur", function() { guac_keyboard.modifiers.alt = false; guac_keyboard.modifiers.ctrl = false; guac_keyboard.modifiers.shift = false; - }; + }, true); }; -- 1.7.10.4