Comment 15 for bug 315456

Revision history for this message
In , Peter Hutterer (peter-hutterer) wrote :

There's a big FIXME in ProcessOtherEvent in Xi/exevents.c in the server
which is where one part of it goes. The other FIXME is I think in
DeliverEventsToWindow (or somewhere else in dix/events.c).

Event delivery model has changed _a lot_ since 1.5, but there's no
exhaustive documentation yet. The basics are in dix/getevents.c, where
GetPointerEvents() and friends create the internal events, then these are
added to the event queue. mieqProcessInputEvents() in mi/mieq.c takes them
out again and sends the event once through the slave device, once through
the master device (if applicable). That's where it hits (after XKB)
ProcessOtherEvent() and from then on into the event delivery paths.