Only send release for ctrl+alt when both are pressed (we assume Ctrl+Alt == AltGr...
authorMichael Jumper <zhangmaike@users.sourceforge.net>
Mon, 14 May 2012 20:54:44 +0000 (13:54 -0700)
committerMichael Jumper <zhangmaike@users.sourceforge.net>
Mon, 14 May 2012 20:54:44 +0000 (13:54 -0700)
src/main/resources/keyboard.js

index c60759e..142d7ac 100644 (file)
@@ -473,11 +473,11 @@ Guacamole.Keyboard = function(element) {
 
         keypress_keysym = getKeySymFromCharCode(keynum);
 
-        // If event identified as a typable character
-        // then release Ctrl and Alt (if pressed)
-        if (!isControlCharacter(keynum)) {
-            if (guac_keyboard.modifiers.ctrl) sendKeyReleased(0xFFE3);
-            if (guac_keyboard.modifiers.alt)  sendKeyReleased(0xFFE9);
+        // If event identified as a typable character, and we're holding Ctrl+Alt,
+        // assume Ctrl+Alt is actually AltGr, and release both.
+        if (!isControlCharacter(keynum) && guac_keyboard.modifiers.ctrl && guac_keyboard.modifiers.alt) {
+            sendKeyReleased(0xFFE3);
+            sendKeyReleased(0xFFE9);
         }
 
         // Defer handling of event until after any other pending