https://bugs.winehq.org/show_bug.cgi?id=38314
Bug ID: 38314 Summary: Mouse Wheel doesn’t work for JA2 1.13 (it uses MOUSEHOOKSTRUCTEX) Product: Wine Version: 1.7.39 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: notifications+bugs.winehq.org@m0a.de Distribution: ---
The mouse wheel does not work at all in JA2 1.13 and by looking at the source code I think it may be one of several reasons:
1) MOUSEHOOKSTRUCTEX is not properly supported in wine 2) The wheel distance in mouseData does not equal WHEEL_DELTA (if it’s not exactly WHEEL_DELTA then this code will just drop the event) 3) There is a "bug" in the JA2 1.13 code, which actually works in Windows 3a) If I look at the code I see a comparison with WHEEL_DELTA, this will fail if the LOWORD of mouseData is not zero. Seems like on windows it’s always zero? Maybe in wine it’s not zero? Source: https://msdn.microsoft.com/en-us/library/windows/desktop/ms644969%28v=vs.85%...
The code:
LRESULT CALLBACK MouseHandler(int Code, WPARAM wParam, LPARAM lParam) { [...] p_mhs = (MOUSEHOOKSTRUCTEX*)lParam; [...] if(p_mhs->mouseData==(WHEEL_DELTA<<16)) //up MessageBeep(-1); QueueEvent(MOUSE_WHEEL_UP, 0, uiParam); if(p_mhs->mouseData==(-WHEEL_DELTA<<16)) //dn MessageBeep(0x00000040L); QueueEvent(MOUSE_WHEEL_DOWN, 0, uiParam);
https://bugs.winehq.org/show_bug.cgi?id=38314
Kira notifications+bugs.winehq.org@m0a.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |notifications+bugs.winehq.o | |rg@m0a.de
https://bugs.winehq.org/show_bug.cgi?id=38314
--- Comment #1 from Kira notifications+bugs.winehq.org@m0a.de --- Additional Info: Tested in openSUSE 13.2 with default KDE and wine 1.7.39
https://bugs.winehq.org/show_bug.cgi?id=38314
--- Comment #2 from Kira notifications+bugs.winehq.org@m0a.de --- Someone else reported (unverified) that their mouse wheel works fine in Xubuntu 14.10.
So it may also be a KDE-specific bug? Will post further findings here (if I have any)
https://bugs.winehq.org/show_bug.cgi?id=38314
Kira notifications+bugs.winehq.org@m0a.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|1.7.39 |1.7.40
https://bugs.winehq.org/show_bug.cgi?id=38314
Kira notifications+bugs.winehq.org@m0a.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Hardware|x86 |x86-64
https://bugs.winehq.org/show_bug.cgi?id=38314
--- Comment #3 from Kira notifications+bugs.winehq.org@m0a.de --- I tried it again with an older wine version (1.6.2), also happens there.
Tried it on a notebook with openSUSE 13.1, also happens there.
And I started my openSUSE 13.2 into KDM with iceWM and again into XDM, also happens in those two instances.
So if it’s true that it worked for the one reporting user in Xubuntu 14.10 (wine 1.6.2) then I can only think of two reasons: different hardware (mouse driver?) or different behaviour in Xfce/LightDM
https://bugs.winehq.org/show_bug.cgi?id=38314
Kira notifications+bugs.winehq.org@m0a.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Mouse Wheel doesn’t work |Mouse Wheel doesn't work |for JA2 1.13 (it uses |for JA2 1.13 (it uses |MOUSEHOOKSTRUCTEX) |MOUSEHOOKSTRUCTEX)
https://bugs.winehq.org/show_bug.cgi?id=38314
Kira notifications+bugs.winehq.org@m0a.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|1.7.40 |1.7.45
--- Comment #4 from Kira notifications+bugs.winehq.org@m0a.de --- Tested again with 1.7.45 and 1.6.2 and also with those versions in Kubuntu 14.04 (KDE4) and Kubuntu 15.04 (KDE5, plasma). In all those instances the bug still occurs.
https://bugs.winehq.org/show_bug.cgi?id=38314
Kira notifications+bugs.winehq.org@m0a.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Mouse Wheel doesn't work |Mouse Wheel doesn't work |for JA2 1.13 (it uses |for Jagged Alliance 1.13 |MOUSEHOOKSTRUCTEX) |(it uses MOUSEHOOKSTRUCTEX)
https://bugs.winehq.org/show_bug.cgi?id=38314
Kira notifications+bugs.winehq.org@m0a.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Mouse Wheel doesn't work |Mouse Wheel doesn't work |for Jagged Alliance 1.13 |for Jagged Alliance 2 |(it uses MOUSEHOOKSTRUCTEX) |version 1.13 (it uses | |MOUSEHOOKSTRUCTEX)
https://bugs.winehq.org/show_bug.cgi?id=38314
Kira notifications+bugs.winehq.org@m0a.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|1.7.45 |1.7.55
--- Comment #5 from Kira notifications+bugs.winehq.org@m0a.de --- Still not fixed in 1.7.55
https://bugs.winehq.org/show_bug.cgi?id=38314
Kira notifications+bugs.winehq.org@m0a.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|1.7.55 |1.8-rc2
https://bugs.winehq.org/show_bug.cgi?id=38314
--- Comment #6 from Kira notifications+bugs.winehq.org@m0a.de --- Bug still exists in 1.8-rc2
https://bugs.winehq.org/show_bug.cgi?id=38314
--- Comment #7 from Kira notifications+bugs.winehq.org@m0a.de --- Bug still exists in wine 1.8 and openSUSE 42.1
https://bugs.winehq.org/show_bug.cgi?id=38314
--- Comment #8 from Kira notifications+bugs.winehq.org@m0a.de --- The reason was: MOUSEHOOKSTRUCTEX was not implemented at all in wine. Submitted a patch to fix it: https://source.winehq.org/patches/data/117344
https://bugs.winehq.org/show_bug.cgi?id=38314
super_man@post.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |super_man@post.com
https://bugs.winehq.org/show_bug.cgi?id=38314
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |STAGED CC| |erich.e.hoover@wine-staging | |.com, michael@fds-team.de, | |sebastian@fds-team.de Ever confirmed|0 |1 Staged patchset| |https://github.com/wine-com | |pholio/wine-staging/tree/ma | |ster/patches/user32-MOUSEHO | |OKSTRUCTEX
https://bugs.winehq.org/show_bug.cgi?id=38314
--- Comment #9 from Kira notifications+bugs.winehq.org@m0a.de --- Probably final version of the patch (made the struct compatible with Win10 headers) https://source.winehq.org/patches/data/117669
https://bugs.winehq.org/show_bug.cgi?id=38314
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |94aee7a738751194969b5cf7f05 | |5c4f3727fbf1e Status|STAGED |RESOLVED Component|-unknown |user32 Resolution|--- |FIXED
--- Comment #10 from Nikolay Sivov bunglehead@gmail.com --- Fixed with 94aee7a738751194969b5cf7f055c4f3727fbf1e.
https://bugs.winehq.org/show_bug.cgi?id=38314
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mstefani@redhat.com Target Milestone|--- |1.8.x
https://bugs.winehq.org/show_bug.cgi?id=38314
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #11 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.9.4.
https://bugs.winehq.org/show_bug.cgi?id=38314
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|1.8.x |---
--- Comment #12 from Michael Stefaniuc mstefani@redhat.com --- Removing 1.8.x milestone from bugs included in 1.8.2.