diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2009-10-13 13:15:05 +1000 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2009-10-13 10:04:50 -0700 |
commit | 72f5874434c0c015b671c492c1318f35f1793668 (patch) | |
tree | d08134c2a7a590f3df65e77eaba0524152daf024 /dix/events.c | |
parent | 1088073b11ed488c0df45af3867b900ef93c6fe1 (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>
Diffstat (limited to 'dix/events.c')
-rw-r--r-- | dix/events.c | 4 |
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); } /* |