[Bug 31899] New: No keyboard input in La-Mulana remake
http://bugs.winehq.org/show_bug.cgi?id=31899 Bug #: 31899 Summary: No keyboard input in La-Mulana remake Product: Wine Version: 1.5.14 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs(a)winehq.org ReportedBy: twwinwood(a)gmail.com Classification: Unclassified Created attachment 41993 --> http://bugs.winehq.org/attachment.cgi?id=41993 Output of "env WINEDEBUG=-all,+keyboard,+key,+dinput,+message wine LaMulanaWin.exe" Per the AppDB entry for version 1.1.1.1, the game works as far as the menu screen but cannot be played due to the lack of response to keyboard input. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=31899 Thomas Winwood <twwinwood(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |twwinwood(a)gmail.com -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=31899 Tim <timothy.m.hagberg(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |timothy.m.hagberg(a)gmail.com --- Comment #1 from Tim <timothy.m.hagberg(a)gmail.com> 2012-10-08 05:13:21 CDT --- The same issue is happening for me. I want to add that while no keyboard input seems to be recognized, the directional pad buttons on my Logitech F310 gamepad are recognized, but no other buttons. Thus I'm able to navigate the main menu but cannot make any selections. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=31899 ssss2 <zolbster(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |zolbster(a)gmail.com -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=31899 Spummy <mrmcspummbucket(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mrmcspummbucket(a)gmail.com -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=31899 --- Comment #2 from Spummy <mrmcspummbucket(a)gmail.com> 2012-10-16 17:00:48 CDT --- Even though I already said my description for my AppDB report, I might as well comment here saying I also get this bug. And just like Tim, I also can am capable of using a gamepad to scroll the main menu, but apparently the game doesn't set any other gamepad buttons by default, and you can only do so from within the options menu (which can't be selected). -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=31899 Stephan Sokolow <from_wine_bugzilla(a)ssokolow.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |from_wine_bugzilla(a)ssokolow | |.com -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=31899 Lucas Fialho Zawacki <lfzawacki(a)yahoo.com.br> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |lfzawacki(a)yahoo.com.br -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=31899 --- Comment #3 from Bruno Jesus <00cpxxx(a)gmail.com> --- Is this still na issue in wine 1.7.34 or later? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=31899 --- Comment #4 from Stephan Sokolow <from_wine_bugzilla(a)ssokolow.com> --- (In reply to Bruno Jesus from comment #3)
Is this still na issue in wine 1.7.34 or later?
Yes. I'm on 1.7.34 via the Ubuntu PPA and it's still ignoring keyboard input. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=31899 Sebastian Lackner <sebastian(a)fds-team.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |sebastian(a)fds-team.de -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=31899 --- Comment #5 from Sebastian Lackner <sebastian(a)fds-team.de> --- Is the problem still present with the latest wine version 1.7.37? I am currently taking a look at various bug reports related to keyboard input issues. If the problem still exists, please attach a log with: WINEDEBUG=+keyboard,+key,+dinput,+message,+win,+tid wine LaMulanaWin.exe -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=31899 --- Comment #6 from Stephan Sokolow <from_wine_bugzilla(a)ssokolow.com> --- I haven't received 1.7.37 through the PPA yet and I'm a bit short on time. Would a log from 1.7.34 do or should I wait? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=31899 --- Comment #7 from Sebastian Lackner <sebastian(a)fds-team.de> --- (In reply to Stephan Sokolow from comment #6)
I haven't received 1.7.37 through the PPA yet and I'm a bit short on time.
Would a log from 1.7.34 do or should I wait?
A log using 1.7.34 should probably also be fine, and definitely better than the initial log from 2012. ;) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=31899 --- Comment #8 from Stephan Sokolow <from_wine_bugzilla(a)ssokolow.com> --- Created attachment 50938 --> https://bugs.winehq.org/attachment.cgi?id=50938 WINEDEBUG=+keyboard,+key,+dinput,+message,+win,+tid wine LaMulanaWin.exe in pristine Wine 1.7.34 prefix Sorry for taking so long. GOG.com sprung their Double Insomnia Promo on me and it's been a mess jugging that and existing obligations with the need to dig up my La-Mulana installer and put together a clean wineprefix with just enough winetricks to make the game run under 1.7.34 rather than the one I set up back in the mists of antiquity. Here's how I generated the attached log: cd ~ lgogdownloader --download --game '^la_mulana$' mv .wine .wine.old winecfg # (Remove all drives but C: and disable Desktop Integration so La Mulana won't put a NIGORO folder in my homedir) cp -r la_mulana .wine/drive_c/ cd .wine/drive_c/ wine la_mulana/setup_la-mulana_2.0.0.7.exe wine la_mulana/patches/patch_la-mulana_2.0.2.9.exe cd GOG\ Games/La-Mulana WINEDEBUG=+keyboard,+key,+dinput,+message,+win,+tid wine LaMulanaWin.exe 2>&1 | tee LaMulanaWin.xact.log # Wait through the logo and the intro until the title screen menu appears, confirm it's non-responsive, and then click the window manager close button -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=31899 --- Comment #9 from Stephan Sokolow <from_wine_bugzilla(a)ssokolow.com> --- Created attachment 50939 --> https://bugs.winehq.org/attachment.cgi?id=50939 WINEDEBUG=+keyboard,+key,+dinput,+message,+win,+tid wine LaMulanaWin.exe in Wine 1.7.34 prefix with xact_jun2010 installed # Start with the prefix left over from generating the previous log winetricks xact_jun2010 # Without this, La-Mulana is silent WINEDEBUG=+keyboard,+key,+dinput,+message,+win,+tid wine LaMulanaWin.exe 2>&1 | tee LaMulanaWin.xact.log # Wait through the logo (intro is auto-skipped after the first time) until the title screen menu appears, confirm non-responsiveness (and that PulseAudio causes audio to stutter when bare ALSA didn't), close window -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=31899 --- Comment #10 from Stephan Sokolow <from_wine_bugzilla(a)ssokolow.com> --- Oh, and I just realized that I forgot to correct the typo in that first set of instructions. (I was sloppy when logging what I did) "tee LaMulanaWin.log", not "tee LaMulanaWin.xact.log" -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=31899 --- Comment #11 from Sebastian Lackner <sebastian(a)fds-team.de> --- The logs unfortunately didn't help much, but I decided to buy the game for debugging purposes. Issue is still present with 1.7.38 and is actually similar to bug 27238 (but most likely not identical). The following hack is sufficient to fix the issue and to get into the game. I also played a little bit, and everything seemed to work well. diff --git a/dlls/user32/input.c b/dlls/user32/input.c index 1f05f34..03d0a90 100644 --- a/dlls/user32/input.c +++ b/dlls/user32/input.c @@ -750,7 +750,7 @@ SHORT WINAPI DECLSPEC_HOTPATCH GetKeyState(INT vkey) SERVER_START_REQ( get_key_state ) { - req->tid = GetCurrentThreadId(); + req->tid = 0; // GetCurrentThreadId(); req->key = vkey; if (!wine_server_call( req )) retval = (signed char)reply->state; } Will investigate this issue a bit further and hopefully come up with a better patch. ;) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=31899 Sebastian Lackner <sebastian(a)fds-team.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |wineserver Depends on| |27238 Summary|No keyboard input in |No keyboard input in |La-Mulana remake |La-Mulana remake | |(GetKeyState should behave | |similar to GetAsyncKeyState | |for specific window | |messages / queue states) --- Comment #12 from Sebastian Lackner <sebastian(a)fds-team.de> --- As already suspected this issue is really very similar to bug 27238. I prefer to keep the separate anyway because they can probably be fixed independently. The problem is that the GetKeyState(...) implementation of Wine is completely wrong (well, and the MSDN description also). Some testing on Windows 7 turns out that it is not true, that the returned key state is a saved state when the message was originally added. This is only true for specific keyboard-related window messages, but for the rest GetKeyState behaves identical to GetAsyncKeyState, and even recognizes keyboard events typed in into other applications. We'll have to write some additional tests to figure out more exactly how Windows decides what to use. The reason why the fix for bug 27238 doesn't work in this case: An OLE apartment is initialized on the same thread, and this implicitly creates a window, so the thread has already a message queue. Nevertheless, even when explicitly creating a window it still works on Windows, so the Wine bug must be in GetKeyState itself. Component is most likely the server (in combination with user32). -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=31899 --- Comment #13 from Ken Thomases <ken(a)codeweavers.com> --- This is also related to bug 35907, in that the synchronous key state reflected by GetKeyState() changes spontaneously across all processes and threads, whether or not they get the corresponding WM_KEYDOWN. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=31899 --- Comment #14 from Sebastian Lackner <sebastian(a)fds-team.de> --- A fix was added to Wine-Staging: https://github.com/wine-compholio/wine-staging/tree/master/patches/server-Ke... I ran a lot of manual tests with various self-written test applications and games, and came to the conclusion that my theory is right. Windows internally uses a locking mechanism of the thread input keystate, and under specific circumstances synchronizes it with the global keystate. Some things in the patch might look weird (for example that GetKeyboardState() does _NOT_ synchronize the keystate), but this matches very exactly what Windows does. Will try to clean up the tests during the next time, and integrate them somehow in the wine test suite. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=31899 Sebastian Lackner <sebastian(a)fds-team.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=31899 Bug 31899 depends on bug 27238, which changed state. Bug 27238 Summary: Tesla: The Weather Man demo: movement keys not working (GetKeyState should fallback to GetAsyncKeyState for threads without message queue) https://bugs.winehq.org/show_bug.cgi?id=27238 What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=31899 Michael Müller <michael(a)fds-team.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |STAGED CC| |michael(a)fds-team.de Ever confirmed|0 |1 Staged patchset| |https://github.com/wine-com | |pholio/wine-staging/tree/ma | |ster/patches/server-Key_Sta | |te -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=31899 André H. <nerv(a)dawncrow.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |nerv(a)dawncrow.de Staged patchset|https://github.com/wine-com |https://github.com/wine-sta |pholio/wine-staging/tree/ma |ging/wine-staging/tree/mast |ster/patches/server-Key_Sta |er/patches/server-Key_State |te | -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=31899 Julian Rüger <jr98(a)gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jr98(a)gmx.net -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (2)
-
wine-bugs@winehq.org -
WineHQ Bugzilla