summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2009-10-13 13:15:05 +1000
committerKeith Packard <keithp@keithp.com>2009-10-13 10:04:50 -0700
commit72f5874434c0c015b671c492c1318f35f1793668 (patch)
treed08134c2a7a590f3df65e77eaba0524152daf024
parent1088073b11ed488c0df45af3867b900ef93c6fe1 (diff)
dix: extend IsPointerDevice check to valuator-only devices.
A device with valuators but no keys is definitely a pointer device and needs to be attached to the VCP. Otherwise, the class copying happens on the VCK and the VCP isn't updated with the events that are to be sent through it. This addresses the trigger for #24441, not the actual issue. Jury is still out on valuator+key devices. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--dix/events.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/dix/events.c b/dix/events.c
index 14e3900b9..aaf28b53f 100644
--- a/dix/events.c
+++ b/dix/events.c
@@ -345,7 +345,9 @@ DevHasCursor(DeviceIntPtr pDev)
Bool
IsPointerDevice(DeviceIntPtr dev)
{
- return (dev->type == MASTER_POINTER) || (dev->valuator && dev->button);
+ return (dev->type == MASTER_POINTER) ||
+ (dev->valuator && dev->button) ||
+ (dev->valuator && !dev->key);
}
/*