debian/changelog                             |    7 +++++
 debian/patches/series                        |    1 
 debian/patches/vmmouse_scale_input_data.diff |   32 +++++++++++++++++++++++++++
 3 files changed, 40 insertions(+)

New commits:
commit 6ea80a616f50bdba22dc5043ab9630d0f80b8a99
Author: Julien Cristau <[EMAIL PROTECTED]>
Date:   Thu Jan 3 15:13:59 2008 +0100

    Scale input events, as X 1.4 doesn't do that itself anymore.
    
    Patch by Joerg Platte <[EMAIL PROTECTED]> (closes: #442853).
    Acked by Peter Hutterer in fdo bug#13552 (comment#3).

diff --git a/debian/changelog b/debian/changelog
index 5e1378c..5321a12 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xserver-xorg-input-vmmouse (1:12.4.3-2) UNRELEASED; urgency=low
+
+  * Scale input events, as X 1.4 doesn't do that itself anymore.
+    Patch by Joerg Platte <[EMAIL PROTECTED]> (closes: #442853).
+
+ -- Julien Cristau <[EMAIL PROTECTED]>  Thu, 03 Jan 2008 15:10:01 +0100
+
 xserver-xorg-input-vmmouse (1:12.4.3-1) unstable; urgency=low
 
   * New upstream version.
diff --git a/debian/patches/series b/debian/patches/series
index e69de29..6c8a4e2 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -0,0 +1 @@
+vmmouse_scale_input_data.diff
diff --git a/debian/patches/vmmouse_scale_input_data.diff 
b/debian/patches/vmmouse_scale_input_data.diff
new file mode 100644
index 0000000..1bca5c7
--- /dev/null
+++ b/debian/patches/vmmouse_scale_input_data.diff
@@ -0,0 +1,32 @@
+--- a/src/vmmouse.c    2007-09-26 01:11:47.000000000 +0200
++++ b/src/vmmouse-new.c        2007-12-04 22:44:21.000000000 +0100
+@@ -960,12 +960,15 @@
+ static void
+ GetVMMouseMotionEvent(InputInfoPtr pInfo){
+    MouseDevPtr pMse;
++   VMMousePrivPtr mPriv;
+    int buttons, dx, dy, dz, dw;
++   double factorX, factorY;
+    VMMOUSE_INPUT_DATA  vmmouseInput;
+    int ps2Buttons = 0;
+    int numPackets;
+ 
+    pMse = pInfo->private;  
++   mPriv = pMse->mousePriv;
+    while((numPackets = VMMouseClient_GetInput(&vmmouseInput))){
+       if (numPackets == VMMOUSE_ERROR) {
+          VMMouseClient_Disable();
+@@ -990,6 +993,13 @@
+       dy = vmmouseInput.Y; 
+       dz = (char)vmmouseInput.Z;
+       dw = 0;
++      /* scale the input data based on the screen dimensions */
++      factorX = ((double) screenInfo.screens[mPriv->screenNum]->width) / 
(double) 65535;
++      factorY = ((double) screenInfo.screens[mPriv->screenNum]->height) / 
(double) 65535;
++
++      dx = dx * factorX + 0.5;
++      dy = dy * factorY + 0.5;
++
+       /* post an event */
+       pMse->PostEvent(pInfo, buttons, dx, dy, dz, dw);
+    }


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to