diff options
author | Peter Hutterer <peter@cs.unisa.edu.au> | 2006-11-16 20:43:27 +1030 |
---|---|---|
committer | Peter Hutterer <whot@hyena.localdomain> | 2006-11-16 20:43:27 +1030 |
commit | 5388423eb05daefcc71067b6ab96b6e57c44ef5c (patch) | |
tree | 287e07e906b26d1f15e45fc35687ebba711d5140 /mi | |
parent | c957a16180810fbd58526e1a670d82384fb4a61d (diff) |
mieq: EQ processing handles MP devices
global: MPX define added to xorg-server.h.in
xfree86/common: small fix to avoid byte overflow
Diffstat (limited to 'mi')
-rw-r--r-- | mi/mieq.c | 26 |
1 files changed, 25 insertions, 1 deletions
@@ -24,6 +24,15 @@ in this Software without prior written authorization from The Open Group. * * Author: Keith Packard, MIT X Consortium */ +#ifdef MPX + /* + * MPX additions: + * Copyright © 2006 Peter Hutterer + * License see above. + * Author: Peter Hutterer <peter@cs.unisa.edu.au> + * + */ +#endif /* * mieq.c @@ -218,13 +227,28 @@ mieqProcessInputEvents() else if (e->event[0].u.u.type == MotionNotify || e->event[0].u.u.type == ButtonPress || e->event[0].u.u.type == ButtonRelease) { - SwitchCorePointer(e->pDev); +#ifdef MPX + if (!e->pDev->isMPDev) +#endif + SwitchCorePointer(e->pDev); dev = inputInfo.pointer; + } else { dev = e->pDev; } +#ifdef MPX + /* MPX devices send both core and Xi events. Depending on what + * event we have, dev is set to either the core pointer or the + * device. This gives us the right processing function but we need + * to pass the right device in too. + * Any device that is not a MP device is processed as usual. + */ + if (e->pDev->isMPDev) + dev->public.processInputProc(e->event, e->pDev, e->nevents); + else +#endif dev->public.processInputProc(e->event, dev, e->nevents); } } |