Mouse acceleration.
authorMichael Jumper <zhangmaike@users.sourceforge.net>
Mon, 9 Apr 2012 04:51:00 +0000 (21:51 -0700)
committerMichael Jumper <zhangmaike@users.sourceforge.net>
Mon, 9 Apr 2012 04:51:00 +0000 (21:51 -0700)
src/main/resources/mouse.js

index 86672c9..8613ce9 100644 (file)
@@ -277,9 +277,15 @@ Guacamole.Mouse = function(element) {
         // If only one touch involved, this is mouse move
         if (touch_count == 1) {
 
+            // Calculate average velocity in Manhatten pixels per millisecond
+            var velocity = pixels_moved / (new Date().getTime() - last_touch_time);
+
+            // Scale mouse movement relative to velocity
+            var scale = 1 + velocity;
+
             // Update mouse location
-            guac_mouse.currentState.x += delta_x;
-            guac_mouse.currentState.y += delta_y;
+            guac_mouse.currentState.x += delta_x*scale;
+            guac_mouse.currentState.y += delta_y*scale;
 
             // Prevent mouse from leaving screen