Turn "autocorrect" and "autocapitalize" off via JS, use CSS transform to translate menu (not top/left), use state tracking of keyboard.

This commit is contained in:
Michael Jumper
2012-03-30 00:02:40 -07:00
parent c1831f3db0
commit 21db2579a8

View File

@@ -145,7 +145,14 @@ var GuacamoleUI = {
shade_interval = window.setInterval(function() { shade_interval = window.setInterval(function() {
offset -= step; 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) { if (offset <= -GuacamoleUI.menu.offsetHeight) {
window.clearInterval(shade_interval); window.clearInterval(shade_interval);
@@ -176,7 +183,13 @@ var GuacamoleUI = {
window.clearInterval(show_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); }, GuacamoleUI.MENU_SHOW_INTERVAL);
} }
@@ -408,6 +421,10 @@ var GuacamoleUI = {
} }
}; };
// 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 // Tie UI events / behavior to a specific Guacamole client
@@ -487,7 +504,6 @@ GuacamoleUI.attach = function(guac) {
// Keyboard // Keyboard
var keyboard = new Guacamole.Keyboard(document); var keyboard = new Guacamole.Keyboard(document);
var keysymPressed = [];
// Monitor whether the event target is focused // Monitor whether the event target is focused
var eventTargetFocused = false; var eventTargetFocused = false;
@@ -536,7 +552,7 @@ GuacamoleUI.attach = function(guac) {
keysym = 0x01000000 | charCode; keysym = 0x01000000 | charCode;
// Send keysym only if not already pressed // Send keysym only if not already pressed
if (!keysymPressed[keysym]) { if (!keyboard.pressed[keysym]) {
// Press and release key // Press and release key
guac.sendKeyEvent(1, keysym); guac.sendKeyEvent(1, keysym);
@@ -561,13 +577,11 @@ GuacamoleUI.attach = function(guac) {
keyboard.onkeydown = function (keysym) { keyboard.onkeydown = function (keysym) {
guac.sendKeyEvent(1, keysym); guac.sendKeyEvent(1, keysym);
keysymPressed[keysym] = true;
return eventTargetFocused && isTypableCharacter(keysym); return eventTargetFocused && isTypableCharacter(keysym);
}; };
keyboard.onkeyup = function (keysym) { keyboard.onkeyup = function (keysym) {
guac.sendKeyEvent(0, keysym); guac.sendKeyEvent(0, keysym);
keysymPressed[keysym] = false;
return eventTargetFocused && isTypableCharacter(keysym); return eventTargetFocused && isTypableCharacter(keysym);
}; };