mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 05:07:41 +00:00
Toggle modifier pressed states.
This commit is contained in:
@@ -243,13 +243,30 @@ Guacamole.OnScreenKeyboard = function(url) {
|
||||
// Set up click handler for key
|
||||
key_element.onclick = function() {
|
||||
|
||||
// Toggle pressed state
|
||||
key.pressed = !key.pressed;
|
||||
|
||||
// Get current cap based on modifier state
|
||||
var cap = key.getCap(on_screen_keyboard.modifiers);
|
||||
|
||||
// Update modifier state
|
||||
if (cap.modifier) {
|
||||
on_screen_keyboard.modifiers |= getModifier(cap.modifier);
|
||||
keyboard.classList.add("guac-keyboard-modifier-" + cap.modifier);
|
||||
|
||||
// Construct classname for modifier
|
||||
var modifierClass = "guac-keyboard-modifier-" + cap.modifier;
|
||||
|
||||
// Activate modifier if pressed
|
||||
if (key.pressed) {
|
||||
on_screen_keyboard.modifiers |= getModifier(cap.modifier);
|
||||
keyboard.classList.add(modifierClass);
|
||||
}
|
||||
|
||||
// Deactivate if not pressed
|
||||
else {
|
||||
on_screen_keyboard.modifiers &= ~getModifier(cap.modifier);
|
||||
keyboard.classList.remove(modifierClass);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// TODO: Send key event
|
||||
|
Reference in New Issue
Block a user