diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2010-06-01 13:41:45 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2010-06-02 01:11:21 +0200 |
commit | f0ecd234b78dfa83c535c2b104e98716e1322863 (patch) | |
tree | ce2cf68d8409141a6ce90e8ccc99f2636cb756d8 | |
parent | 1223ebc46007860a7ca4bf1a36aac89b394a3edb (diff) |
Do not set XI86_POINTER_CAPABLE for touchpoints.
This would mean "this device can't be a core pointer", but the flag isn't honored
yet in the server. The final purpose is that touchpoints shouldn't be attached to
any MD.
-rw-r--r-- | src/evdev.c | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/evdev.c b/src/evdev.c index cab01e7..ab67664 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -1628,21 +1628,24 @@ EvdevAddAbsClass(DeviceIntPtr device) if (!InitPtrFeedbackClassDeviceStruct(device, EvdevPtrCtrlProc)) return !Success; - if ((TestBit(ABS_X, pEvdev->abs_bitmask) && - TestBit(ABS_Y, pEvdev->abs_bitmask)) || - (TestBit(ABS_RX, pEvdev->abs_bitmask) && - TestBit(ABS_RY, pEvdev->abs_bitmask)) || - (TestBit(ABS_HAT0X, pEvdev->abs_bitmask) && - TestBit(ABS_HAT0Y, pEvdev->abs_bitmask)) || - (TestBit(ABS_HAT1X, pEvdev->abs_bitmask) && - TestBit(ABS_HAT1Y, pEvdev->abs_bitmask)) || - (TestBit(ABS_HAT2X, pEvdev->abs_bitmask) && - TestBit(ABS_HAT2Y, pEvdev->abs_bitmask)) || - (TestBit(ABS_HAT3X, pEvdev->abs_bitmask) && - TestBit(ABS_HAT3Y, pEvdev->abs_bitmask)) || - (TestBit(ABS_TILT_X, pEvdev->abs_bitmask) && - TestBit(ABS_TILT_Y, pEvdev->abs_bitmask))) + if (EvdevIsCoreDevice(pInfo) && + ((TestBit(ABS_X, pEvdev->abs_bitmask) && + TestBit(ABS_Y, pEvdev->abs_bitmask)) || + (TestBit(ABS_RX, pEvdev->abs_bitmask) && + TestBit(ABS_RY, pEvdev->abs_bitmask)) || + (TestBit(ABS_HAT0X, pEvdev->abs_bitmask) && + TestBit(ABS_HAT0Y, pEvdev->abs_bitmask)) || + (TestBit(ABS_HAT1X, pEvdev->abs_bitmask) && + TestBit(ABS_HAT1Y, pEvdev->abs_bitmask)) || + (TestBit(ABS_HAT2X, pEvdev->abs_bitmask) && + TestBit(ABS_HAT2Y, pEvdev->abs_bitmask)) || + (TestBit(ABS_HAT3X, pEvdev->abs_bitmask) && + TestBit(ABS_HAT3Y, pEvdev->abs_bitmask)) || + (TestBit(ABS_TILT_X, pEvdev->abs_bitmask) && + TestBit(ABS_TILT_Y, pEvdev->abs_bitmask)))) + { pInfo->flags |= XI86_POINTER_CAPABLE; + } if (pEvdev->flags & EVDEV_TOUCHPAD) pEvdev->flags |= EVDEV_RELATIVE_MODE; |