Skip to content

Remove generation of core events, long live XI! #347

@sunweaver

Description

@sunweaver

Investigate portability of this X.org Xserver commit:


commit a511c445debbd13e8c48146ecd2d7c97e793f788
Author: Peter Hutterer <[email protected]>
Date:   Fri Sep 28 18:46:41 2007 +0930

    Remove generation of core events, long live XI!
    
    Let the drivers only generate XI events and put those into the event queue.
    When processing events, generate core events as needed. This fixes a number of
    problems with XKB and the DIX in general.
    
    The previous approach was to put core events and XI events as separate events
    into the event queue. When being processed, the server had no knowledge of
    them coming from the same device state change. Anything that would then change
    the state of the device accordingly was in danger of changing it twice,
    leading to some funny (i.e. not funny at all) results.
    
    Emulating core events while processing XI events fixes this, there is only one
    path that actually changes the device state now. Although we have to be
    careful when replaying events from synced devices, otherwise we may lose
    events.
    
    Note: XI has precedence over core for passive grabs, but core events are
    delivered to the client first.
    
    This removes the wrapping added in 340911d7243a7f1095d79b5b2dcfa81b145c2474

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions