The mode is either Absolute or Relative, the mode field in the ValuatorClassRec also stores the proximity bit on the second bit for XI 1.x clients, returning bad data to clients that just check for (mode == Absolute) or for (mode == Relative).
Signed-off-by: Peter Hutterer <[email protected]> --- Xi/xiquerydevice.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/Xi/xiquerydevice.c b/Xi/xiquerydevice.c index 303c8b2..4c23486 100644 --- a/Xi/xiquerydevice.c +++ b/Xi/xiquerydevice.c @@ -349,7 +349,7 @@ ListValuatorInfo(DeviceIntPtr dev, xXIValuatorInfo* info, int axisnumber, info->value.frac = (int)(v->axisVal[axisnumber] * (1 << 16) * (1 << 16)); info->resolution = v->axes[axisnumber].resolution; info->number = axisnumber; - info->mode = v->mode; /* Server doesn't have per-axis mode yet */ + info->mode = v->mode & DeviceMode; /* Server doesn't have per-axis mode yet */ info->sourceid = v->sourceid; if (!reportState) -- 1.6.5.2 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
