Thank you for looking into this, would the solution to this problem be to preserve the event from the slave pointer in merge_raw_events?
On Mon, Jul 22, 2019 at 10:06 AM Rémi Bernon rbernon@codeweavers.com wrote:
It looks like that if the cursor isn't clipped by the application (or by wine in fullscreen), then both master and slave XI2 device events are received (on the contrary, when the cursor is clipped then for some unclear reason only the slave device events are received).
In this case, one of the events is then discarded by merge_raw_motion_events in dlls/winex11.drv/event.c and as X11DRV_RawMotion is designed to track only slave devices (one per thread with the xi2_current_slave field AFAICS?), depending on which comes first, the event might not be processed and no raw input be sent. -- Rémi Bernon rbernon@codeweavers.com