Mouse Events

Brad Campbell brad at seme.com.au
Thu Aug 30 02:27:30 CDT 2001


Brad Campbell wrote:
> 
> G'day all,
> 
> Maiden post. Please be gentle..
> 
> I had a problem using wine with a touchscreen under XFree 4.0.2.
> With the help of Gerard Patel and Ove Kaaven I have come up with a
> patch that solves my problem, and does not appear to disrupt any of
> the other machines and programs I use. I have looked at several ways
> of achieving this, and this seems to be the least messy.
> 
> This has been tested with both the touchscreen and also ps/2 mouse
> and works well with both.
> 
> I'm not a C programmer at all, and have little experience with the WINE
> code. All comments both positive and negative appreciated..
> Thanks..



This is probably a more correct patch as it only changes the Pos variables
when it's a buttonpress and the absolute flag is set.
Because the message in event.c that sends this refers to the getcoords function
for it's position data, then the position data is guaranteed to be absolute
thus I added the absolute flag to the message sent, this should not affect
anything else..
You will have to excuse the logic in input.c as I'm working from a beginners
guide to C. I'm a PASCAL programmer by nature..

Thanks for any input..


--- windows/input.c.orig        Wed Aug 29 22:44:47 2001
+++ windows/input.c     Thu Aug 30 15:13:08 2001
@@ -187,6 +187,12 @@
         }
     }
 
+    if (!(mi->dwFlags & MOUSEEVENTF_MOVE) && (mi->dwFlags & MOUSEEVENTF_ABSOLUTE))
+    {
+       PosX = mi->dx;
+       PosY = mi->dy;
+    }
+
     if (mi->dwFlags & MOUSEEVENTF_MOVE)
     {
         queue_raw_hardware_message( WM_MOUSEMOVE, keystate, 0, PosX, PosY,

--- windows/x11drv/event.c.orig Thu Aug 30 15:14:28 2001
+++ windows/x11drv/event.c      Thu Aug 30 14:52:15 2001
@@ -477,7 +477,7 @@
         break;
     }
 
-    X11DRV_SendEvent( statusCodes[buttonNum], pt.x, pt.y,
+    X11DRV_SendEvent( statusCodes[buttonNum] | MOUSEEVENTF_ABSOLUTE, pt.x, pt.y,
                       keystate, wData, event->time - X11DRV_server_startticks, hWnd);
 }
 


-- 
Brad....
                   /"\
Save the Forests   \ /     ASCII RIBBON CAMPAIGN
Burn a Greenie.     X      AGAINST HTML MAIL
                   / \




More information about the wine-devel mailing list