http://bugs.winehq.org/show_bug.cgi?id=11727
Summary: Mouse button events generated by a window's app are not propagated to X server Product: Wine Version: 0.9.56. Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winex11.drv AssignedTo: wine-bugs@winehq.org ReportedBy: gideon.wine@gmail.com
Created an attachment (id=10969) --> (http://bugs.winehq.org/attachment.cgi?id=10969) Patch to send mouse button events to the X server
winex11.drv uses XWarpPointer to send mouse movements to the X server. Mouse button events are not sent. If a pointing device device communicates directly with a windows app running in wine, the user will be able to move the mouse pointer, but button presses will only work on windows controlled by wine.
The attached patch adds calls to send mouse button events generated by a windows application to the X server. The way this is done is similar to the way it is done in the Synergy client - by using XTestFakeButtonEvent (see http://synergy2.sourceforge.net/).
Requires libXtst.
This bug might also resolve bug 7032.
http://bugs.winehq.org/show_bug.cgi?id=11727
Gideon gideon.wine@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #10969|0 |1 is obsolete| |
--- Comment #1 from Gideon gideon.wine@gmail.com 2008-02-27 16:16:33 --- Created an attachment (id=11014) --> (http://bugs.winehq.org/attachment.cgi?id=11014) Patch to send mouse button events to the X server
Updated the patch with feedback from Lei Zhang.
http://bugs.winehq.org/show_bug.cgi?id=11727
--- Comment #2 from Dmitry Timoshkov dmitry@codeweavers.com 2008-02-28 08:48:32 --- What's the point of this patch? What application is it trying to fix? Wine uses XWarpPointer not "to send mouse movements to the X server" but to change the mouse cursor position.
http://bugs.winehq.org/show_bug.cgi?id=11727
--- Comment #3 from Gideon gideon.wine@gmail.com 2008-02-28 12:26:18 --- The problem is that currently mouse_event() button "clicks" only work inside wine.
I'm using a stylus type device that communicates directly with a window's app. The windows app uses mouse_event(). Without the patch, I can move the mouse pointer anywhere on the screen, but clicking or dragging only work inside wine. With the patch, clicking and dragging work also outside of wine (i.e. I can click native Linux items like desktop icons and menu items, or select text and graphics in native applications).
http://bugs.winehq.org/show_bug.cgi?id=11727
--- Comment #4 from Dmitry Timoshkov dmitry@codeweavers.com 2008-02-28 23:19:09 --- (In reply to comment #3)
The problem is that currently mouse_event() button "clicks" only work inside wine.
That's how it's supposed to work. mouse_event() is a user32 API and works *only* for Windows applications running under Wine.
Most likely this bug is invalid.
http://bugs.winehq.org/show_bug.cgi?id=11727
--- Comment #5 from Gideon gideon.wine@gmail.com 2008-03-11 11:55:38 --- (In reply to comment #4)
That's how it's supposed to work. mouse_event() is a user32 API and works *only* for Windows applications running under Wine.
This constraint seems arbitrary (given the simple solution) and limiting Wine's functionality and the ability to integrate Windows application with the environment. It is also inconsistent with they way mouse_event() currently works because the mouse pointer is allowed to move outside of Windows applications running under Wine.
There is at least one more request for this functionality (bug 7032).
What is the downside to allowing this functionality?
http://bugs.winehq.org/show_bug.cgi?id=11727
--- Comment #6 from Alexandre Julliard julliard@winehq.org 2008-03-11 12:10:32 --- The main downside is that you'll get duplicate events inside Wine windows, and that the duplicate won't have the correct "injected" flag.
http://bugs.winehq.org/show_bug.cgi?id=11727
--- Comment #7 from Gideon gideon.wine@gmail.com 2008-03-11 12:28:27 --- (In reply to comment #6)
The main downside is that you'll get duplicate events inside Wine windows, and that the duplicate won't have the correct "injected" flag.
That might be a problem with the implementation, but it doesn't seem like a reason to restrict the functionality. For what it's worth, my testing didn't find any perceptible issues with this patch.
http://bugs.winehq.org/show_bug.cgi?id=11727
--- Comment #8 from Alexandre Julliard julliard@winehq.org 2008-03-11 13:30:52 --- (In reply to comment #7)
That might be a problem with the implementation, but it doesn't seem like a reason to restrict the functionality. For what it's worth, my testing didn't find any perceptible issues with this patch.
Of course, there's no reason to restrict the functionality if you can find a way to make it work correctly. But I don't think XTest provides a way to distinguish injected events.
http://bugs.winehq.org/show_bug.cgi?id=11727
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |enhancement
--- Comment #9 from Vitaliy Margolen vitaliy@kievinfo.com 2008-05-11 14:08:50 --- There are lots of problems with this additional functionality. Besides having a duplicate events in Wine (which will break number of apps in unexpected ways) it does not send current mouse position, which again can be out of sync. So what your windows app thinks it should be at (X,Y) will actually be somewhere else. And if it happens to be outside Wine window - that means your app will loose focus, which is whole lots of other problems.
Remember that windows programs do not know they are running inside Wine. They have no business affecting apps outside Wine.
http://bugs.winehq.org/show_bug.cgi?id=11727
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
http://bugs.winehq.org/show_bug.cgi?id=11727
Aparup nebgor@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |nebgor@gmail.com
--- Comment #10 from Aparup nebgor@gmail.com 2009-02-07 00:22:24 --- (In reply to comment #9)
Remember that windows programs do not know they are running inside Wine. They have no business affecting apps outside Wine.
I understand there are problems. But does that steer the WINE project's goals?
Isn't the aim to coalesce the two environments so that all apps can work in the linux environment as they should?
Here is a quote from the winehq.org about page that I've understood as the project direction.
" Wine is a translation layer (a program loader) capable of running Windows applications on Linux and other POSIX compatible operating systems. Windows programs running in Wine act as native programs would, running without the performance or memory usage penalties of an emulator, with a similar look and feel to other applications on your desktop. "
Thanks Gideon, I'll be trying to test your patch soon.
http://bugs.winehq.org/show_bug.cgi?id=11727
--- Comment #11 from Dmitry Timoshkov dmitry@codeweavers.com 2009-02-08 00:19:19 --- (In reply to comment #10)
" Wine is a translation layer (a program loader) capable of running Windows applications on Linux and other POSIX compatible operating systems. Windows programs running in Wine act as native programs would,
<emphasize>
running without the performance or memory usage penalties of an emulator, with a similar look and feel to other applications on your desktop. "
</emphasize>
There ARE limitations and restrictions (besides look and feel) caused by an underlying system, X11 in this case.
http://bugs.winehq.org/show_bug.cgi?id=11727
--- Comment #12 from Austin English austinenglish@gmail.com 2009-08-13 12:37:27 --- Still present.
http://bugs.winehq.org/show_bug.cgi?id=11727
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bob.l.lewis@gmail.com
--- Comment #13 from Vitaliy Margolen vitaliy@kievinfo.com 2009-09-13 15:58:32 --- *** Bug 20024 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=11727
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Summary|Mouse button events |Mouse and keyboard button |generated by a window's app |events generated by a |are not propagated to X |window's app are not |server |propagated to X server Ever Confirmed|0 |1
--- Comment #14 from Vitaliy Margolen vitaliy@kievinfo.com 2009-09-13 16:01:07 --- Confirming.
http://bugs.winehq.org/show_bug.cgi?id=11727
--- Comment #15 from Robert Lewis bob.l.lewis@gmail.com 2009-09-13 21:15:25 --- Will this patch get propagated to the normal distribution? It would be really helpful for several of us. I would like to test this patch with Ubuntu and SUSE but so far I am to stupid to compile wine with this patch. Any help most appreciated.
http://bugs.winehq.org/show_bug.cgi?id=11727
--- Comment #16 from Austin English austinenglish@gmail.com 2009-09-13 22:10:52 --- (In reply to comment #15)
Will this patch get propagated to the normal distribution? It would be really helpful for several of us. I would like to test this patch with Ubuntu and SUSE but so far I am to stupid to compile wine with this patch. Any help most appreciated.
http://wiki.winehq.org/Patching
http://bugs.winehq.org/show_bug.cgi?id=11727
Gabriele Moabiti gabmoa@yahoo.it changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gabmoa@yahoo.it
http://bugs.winehq.org/show_bug.cgi?id=11727
--- Comment #17 from Gabriele Moabiti gabmoa@yahoo.it 2009-11-12 09:08:41 ---
if (flags & MOUSEEVENTF_LEFTDOWN) { key_state_table[VK_LBUTTON] |= 0xc0; queue_raw_mouse_message( ...injected_flags ); if (injected_flags & LLMHF_INJECTED) { X11DRV_SetFakeButtonEvent(Button1, TRUE); }
If the mouse cursor is on a wine windows this will bring to a two clicks. The patch should test it before!
I think the mouse and keyboard fake input is a nice addition, so I can use many tools seamless in wine like windows (macro recorder, vnc, etc...)
The fake input integration should be in the winecfg as choose (mouse and/or keyboard)
http://bugs.winehq.org/show_bug.cgi?id=11727
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |caliga@arcor.de
--- Comment #18 from Dmitry Timoshkov dmitry@codeweavers.com 2009-12-19 02:33:09 --- *** Bug 21057 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=11727
leniviy pleasenospam325@mail.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |pleasenospam325@mail.ru
--- Comment #19 from leniviy pleasenospam325@mail.ru 2010-01-16 07:59:01 --- I don't see why wine doesn't send mouseclicks directly to the app and not to X server only. Try this launcher: http://bugs.winehq.org/attachment.cgi?id=25625
it consists of 3 programs: * xemulate: a native linux program to emulate input via command line (thanks to "anyremote" project) * hooksendinput.dll: hooks the SendInput() API and invokes xemulate with some parameters * launchwithdll.exe: the launcher that finds hooksendinput.dll and then executes the given command line, then injects the dll to a new process.
http://bugs.winehq.org/show_bug.cgi?id=11727
Robert Lewis bob.l.lewis@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |salmiset@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=11727
--- Comment #20 from Robert Lewis bob.l.lewis@gmail.com 2010-02-23 12:35:16 --- This issue is an important one to many of us that are dependent on mouse and keyboard clicks making it through wine to the app. What hope do we have of seeing this functionality fixed?
http://bugs.winehq.org/show_bug.cgi?id=11727
dev.local@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dev.local@gmail.com
--- Comment #21 from dev.local@gmail.com 2010-06-11 16:26:54 --- I'm also having similar issue with mouse and keyboard button pressed. Is it possible that it would be fixed in any upcoming releases?
http://bugs.winehq.org/show_bug.cgi?id=11727
--- Comment #22 from Dmitry Timoshkov dmitry@codeweavers.com 2010-06-12 01:23:49 --- (In reply to comment #21)
Is it possible that it would be fixed in any upcoming releases?
No, unless somebody starts to work on this, and finds an acceptable solution.
http://bugs.winehq.org/show_bug.cgi?id=11727
--- Comment #23 from matti salmiset@gmail.com 2010-06-13 17:57:47 --- (In reply to comment #22)
(In reply to comment #21)
Is it possible that it would be fixed in any upcoming releases?
No, unless somebody starts to work on this, and finds an acceptable solution.
Dmitry, someone already has: TeamViewer, a commercial remote pc sharing application (from www.teamviewer.com) uses embedded Wine and the mouse/keyboard functionality works 100%. It might be interesting to talk to them about it.
May I change the question then to "Any chance of anyone starting to work on this in foreseeable future?" This has been in the books for almost two and a half years and there used tp be a solution that worked, unfortunately only for exactly one release of Wine.
Admittedly I have no clue what constitutes "an acceptable solution".
Someone already has resolved the issue. TeamViewer, a commercial remote pc sharing application (from www.teamviewer.com) uses embedded Wine and the mouse/keyboard functionality works 100%. It might be interesting to talk to them about it, if you wish.
http://bugs.winehq.org/show_bug.cgi?id=11727
--- Comment #24 from Dmitry Timoshkov dmitry@codeweavers.com 2010-06-14 00:13:09 --- (In reply to comment #23)
Dmitry, someone already has: TeamViewer, a commercial remote pc sharing application (from www.teamviewer.com) uses embedded Wine and the mouse/keyboard functionality works 100%. It might be interesting to talk to them about it.
Feel free to contact them and ask about their solution, or at least ask them to publish their Wine source, and try to figure out what they have changed.
May I change the question then to "Any chance of anyone starting to work on this in foreseeable future?" This has been in the books for almost two and a half years and there used tp be a solution that worked, unfortunately only for exactly one release of Wine.
"Anyone" might be "you" as well. Wine is an open source project, being worked on by volunteers.
http://bugs.winehq.org/show_bug.cgi?id=11727
Ilya Basin basinilya@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |basinilya@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=11727
--- Comment #25 from Austin English austinenglish@gmail.com 2011-10-17 20:07:25 CDT --- (In reply to comment #23)
Someone already has resolved the issue. TeamViewer, a commercial remote pc sharing application (from www.teamviewer.com) uses embedded Wine and the mouse/keyboard functionality works 100%. It might be interesting to talk to them about it, if you wish.
From their license_foss.txt:
The Wine project is licensed under LGPL (GNU Lesser General Public License), see http://www.winehq.org/license . The source code of the Wine project can be obtained at http://www.winehq.com .
This package includes Wine Version 1.1.41. We have made no changes to the Wine source tree.
http://bugs.winehq.org/show_bug.cgi?id=11727
--- Comment #26 from Austin English austinenglish@gmail.com 2013-11-13 16:49:00 CST --- This is your friendly reminder that there has been no bug activity for 2 years. Is this still an issue in current (1.7.6 or newer) wine? If so, please attach the terminal output in 1.7.6 (see http://wiki.winehq.org/FAQ#get_log).
https://bugs.winehq.org/show_bug.cgi?id=11727
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |ABANDONED
--- Comment #27 from Austin English austinenglish@gmail.com --- Abandoned.
https://bugs.winehq.org/show_bug.cgi?id=11727
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #28 from Austin English austinenglish@gmail.com --- Closing.