Commit Graph

214 Commits

Author SHA1 Message Date
Huw Davies 434871fd1b server: Remove unnecessary 'remove' parameter from accept_hardware_message request.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-07 19:24:27 +02:00
Rémi Bernon 3a9edf9aad user32: Implement GetRawInputBuffer.
CoD: WWII uses it to read mouse motion instead of listening to WM_INPUT
messages.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 21:07:37 +02:00
Rémi Bernon 27a52d0414 server: Implement RegisterRawInputDevices RIDEV_INPUTSINK flag.
This flag allows applications to receive rawinput messages while in
background. They have to specify a target hwnd, which will receive them,
and the messages will carry a RIM_INPUTSINK wparam if the process wasn't
foreground.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-25 23:08:30 +02:00
Rémi Bernon 8cf7fe3b7c server: Implement RegisterRawInputDevices RIDEV_NOLEGACY flag.
This makes legacy mouse window messages such as WM_MOUSEMOVE and others,
to stop being sent, including to low-level hooks. The desktop mouse
state should still be udpated.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-25 23:08:30 +02:00
Rémi Bernon 4d844b449e server: Pass msg and wparam to update_input_key_state helper.
So that we can update individual states in next patch.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-25 23:08:30 +02:00
Rémi Bernon b48887bb01 server: Split cursor position update to update_desktop_cursor_pos.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-25 23:08:30 +02:00
Rémi Bernon 57124b9905 server: Implement rawinput inter-process message dispatch.
This delivers the rawinput messages to the correct process, regardless
of where the input was received.

