https://bugs.winehq.org/show_bug.cgi?id=48462
--- Comment #6 from RĂ©mi Bernon rbernon@codeweavers.com ---
And it's not possible to have a better synchro between the windows state and the x11 state ?
It's possible to force the Windows state to match the X11 but in this case Wine may not behave as close to Windows anymore, and that could cause some other issues.
FWIW, in wayland, you cannot get events for the root window anymore (only the really focused wayland window gets events) -- that looks much saner to me.
It depends what you want to do. Wine being an implementation of the whole system, I think it cannot work perfectly with only the knowledge of a few windows in the middle of an unknown environment.
That is a good point, I might get better input with that for my other problems too, I'll give it a spin. But I don't think it's enough to just fix virtual desktop, you will probably have many other games behaving the same way I think?
I haven't seen many games trying to forcefully get focus by calling SetForegroundWindow on their window, but possibly there are others. Also the keyboard patch which is causing the problem is the least tested patch of the series, for the reason you describe below.
Now while that might be very true for games like EQ (during heavy lag period I can easily have something like 10s delay between what I finished typing and the moment it's done processing), I don't think it was the case when I had problems with what I typed in firefox being sent to the game as well. In the occurrences I had the game was idle in a relatively lag-free safe area so there shouldn't have been even a second of lag there, and text I was typing minutes after switching workspace was still sent.
Sure I was only mentioning that because I encountered the problem while trying to write a fix: subscribing to the events on FocusIn and unsubscribing on FocusOut may not be enough because the FocusOut event may be processed late.
But anyway, I still don't find natural that games have to process root window key events. Call me paranoid but I don't particularily trust windows programs I haven't seen the source of, so the less it can see of what I don't type with it explicitely focused the better (think keyloggers or similar)
This is a perfectly valid concern although one could argue that keylogguers are genuine Windows application. It's also the reason why the keyboard patch is kept separate -and maybe should be disabled by default.