Rémi Bernon
9ec501141e
server: Avoid calling set_event from within msg_queue_add_queue.
2024-06-05 22:01:22 +02:00
Alexandros Frantzis
d38d455c4b
server: Set VK_PACKET async state in raw input legacy mode.
2024-05-31 19:05:58 +02:00
Alexandros Frantzis
69aad4aeca
server: Don't send raw input events for unicode inputs.
2024-05-31 19:05:55 +02:00
Alexandros Frantzis
d14a827b8c
server: Apply modifier vkey transformations regardless of unicode flag.
2024-05-31 19:05:55 +02:00
Alexandros Frantzis
d0e3286d96
server: Use right-left modifier vkeys for hooks.
2024-05-31 19:05:55 +02:00
Alexandros Frantzis
85f1ad64c4
server: Fix handling of KEYEVENTF_UNICODE inputs with a non-zero vkey.
2024-05-22 22:28:43 +02:00
Rémi Bernon
d18bd43ba2
server: Pass the adjusted vkey to send_hook_ll_message.
2024-05-22 22:28:43 +02:00
Alexandros Frantzis
11ef7af768
server: Send numpad virtual keys if NumLock is active.
...
If the hardware keyboard event has KBD virtual key information, use it
to detect numpad key events and translate them to the appropriate
virtual keys depending on NumLock (and Shift) state.
2024-05-21 20:32:15 +02:00
Paul Gofman
0884b503c9
win32u: Update last message time in NtUserGetRawInputBuffer().
2024-05-12 16:31:50 +02:00
Rémi Bernon
b053e924e8
server: Process internal messages when checking queue status.
2024-03-21 22:19:58 +01:00
Rémi Bernon
a84517418e
server: Check for internal hardware messages before others.
2024-03-21 22:19:58 +01:00
Rémi Bernon
994021da99
server: Send WM_WINE_SETCURSOR message only when necessary.
2024-03-21 22:19:58 +01:00
Rémi Bernon
1604d8a202
server: Send WM_WINE_CLIPCURSOR message only when necessary.
2024-03-21 22:19:58 +01:00
Rémi Bernon
24ad74ee26
server: Send emulated mouse messages on primary pointer updates.
2024-03-06 19:20:09 +01:00
Rémi Bernon
40b65e28a7
server: Continuously send pointer update messages while it's down.
2024-03-06 19:20:09 +01:00
Rémi Bernon
d8b8ac85eb
server: Generate WM_POINTERENTER / WM_POINTERLEAVE messages.
2024-03-06 19:20:09 +01:00
Rémi Bernon
5b833c83be
server: Stop waiting on LL-hooks for non-injected input.
2024-03-06 19:19:47 +01:00
Rémi Bernon
61d1c18957
server: Add support for sending and receiving WM_POINTER* messages.
2024-03-05 20:50:07 +01:00
Rémi Bernon
bb5f0e122f
win32u: Use a custom struct hid_input for NtUserSendHardwareInput.
2024-03-05 20:50:06 +01:00
Rémi Bernon
9591a36ee8
server: Dispatch rawinput messages using the rawinput process list.
2024-02-28 19:51:20 +01:00
Rémi Bernon
c43b1ecbc3
server: Keep a list of processes that can receive rawinput messages.
2024-02-28 19:51:20 +01:00
Rémi Bernon
496eed7aaf
server: Send hardware input to the visible input desktop.
...
When hwnd is specified, it is because it received a direct host input,
so switch the input desktop to match the one that is receiving it.
We don't validate that the sending thread uses the same desktop as the
target window: it may not even be the case for drivers with a separate
thread that listens on input events.
2024-02-28 19:51:20 +01:00
Rémi Bernon
1664ad7d50
server: Fix rawinput buffer sizes and alignment on WoW64.
2024-02-09 11:14:07 +01:00
Rémi Bernon
2eb8950392
server: Move rawinput message conversion from win32u.
...
Appending the entire RAWMOUSE / RAWKEYBOARD / RAWHID + report structs
after the hardware message data, instead of using a custom intermediate
structure.
2024-02-09 11:14:07 +01:00
Rémi Bernon
c8bf3ba2da
server: Stop using hardware_msg_data in rawinput_message.
2024-02-08 23:31:24 +01:00
Rémi Bernon
f86cca3897
server: Stop using union rawinput in hw_input_t.
2024-02-08 23:31:24 +01:00
Rémi Bernon
c62ca2e1aa
server: Combine HID usage page and usage together.
2024-02-08 23:31:24 +01:00
Rémi Bernon
d1789fbb40
server: Change desktop cursor only when inside the thread's windows.
...
Getting rid of the desktop cursor handle at the same time.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55961
2023-12-21 18:39:04 +01:00
Rémi Bernon
9dc80b13be
server: Introduce a new get_desktop_cursor_thread_input helper.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55961
2023-12-21 18:39:04 +01:00
Brendan McGrath
fa873804fb
server: Always release internal hardware messages.
2023-12-21 18:38:59 +01:00
Rémi Bernon
2e90c01696
server: Ignore the capture window wrt desktop cursor changes.
...
This partially reverts commit c3dcf1e269
.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55306
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56046
2023-12-18 22:14:57 +01:00
Rémi Bernon
bb496ea847
server: Always queue mouse messages delivered to another window.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55306
2023-12-18 22:14:57 +01:00
Rémi Bernon
c3dcf1e269
server: Use the capture window as cursor window if it is set.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55306
2023-12-15 21:10:17 +01:00
Rémi Bernon
82642e34e1
server: Update the desktop cursor position / window on click.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55306
2023-12-15 21:10:17 +01:00
Rémi Bernon
19ad5bd598
server: Peek wine internal driver messages regardless of filter.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55774
2023-12-13 19:13:01 +01:00
Rémi Bernon
2581e0b3ea
server: Send WM_WINE_SETCURSOR with the thread input cursor handle.
...
Which may be different from the last desktop cursor handle.
This makes the behavior better match the old winex11 behavior, which queried
the current thread input cursor handle on every mouse move to sync it with X11,
although it contradicts MSDN documentation which states that the cursor handle
is global.
This fixes the X11 cursor being visible in "Deus Ex: GOTY Edition".
2023-10-11 20:30:04 +02:00
Rémi Bernon
ab9b99c4a5
server: Pass set_cursor flags in WM_WINE_CLIPCURSOR wparam.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55047
2023-06-16 21:35:58 +02:00
Rémi Bernon
25906eedd8
server: Introduce and send new WM_WINE_SETCURSOR hardware message.
2023-06-13 22:10:56 +02:00
Rémi Bernon
b04ef19930
server: Keep track of the current desktop cursor handle.
2023-06-13 22:10:56 +02:00
Rémi Bernon
10f5ff7f06
server: Update desktop cursor window when cursor pos changes.
2023-06-13 22:10:56 +02:00
Rémi Bernon
6ac82b2a24
server: Use hardware message category when checking filter.
2023-06-12 21:21:41 +02:00
Rémi Bernon
3ae2dc4648
server: Pass the message code to get_hardware_msg_bit.
2023-06-12 21:21:41 +02:00
Rémi Bernon
5ebb1ed132
server: Queue a hardware WM_WINE_CLIPCURSOR message to the foreground thread.
...
When applying a new cursor clipping rect, or to the previous foreground
thread when foreground changes, to notify it of the cursor clipping rect
being reset.
2023-06-07 22:48:27 +02:00
Rémi Bernon
bd06c87b5b
server: Use a separate helper to merge WM_MOUSEMOVE messages.
2023-06-07 22:48:27 +02:00
Rémi Bernon
2101d4d6ad
server: Use the helper to reset the clip rect when the desktop size changes.
2023-06-07 22:48:27 +02:00
Rémi Bernon
88cbc08b7f
server: Don't reset cursor clipping on foreground thread exit.
...
It will be reset on foreground input changes, when it happens.
2023-06-02 21:08:34 +02:00
Rémi Bernon
900ba82654
win32u: Use WM_WINE_CLIPCURSOR / TRUE for empty clipping rect.
2023-05-31 22:50:10 +02:00
Rémi Bernon
8f9610fdff
server: Use get_hardware_msg_bit consistently to classify messages.
2023-05-31 21:19:35 +02:00
Rémi Bernon
26c6386de9
server: Move set_cursor desktop local variable to wider scope.
2023-05-30 12:25:25 +02:00
Rémi Bernon
61dbfea452
server: Assume the internal clip message to be WM_WINE_CLIPCURSOR.
2023-05-30 12:25:25 +02:00