As for now RIDEV_INPUTSINK is still not implemented, this only fixes
the case where input is injected in a background process and where it
should not receive rawinput -as in the test- or when cursor moves over
a background window and the foreground process should have received
rawinput messages.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-25 23:08:30 +02:00
Piotr Caban af89b53cef server: Use monotonic clock for SetTimer timeouts.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-09 21:04:04 +02:00
Zebediah Figura f5f633e712 server: Validate the filter window handle in get_message.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-18 21:55:16 +02:00
Nikolay Sivov a476ae1991 server: Use KEYEVENTF_UNICODE mode only when virtual key code was not specified.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-01 14:41:39 +02:00
Jacek Caban b2a546c92d server: Introduce kernel_object struct for generic association between server and kernel objects.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 13:55:15 +01:00
Sebastian Lackner 5ff6a11697 server: Improve handling of cursor position clipping for empty rectangle.
Based on a patch by Kevin Buhr.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=38791
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=42631
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-18 16:04:03 +01:00
Andre Heider 27ff04e2ab server: Fix keyboard hardware message regression.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-12 10:28:09 +01:00
Alexandre Julliard 4da1c4370b user32: Implement GetCurrentInputMessageSource().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-05 19:12:12 +01:00
Alexandre Julliard 383cf211da server: Add a helper function to allocate a hardware message.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-05 19:12:12 +01:00
Michael Stefaniuc 9e365e4ecc server: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-23 13:56:55 +02:00
Alexandre Julliard 70dd64cf97 server: Add a helper function to validate a window handle.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-30 18:08:36 +09:00
Alexandre Julliard c6f12bd9cc server: Notify all listeners when the contents of the clipboard have changed.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-30 16:33:04 +09:00
Alexandre Julliard f55db7882d server: Add link_name and unlink_name object operations.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-04 21:07:19 +09:00
Piotr Caban cefdbd59b7 server: Avoid infinite loop when we're out of timers in set_win_timer server call.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-26 23:26:59 +09:00
Anton Baskanov 9220556560 user32: Correctly update caret state in the server in SetCaretPos.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-25 18:27:31 +09:00
Qian Hong 499f0454c9 server: Remove out of date comment.
Signed-off-by: Qian Hong <qhong@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-20 22:19:28 +09:00
Sebastian Lackner 55c4a108d7 server: Only send WM_WINE_CLIPCURSOR for forced clip resets.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-12 22:17:02 +09:00
Sebastian Lackner 8723d3455e server: Add fallback to desktop keystate in get_key_state wineserver call. 2015-07-10 15:07:45 +09:00
Sebastian Lackner 4439cd433d server: attach_thread_input shouldn't create queues for foreign threads. 2015-05-18 19:59:28 +09:00
Aric Stewart 3599f956e2 server: Fixup input windows on thread_detach. 2015-05-06 20:54:55 +09:00
Alexandre Julliard 247275aec3 server: Return a valid position also in posted messages. 2015-04-27 18:04:59 +09:00
Aric Stewart bed7e69a14 server: Do not replace focus and active windows with NULL on thread_attach_input. 2015-04-23 17:48:33 +09:00
Dmitry Timoshkov c0e876cb9e server: GetQueueStatus should clear only checked queue changed bits. 2015-04-21 17:32:53 +09:00
Piotr Caban 03f645a76b server: Filter WM_QUIT message in PeekMessage call if PM_QS_POSTMESSAGE was not specified. 2015-02-09 17:40:40 +09:00
Piotr Caban f747e5c8c9 user32: Don't move mouse hardware messages to other threads queues. 2014-10-17 17:51:55 +09:00
Piotr Caban 3f1bbdcae3 server: Send mouse hardware messages to thread owning top-most window.
Also don't limit mouse message scope to top-most window when message
comes from SendInput or window that generated the event is
minimized/transparent.
2014-10-17 17:51:52 +09:00
Felix Janda e3faab267c server: Add missing includes of poll.h. 2014-06-12 18:05:08 +02:00
Vincent Povirk 417585661c server: Clear the queue's QS_SMRESULT bit when sending a new message. 2014-05-20 21:26:52 +02:00
Alexandre Julliard 202d91e551 Revert "server: Restore the masks from the previous get_message when a wait is satisfied."
This reverts commit f846312f46.
The masks will be stored on the client side instead.
2014-04-10 16:28:52 +02:00
Piotr Caban de21941178 user32: Change SetForegroundWindow behavior on windows with parent and no WS_CHILD flag. 2014-03-27 16:18:05 +01:00
Alexandre Julliard f846312f46 server: Restore the masks from the previous get_message when a wait is satisfied. 2014-03-19 16:50:32 +01:00
Alexandre Julliard d4cd051cef server: Store abandoned state as a flag in the wait structure. 2013-08-27 23:48:37 +02:00
Alexandre Julliard 39644bb309 server: Pass a wait queue entry to the signaled/satisfied object functions. 2013-08-27 23:48:36 +02:00
Alexandre Julliard de9f5b33b8 server: Store the wait structure in the wait entry and add an accessor function for the thread. 2013-08-27 23:48:31 +02:00
Henri Verbeet 54efd8a430 server: Only remove WM_INPUT messages from the queue if PM_REMOVE is set. 2012-09-13 10:24:05 +02:00
Henri Verbeet c6fcc0255c user32: Add rawinput keyboard support. 2012-09-12 12:47:13 +02:00
Henri Verbeet faaf3d388e user32: Add rawinput mouse support. 2012-09-11 18:06:34 +02:00
Henri Verbeet 5befb959dd user32: Implement RegisterRawInputDevices(). 2012-09-10 11:44:19 +02:00
Alexandre Julliard 36c76dcc24 winex11: Update only the key state on KeymapNotify without sending fake key events. 2012-02-02 17:19:34 +01:00
Alexandre Julliard 02442b52a4 user32: Return the cursor position in send_hardware_message and use it to update the driver's position. 2012-01-09 12:14:36 +01:00
Alexandre Julliard 5a30e31806 server: Optionally return the global key state when queueing a hardware message. 2011-12-15 14:46:53 +01:00
Marcus Meissner df92979b39 server: Removed NULL check after usage (Coverity). 2011-09-23 12:38:54 +02:00
Francois Gouget ff8f6e8662 user32: When destroying a window, preserve the first WM_QUIT message that was posted to it. 2011-08-23 11:50:59 +02:00
Vincent Povirk 79556aeab7 server: Implement QS_HOTKEY. 2011-07-06 19:43:26 +02:00