http://bugs.winehq.org/show_bug.cgi?id=34919
Bug #: 34919 Summary: Quake Live standalone can't grab input correctly Product: Wine Version: 1.7.6 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: winehq@lam.pl Classification: Unclassified
Quake Live is moving out of the browser and becoming a standalone Windows executable, dropping support for Linux and Mac OS X.
When testing the product preview in Wine, I have big issues related to the Alt key.
1. After pressing "Join Game", the game grabs input like I want it.
Both Google and #winehq@freenode immediately suggest that window manager can grab alt-mouse click, hence I feel it's necessary to confirm:
I can press Alt and click mouse and all works as intended (aka I can shoot and turn around while shooting, even with the Alt key pressed). There is no problem with mouse grab or window manager at this point.
2. After pressing a combination of Alt+Space, a Wine window menu appears, even though Wine is WM-managed and even though the same combo has no "system" effect on Windows (the key combo can be bound by game on Windows).
The game is completely stopped until I click mouse. Pressing Alt or Esc to close the menu doesn't "unpause" game process.
3. After pressing Alt+any letter, mouse buttons (including mouse wheel scrolling) stop working.
Keyboard works and moving mouse around still works, but mouse buttons are dead. To get back from this state, I need to open and close menu (Esc-Esc) or console (tilde-tilde).
If I'm in window mode, there's a very short time window (like 50 ms?) when the mouse is un-grabbed and clicking the mouse in combination with alt+letter actually is captured by the WM (to start moving window). But that's only a side-effect of mouse un-grabbing. Again: to break mouse input, all I need is to press alt+any letter, which for sure isn't captured by anything else but Wine itself.
4. When I've tried Wine with non-WM-managed windows, there were more negative effects, including complete game hang on pressing Alt alone (and resuming with another Alt hit). So I went back to managed window.
5. I have thought about working around this by doing xmodmap -e "keycode 64 = something else" but this has other unintended consequences and is system-wide.
I have tested it in Wine 1.6, 1.7.5 and 1.7.6 (I've built it with Fedora's spec, including PulseAudio patch which works nicely and surely isn't related to this problem).
TL;DR: Alt+any letter forcibly breaks game's input grab which can only be regained by making the game release and re-grab input.
As an interim solution, is there a way to make Wine completely deaf to Alt combos?
http://bugs.winehq.org/show_bug.cgi?id=34919
--- Comment #1 from Lam winehq@lam.pl 2013-11-20 03:33:03 CST --- Well, after grepping for ALT in source tree, I found a work-around that at least removed the grab releasing problem.
In dlls/winex11.drv/window.c I've removed the lines:
case SC_KEYMENU: /* prevent a simple ALT press+release from activating the system menu, * as that can get confusing on managed windows */ - if ((WCHAR)lparam) goto failed; /* got an explicit char */ - if (GetMenu( hwnd )) goto failed; /* window has a real menu */ - if (!(GetWindowLongW( hwnd, GWL_STYLE ) & WS_SYSMENU)) goto failed; /* no system menu */
I have absolutely no idea what I've done, but returning 0 instead of -1 to this signal (or whatever this is called) stops Wine from reacting to Alt combos with no apparent side effects (I mean, my Wine still can't play the game properly, but other symptoms aren't worse after this).
I'd really appreciate someone smarter than me explaining where this is initiated to stop raising this condition at all when the mouse is grabbed. Right now I feel I've hacked the symptom out, but somewhere there's a cause.
http://bugs.winehq.org/show_bug.cgi?id=34919
Alex Balut alexandru.balut@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |alexandru.balut@gmail.com
--- Comment #2 from Alex Balut alexandru.balut@gmail.com --- I tried Alt+Space in a local game but nothing happens.
wine-1.7.8
https://bugs.winehq.org/show_bug.cgi?id=34919
--- Comment #3 from Austin English austinenglish@gmail.com --- This is your friendly reminder that there has been no bug activity for over a year. Is this still an issue in current (1.7.37 or newer) wine? If so, please attach the terminal output in 1.7.37 (see http://wiki.winehq.org/FAQ#get_log).
https://bugs.winehq.org/show_bug.cgi?id=34919
super_man@post.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |super_man@post.com
https://bugs.winehq.org/show_bug.cgi?id=34919
Lam winehq@lam.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |ABANDONED
--- Comment #4 from Lam winehq@lam.pl --- No more QL standalone, RIP
https://bugs.winehq.org/show_bug.cgi?id=34919
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from Austin English austinenglish@gmail.com --- Closing.