Hi Peter, Getting this stuff right is getting important now that evdev reports only valuators that changed. Though I doubt there is any client code out there that interprets first_axis != 0 correctly...
Thanks, Tom
>From d3d536f69260c1628e12291648c9da3be09fcac7 Mon Sep 17 00:00:00 2001 From: Thomas Jaeger <[email protected]> Date: Tue, 22 Sep 2009 20:02:20 -0400 Subject: [PATCH] dix: report XI1 axis values correctly if first_valuator != 0 Signed-off-by: Thomas Jaeger <[email protected]> --- dix/eventconvert.c | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dix/eventconvert.c b/dix/eventconvert.c index d91ba67..e25f3ee 100644 --- a/dix/eventconvert.c +++ b/dix/eventconvert.c @@ -352,17 +352,17 @@ getValuatorEvents(DeviceEvent *ev, deviceValuator *xv) xv->device_state = state; switch (xv->num_valuators) { case 6: - xv->valuator5 = ev->valuators.data[i + 5]; + xv->valuator5 = ev->valuators.data[xv->first_valuator + 5]; case 5: - xv->valuator4 = ev->valuators.data[i + 4]; + xv->valuator4 = ev->valuators.data[xv->first_valuator + 4]; case 4: - xv->valuator3 = ev->valuators.data[i + 3]; + xv->valuator3 = ev->valuators.data[xv->first_valuator + 3]; case 3: - xv->valuator2 = ev->valuators.data[i + 2]; + xv->valuator2 = ev->valuators.data[xv->first_valuator + 2]; case 2: - xv->valuator1 = ev->valuators.data[i + 1]; + xv->valuator1 = ev->valuators.data[xv->first_valuator + 1]; case 1: - xv->valuator0 = ev->valuators.data[i + 0]; + xv->valuator0 = ev->valuators.data[xv->first_valuator + 0]; } if (i + 6 < num_valuators) -- 1.6.3.3
_______________________________________________ xorg-devel mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-devel
