DGA input events dropped

Thomas J. Moore dark at mama.indstate.edu
Fri Sep 5 15:02:19 CDT 2003


For a very long time now, enabling DGA causes mouse/keyboard events to be
ignored.  There have been a few threads on this issue in the past, and it
seems nobody is willing to actually fix this problem (even though some have
submitted patches to fix it, nothing has ever made it into CVS).  Why is 
this?  Overall, the problem seems to be related to the use of separate 
per-thread X display handles, along with a global (separate) "GDI" display.  
At first I tried just making the first thread's display the "global" display, 
but since that didn't work, and I don't have the patience to figure out why 
this dichotomy exists, here's a simple patch which at least works for a few 
games I tried (but still has mouse problems with a few other games I've tried 
- there was a mouse fix on an earlier thread(1) on this subject, but it 
doesn't work -- perhaps it has something to do with the fact that DGA only 
returns relative mouse movement, and non-DGA returns absolute movement).  On 
the other hand, you could just at least make your default behavior and sample 
config not enable DGA.

Note that this patch is against wine-20030813, but I did check CVS first and
it still applies.  Also, I wasn't sure about the wine-patches message policy,
so I'm just sending this to wine-devel.

(1) http://www.winehq.com/hypermail/wine-devel/2002/06/0427.html

----------------------------------------------------------------------------
     Thomas J. Moore, Hacker/SysAdmin | TV & video games have destroyed my 
mind
     inet:  dark at mama.indstate.edu    | unix ada asm c/c++ mcu ee amiga tired

----------------------------------------------------------------------------

-------------- next part --------------
A non-text attachment was scrubbed...
Name: event.diff
Type: text/x-patch
Size: 1496 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20030905/1e9504c1/event.bin


More information about the wine-devel mailing list