xserver: Branch 'master' - 2 commits

Brian Paul brianp at kemper.freedesktop.org
Mon Apr 2 21:41:34 EEST 2007


 hw/dmx/input/dmxbackend.c   |    6 +++++-
 hw/dmx/input/dmxinputinit.c |    6 +++---
 2 files changed, 8 insertions(+), 4 deletions(-)

New commits:
diff-tree 0aaf28e5633a59563b89a2e42d19fabc84adc3ed (from 0013bf6ddb3867c9a504603434d8c2ec83f3f3bc)
Author: Brian <brian at yutani.localnet.net>
Date:   Mon Apr 2 12:41:30 2007 -0600

    In dmxBackendMouGetInfo() initialize the info->minval[], maxval[] arrays to the size of the backend display.
    
    It seems that the changes to X input exposed a problem that wasn't detected
    before.  The axis clipping code in GetPointerEvents() uses those limits to
    constrain the pointer's coordinate range.  The max was zero so the pointer
    couldn't move.

diff --git a/hw/dmx/input/dmxbackend.c b/hw/dmx/input/dmxbackend.c
index 09a2a32..315979e 100644
--- a/hw/dmx/input/dmxbackend.c
+++ b/hw/dmx/input/dmxbackend.c
@@ -592,12 +592,16 @@ void dmxBackendInit(DevicePtr pDev)
 /** Get information about the backend pointer (for initialization). */
 void dmxBackendMouGetInfo(DevicePtr pDev, DMXLocalInitInfoPtr info)
 {
+    const DMXScreenInfo *dmxScreen = dmxBackendInitPrivate(pDev);
+
     info->buttonClass      = 1;
     dmxCommonMouGetMap(pDev, info->map, &info->numButtons);
     info->valuatorClass    = 1;
     info->numRelAxes       = 2;
     info->minval[0]        = 0;
-    info->maxval[0]        = 0;
+    info->minval[1]        = 0;
+    info->maxval[0]        = dmxScreen->beWidth;
+    info->maxval[1]        = dmxScreen->beHeight;
     info->res[0]           = 1;
     info->minres[0]        = 0;
     info->maxres[0]        = 1;
diff-tree 0013bf6ddb3867c9a504603434d8c2ec83f3f3bc (from 08a88d1803f672555141011e082fbc0edeedcf05)
Author: Brian <brian at yutani.localnet.net>
Date:   Mon Apr 2 12:39:04 2007 -0600

    undo 1280 valuator hack

diff --git a/hw/dmx/input/dmxinputinit.c b/hw/dmx/input/dmxinputinit.c
index cf68051..d14aeb7 100644
--- a/hw/dmx/input/dmxinputinit.c
+++ b/hw/dmx/input/dmxinputinit.c
@@ -509,7 +509,7 @@ static int dmxDeviceOnOff(DeviceIntPtr p
 #ifdef XINPUT
                 for (i = 0; i < info.numRelAxes; i++)
                     InitValuatorAxisStruct(pDevice, i, info.minval[0],
-                                           1280/*info.maxval[0]*/, info.res[0],
+                                           info.maxval[0], info.res[0],
                                            info.minres[0], info.maxres[0]);
 #endif
             } else if (info.numRelAxes) {
@@ -520,7 +520,7 @@ static int dmxDeviceOnOff(DeviceIntPtr p
 #ifdef XINPUT
                 for (i = 0; i < info.numRelAxes; i++)
                     InitValuatorAxisStruct(pDevice, i, info.minval[0],
-                                           1280/*info.maxval[0]*/, info.res[0],
+                                           info.maxval[0], info.res[0],
                                            info.minres[0], info.maxres[0]);
 #endif
             } else if (info.numAbsAxes) {
@@ -531,7 +531,7 @@ static int dmxDeviceOnOff(DeviceIntPtr p
 #ifdef XINPUT
                 for (i = 0; i < info.numAbsAxes; i++)
                     InitValuatorAxisStruct(pDevice, i+info.numRelAxes,
-                                           info.minval[i+1], 1280/*info.maxval[i+1]*/,
+                                           info.minval[i+1], info.maxval[i+1],
                                            info.res[i+1], info.minres[i+1],
                                            info.maxres[i+1]);
 #endif



More information about the xorg-commit mailing list