diff options
Diffstat (limited to 'dix/eventconvert.c')
-rw-r--r-- | dix/eventconvert.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/dix/eventconvert.c b/dix/eventconvert.c index 897691946..760729beb 100644 --- a/dix/eventconvert.c +++ b/dix/eventconvert.c @@ -284,8 +284,20 @@ eventToKeyButtonPointer(DeviceEvent *ev, xEvent **xi, int *count) num_events = (countValuators(ev, &first) + 5)/6; /* valuator ev */ if (num_events <= 0) { - *count = 0; - return BadMatch; + switch (ev->type) + { + case ET_KeyPress: + case ET_KeyRelease: + case ET_ButtonPress: + case ET_ButtonRelease: + /* no axes is ok */ + break; + case ET_Motion: + case ET_ProximityIn: + case ET_ProximityOut: + *count = 0; + return BadMatch; + } } num_events++; /* the actual event event */ |