mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 21:27:40 +00:00
Use addEventListener(), only ignore key event if truly unknown (might have keyIdentifiier, but no keycode).
This commit is contained in:
@@ -418,7 +418,7 @@ Guacamole.Keyboard = function(element) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// When key pressed
|
// When key pressed
|
||||||
element.onkeydown = function(e) {
|
element.addEventListener("keydown", function(e) {
|
||||||
|
|
||||||
// Only intercept if handler set
|
// Only intercept if handler set
|
||||||
if (!guac_keyboard.onkeydown) return;
|
if (!guac_keyboard.onkeydown) return;
|
||||||
@@ -428,7 +428,7 @@ Guacamole.Keyboard = function(element) {
|
|||||||
else if (e.which) keynum = e.which;
|
else if (e.which) keynum = e.which;
|
||||||
|
|
||||||
// Ignore any unknown key events
|
// Ignore any unknown key events
|
||||||
if (keynum == 0) {
|
if (keynum == 0 && !e.keyIdentifier) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -481,10 +481,10 @@ Guacamole.Keyboard = function(element) {
|
|||||||
handleKeyEvents();
|
handleKeyEvents();
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
}, true);
|
||||||
|
|
||||||
// When key pressed
|
// When key pressed
|
||||||
element.onkeypress = function(e) {
|
element.addEventListener("keypress", function(e) {
|
||||||
|
|
||||||
// Only intercept if handler set
|
// Only intercept if handler set
|
||||||
if (!guac_keyboard.onkeydown) return;
|
if (!guac_keyboard.onkeydown) return;
|
||||||
@@ -515,10 +515,10 @@ Guacamole.Keyboard = function(element) {
|
|||||||
// Handle event with all aggregated data
|
// Handle event with all aggregated data
|
||||||
handleKeyEvents();
|
handleKeyEvents();
|
||||||
|
|
||||||
};
|
}, true);
|
||||||
|
|
||||||
// When key released
|
// When key released
|
||||||
element.onkeyup = function(e) {
|
element.addEventListener("keyup", function(e) {
|
||||||
|
|
||||||
// Only intercept if handler set
|
// Only intercept if handler set
|
||||||
if (!guac_keyboard.onkeyup) return;
|
if (!guac_keyboard.onkeyup) return;
|
||||||
@@ -545,13 +545,13 @@ Guacamole.Keyboard = function(element) {
|
|||||||
// Send release event
|
// Send release event
|
||||||
sendKeyReleased(lastKeyDownChar);
|
sendKeyReleased(lastKeyDownChar);
|
||||||
|
|
||||||
};
|
}, true);
|
||||||
|
|
||||||
// When focus is lost, clear modifiers.
|
// When focus is lost, clear modifiers.
|
||||||
element.onblur = function() {
|
element.addEventListener("blur", function() {
|
||||||
guac_keyboard.modifiers.alt = false;
|
guac_keyboard.modifiers.alt = false;
|
||||||
guac_keyboard.modifiers.ctrl = false;
|
guac_keyboard.modifiers.ctrl = false;
|
||||||
guac_keyboard.modifiers.shift = false;
|
guac_keyboard.modifiers.shift = false;
|
||||||
};
|
}, true);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user