Toggle modifier pressed states.

This commit is contained in:
Michael Jumper
2012-01-21 12:53:18 -08:00
parent 7e6ad2d953
commit 61fcf959b3

View File

@@ -243,13 +243,30 @@ Guacamole.OnScreenKeyboard = function(url) {
// Set up click handler for key // Set up click handler for key
key_element.onclick = function() { key_element.onclick = function() {
// Toggle pressed state
key.pressed = !key.pressed;
// Get current cap based on modifier state // Get current cap based on modifier state
var cap = key.getCap(on_screen_keyboard.modifiers); var cap = key.getCap(on_screen_keyboard.modifiers);
// Update modifier state // Update modifier state
if (cap.modifier) { 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 // TODO: Send key event