mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-07 05:31:22 +00:00
Track pressed state for modifiers globally. Do not track pressed state of non-modifiers.
This commit is contained in:
@@ -249,23 +249,20 @@ Guacamole.OnScreenKeyboard = function(url) {
|
||||
// Update modifier state
|
||||
if (cap.modifier) {
|
||||
|
||||
// Toggle pressed state
|
||||
key.pressed = !key.pressed;
|
||||
|
||||
// Construct classname for modifier
|
||||
var modifierClass = "guac-keyboard-modifier-" + cap.modifier;
|
||||
var modifierFlag = getModifier(cap.modifier);
|
||||
|
||||
// Toggle modifier state
|
||||
on_screen_keyboard.modifiers ^= modifierFlag;
|
||||
|
||||
// Activate modifier if pressed
|
||||
if (key.pressed) {
|
||||
on_screen_keyboard.modifiers |= getModifier(cap.modifier);
|
||||
if (on_screen_keyboard.modifiers & modifierFlag)
|
||||
keyboard.classList.add(modifierClass);
|
||||
}
|
||||
|
||||
// Deactivate if not pressed
|
||||
else {
|
||||
on_screen_keyboard.modifiers &= ~getModifier(cap.modifier);
|
||||
else
|
||||
keyboard.classList.remove(modifierClass);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -374,11 +371,6 @@ Guacamole.OnScreenKeyboard.Key = function() {
|
||||
*/
|
||||
this.size = 1;
|
||||
|
||||
/**
|
||||
* Whether this key is currently pressed.
|
||||
*/
|
||||
this.pressed = false;
|
||||
|
||||
/**
|
||||
* An associative map of all caps by modifier.
|
||||
*/
|
||||
|
Reference in New Issue
Block a user