shade_interval = window.setInterval(function() {
offset -= step;
- GuacamoleUI.menu.style.top = offset + "px";
+
+ GuacamoleUI.menu.style.transform =
+ GuacamoleUI.menu.style.WebkitTransform =
+ GuacamoleUI.menu.style.MozTransform =
+ GuacamoleUI.menu.style.OTransform =
+ GuacamoleUI.menu.style.msTransform =
+
+ "translateY(" + offset + "px)";
if (offset <= -GuacamoleUI.menu.offsetHeight) {
window.clearInterval(shade_interval);
window.clearInterval(show_interval);
}
- GuacamoleUI.menu.style.top = offset + "px";
+ GuacamoleUI.menu.style.transform =
+ GuacamoleUI.menu.style.WebkitTransform =
+ GuacamoleUI.menu.style.MozTransform =
+ GuacamoleUI.menu.style.OTransform =
+ GuacamoleUI.menu.style.msTransform =
+
+ "translateY(" + offset + "px)";
}, GuacamoleUI.MENU_SHOW_INTERVAL);
}
}
};
+ // Turn off autocorrect and autocapitalization on eventTarget
+ GuacamoleUI.eventTarget.setAttribute("autocorrect", "off");
+ GuacamoleUI.eventTarget.setAttribute("autocapitalize", "off");
+
})();
// Tie UI events / behavior to a specific Guacamole client
// Keyboard
var keyboard = new Guacamole.Keyboard(document);
- var keysymPressed = [];
// Monitor whether the event target is focused
var eventTargetFocused = false;
keysym = 0x01000000 | charCode;
// Send keysym only if not already pressed
- if (!keysymPressed[keysym]) {
+ if (!keyboard.pressed[keysym]) {
// Press and release key
guac.sendKeyEvent(1, keysym);
keyboard.onkeydown = function (keysym) {
guac.sendKeyEvent(1, keysym);
- keysymPressed[keysym] = true;
return eventTargetFocused && isTypableCharacter(keysym);
};
keyboard.onkeyup = function (keysym) {
guac.sendKeyEvent(0, keysym);
- keysymPressed[keysym] = false;
return eventTargetFocused && isTypableCharacter(keysym);
};