From 7282e3ac6c3b23cce927271fb9ca34b2acd36fd3 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Wed, 8 Sep 2010 11:30:14 +1000 Subject: When posting buttons, post absolute valuators if we have them. Signed-off-by: Peter Hutterer Reviewed-by: Benjamin Tissoires --- src/evdev.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/evdev.c b/src/evdev.c index 1775ad9..1720f96 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -661,11 +661,16 @@ static void EvdevPostQueuedEvents(InputInfoPtr pInfo, int num_v, int first_v, pEvdev->queue[i].val); break; case EV_QUEUE_BTN: - /* FIXME: Add xf86PostButtonEventP to the X server so that we may - * pass the valuators on ButtonPress/Release events, too. Currently - * only MotionNotify events contain the pointer position. */ - xf86PostButtonEvent(pInfo->dev, 0, pEvdev->queue[i].key, - pEvdev->queue[i].val, 0, 0); +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 11 + if (pEvdev->abs && pEvdev->tool) { + xf86PostButtonEventP(pInfo->dev, 1, pEvdev->queue[i].key, + pEvdev->queue[i].val, first_v, num_v, + v + first_v); + + } else +#endif + xf86PostButtonEvent(pInfo->dev, 0, pEvdev->queue[i].key, + pEvdev->queue[i].val, 0, 0); break; } } -- cgit v1.2.3