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