winex11.drv: Fixed XInput2 errors with mislabeled mice axis.
Cope, Christopher Edward
ccope3 at utk.edu
Sat Apr 27 18:41:41 CDT 2013
---
dlls/winex11.drv/mouse.c | 10 +++-------
1 files changed, 3 insertions(+), 7 deletions(-)
-------------- next part --------------
>From bc99b22a5451db9f8ddb21c7a246d6737028b738 Mon Sep 17 00:00:00 2001
From: Christopher Cope <ccope3 at utk.edu>
Date: Sat, 27 Apr 2013 19:23:20 -0400
Subject: winex11.drv: Fixed XInput2 errors with mislabeled mice axis.
---
dlls/winex11.drv/mouse.c | 10 +++-------
1 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c
index 168914f..4a96240 100644
--- a/dlls/winex11.drv/mouse.c
+++ b/dlls/winex11.drv/mouse.c
@@ -285,9 +285,7 @@ static void enable_xinput2(void)
devices[i].deviceid, debugstr_a(devices[i].name),
class->number, class->min, class->max, class->resolution, class->mode,
XGetAtomName( data->display, class->label ));
- if (class->label == x11drv_atom( Rel_X ) || class->label == x11drv_atom( Rel_Y )) count++;
- /* workaround for drivers that don't provide labels */
- if (!class->label && class->number <= 1 && class->mode == XIModeRelative) count++;
+ if (class->label == x11drv_atom( Rel_X ) || class->label == x11drv_atom( Rel_Y ) || class->mode == XIModeRelative) count++;
}
if (count < 2) continue;
TRACE( "Using %u (%s) as core pointer\n",
@@ -1638,16 +1636,14 @@ static void X11DRV_RawMotion( XGenericEventCookie *xev )
if (XIMaskIsSet( event->valuators.mask, class->number ))
{
double val = *values++;
- if (class->label == x11drv_atom( Rel_X ) ||
- (!class->label && class->number == 0 && class->mode == XIModeRelative))
+ if (class->label == x11drv_atom( Rel_X ) || class->mode == XIModeRelative)
{
input.u.mi.dx = dx = val;
if (class->min < class->max)
input.u.mi.dx = val * (virtual_screen_rect.right - virtual_screen_rect.left)
/ (class->max - class->min);
}
- else if (class->label == x11drv_atom( Rel_Y ) ||
- (!class->label && class->number == 1 && class->mode == XIModeRelative))
+ else if (class->label == x11drv_atom( Rel_Y ) || class->mode == XIModeRelative)
{
input.u.mi.dy = dy = val;
if (class->min < class->max)
--
1.7.9
More information about the wine-patches
mailing list