https://bugs.winehq.org/show_bug.cgi?id=43102
Kimmo Myllyvirta kimmo.myllyvirta@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kimmo.myllyvirta@gmail.com
--- Comment #4 from Kimmo Myllyvirta kimmo.myllyvirta@gmail.com --- Created attachment 58475 --> https://bugs.winehq.org/attachment.cgi?id=58475 keyboard hack
The game adds low-level keyboard hook for handling the alt-enter (switch between fullscreen/windowed) and home (open Social Club). dinput adds its own hook after that. When in-game, the dinput receives the key events first, it works ok, but calls to next hook causes what looks like a deadlock. It breaks out of it after the 2-second ll hook timeout. There are multiple threads involved in this dance (at least 4).
I don't know why this happens yet, but here's a hack for it. This is not a bug in dinput, same happens also with native dinput8. The patch passes L-Alt and Return to the next hook in order to workaround bug 42330. These keys are unusable in-game, remap the keys from the settings. L-Alt is "Character Select" and return/enter is "Phone Select" by default.