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
Marcus Meissner
67320c448b
server: Do not promote lparam to signed int (Coverity).
2011-06-28 11:57:51 -05:00
Alexandre Julliard
6b0d9ff1cd
server: Allow setting a zero-size clip rectangle.
2011-06-21 15:04:24 +02:00
Vincent Povirk
cc0ea69867
server: Post WM_HOTKEY when a hotkey is pressed.
2011-06-21 14:51:14 +02:00
Vincent Povirk
4c83138f72
server: Implement RegisterHotKey/UnregisterHotKey.
2011-06-21 14:51:08 +02:00
Alexandre Julliard
f6b0ce3c44
server: Don't queue low-level hooks to a hung queue.
2011-06-17 11:54:43 +02:00
Alexandre Julliard
8aa1a26886
user32: Pass a NULL rectangle in the ClipCursor entry point when clipping is reset because of focus change.
2011-04-22 17:51:28 +02:00
Alexandre Julliard
abe5440e32
server: Also return the previous cursor position in the set_cursor request.
2011-04-20 20:29:16 +02:00
Alexandre Julliard
3909f51122
server: Don't queue a hardware WM_MOUSEMOVE if the position hasn't changed.
2011-04-06 21:07:04 +02:00
Alexandre Julliard
34b8c639ce
server: Warp the mouse inside the clipping rectangle when it's set.
2011-04-06 20:36:36 +02:00
Alexandre Julliard
39bac05188
server: Queue a WM_MOUSEMOVE message when the cursor position is explicitly changed.
2011-04-06 20:29:38 +02:00
Alexandre Julliard
9c8bbcd1cd
server: Fix a memory leak.
2011-04-06 20:00:40 +02:00
Alexandre Julliard
21e86f60ec
server: Post a message to the desktop window when the cursor clip rectangle changes.
2011-04-05 13:36:57 +02:00
Alexandre Julliard
6576703fac
server: Return the time of last change along with the current cursor position.
2011-03-31 20:15:56 +02:00
Alexandre Julliard
c64c36f573
server: Store all desktop cursor information in a separate structure.
2011-03-31 19:54:22 +02:00
Alexandre Julliard
2b96875b6a
server: Reset the cursor clip rectangle when the foreground thread changes.
2011-03-30 13:28:04 +02:00
Alexandre Julliard
0b8571e3dc
server: Fix checking of X button flags when updating the input key state.
2011-03-07 23:48:03 +01:00
Alexandre Julliard
34efca05c9
server: Fix the contents of the mouse data for the low-level hook.
2011-03-07 11:07:35 +01:00
Alexandre Julliard
c7efa293f0
server: Invoke low-level hardware hooks directly from the server side.
2011-03-02 21:26:13 +01:00
Alexandre Julliard
0f18d2bb09
server: Set the message code for mouse input on the server side.
2011-03-02 11:59:38 +01:00
Alexandre Julliard
9731d44921
server: Set the message code for keyboard input on the server side.
2011-03-02 11:34:59 +01:00
Alexandre Julliard
02e30f5f77
server: Pass the original hardware input data to the server and set the message parameters on the server side.
2011-03-02 11:34:15 +01:00
Alexandre Julliard
bc4afb0786
server: Don't pass a thread id to send_hardware_message, determine it from the window.
2011-03-01 13:21:58 +01:00
Alexandre Julliard
22468ec65c
server: Maintain the "set since last time" bit for the global keystate.
2011-02-28 22:28:21 +01:00
Alexandre Julliard
b9e4b5a28c
server: Fill the key state in mouse events from the server-side state.
2011-02-28 21:37:09 +01:00
Alexandre Julliard
06b78feade
server: Store the global key state in the server.
2011-02-25 13:50:25 +01:00
Alexandre Julliard
02e8174067
server: Store the cursor clip rectangle in the server.
2011-02-25 13:50:19 +01:00
Alexandre Julliard
183c41b49a
server: Store the global cursor position in the server.
2011-02-25 11:25:15 +01:00
Alexandre Julliard
ac4aac747c
server: Make the foreground thread input per-desktop instead of global.
2011-02-25 11:19:46 +01:00
Dmitry Timoshkov
66e981ec8d
server: Make layered windows transparent for mouse messages.
2010-06-11 14:16:03 +02:00
Alexandre Julliard
5ee89aad68
winex11: Update the cursor also for events ignored by a hook.
2010-05-12 14:13:15 +02:00
Alexandre Julliard
c545982472
server: Return the cursor information for a thread input, and use it for GetCursorInfo.
2010-05-11 11:27:03 +02:00
Alexandre Julliard
cd28e2be7c
server: Return the current cursor when queuing a hardware message.
2010-04-21 11:07:31 +02:00
Alexandre Julliard
8159d4eb99
server: Add support for storing the cursor and show count in the thread input structure.
2010-03-22 17:52:23 +01:00
Alexandre Julliard
5efe996c6a
server: Add a helper function to change a queue thread input.
2010-03-22 17:48:22 +01:00
Alexandre Julliard
b0760fc2e9
server: Set the idle event when PeekMessage is called with -1 as window filter.
2010-03-03 13:20:53 +01:00
Alexandre Julliard
4d33d4982f
user32: Pass HWND_BOTTOM unmodified to the server in PeekMessage.
2010-03-03 13:20:26 +01:00
Peter Dons Tychsen
d21c131fb5
user32: Do not allow a change of capture if the currently capture window is a menu unless explicitly specified.
2010-01-14 09:04:55 -06:00
Alexandre Julliard
7265e89226
server: Set the idle event when retrieving a timer message.
2009-12-16 18:18:07 +01:00
Alexandre Julliard
92e704edc5
server: Don't set the idle event when waiting for a message reply.
2009-12-16 18:06:38 +01:00
Alexandre Julliard
7d4e28480d
server: Any thread can set the idle event, don't treat the first one differently.
2009-12-16 18:06:32 +01:00
Alexandre Julliard
b57cc5561b
server: Don't reset the idle event when the client stops waiting.
2009-12-16 18:06:14 +01:00
Alexandre Julliard
d1dc48d8dc
server: Don't set the idle event when a queue is destroyed, instead return success in WaitForInputIdle on process exit.
2009-12-16 18:00:34 +01:00
Dmitry Timoshkov
acb05666bb
user32: Add a test for PeekMessage((HWND)-1), make it pass under Wine.
2009-06-12 17:33:16 +02:00
Alexandre Julliard
2d69ba45d7
server: Reset events on the message queue fd to avoid busy looping when the thread is suspended.
2009-06-03 11:28:18 +02:00
Marcus Meissner
3b86f463b5
server: Handle NULL thread in send_hardware_message (Coverity).
2009-01-29 12:45:32 +01:00
Alexandre Julliard
8c8c665a3c
server: Reorganize some requests to avoid padding, and make remaining padding explicit.
2008-12-31 15:14:29 +01:00
Alexandre Julliard
cc55fd317a
server: Make hook procedures client_ptr_t instead of void pointers.
2008-12-29 17:35:35 +01:00
Alexandre Julliard
d1d7b9f3f7
server: Store data for hardware messages in the message extra data.
2008-12-24 19:57:51 +01:00
Alexandre Julliard
31282b3f63
server: Define an lparam_t type for message parameters that can hold all sorts of data.
2008-12-10 16:01:50 +01:00
Alexandre Julliard
d764107434
server: Make user handles ints instead of pointers.
2008-12-08 16:57:38 +01:00
Vitaliy Margolen
9faf7e3586
winex11drv: Distinguish left and right keys for shift, ctrl and alt.
2008-04-02 11:14:54 +02:00
Dmitry Timoshkov
e735e199ad
user32: Reimplement IsHungAppWindow.
2007-12-28 11:43:57 +01:00
Alexandre Julliard
8382eb01b2
server: Return correct object types in the get_directory_entry request.
2007-12-05 18:16:42 +01:00