Commit Graph

70 Commits

Author SHA1 Message Date
Arkadiusz Hiler 8091922d9a user32: Move *RegisterDeviceNotification*() to input.c.
Signed-off-by: Arkadiusz Hiler <arek@hiler.eu>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-27 21:09:03 +02:00
Markus Engel d9855df17f user32: Force undefined bits in GetKeyState() and GetKeyboardState() to zero.
Only the highest and lowest bits in the return values of these functions
have a meaning, the others are undefined. While the other bits are
always cleared in Windows, wine stores information there. Some programs
expect these undefined bits to be zero, though, so make sure they are
not set.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=30814
Signed-off-by: Markus Engel <markus_wine@familie-engel.online>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-21 21:01:29 +02:00
Alexandre Julliard 5d5b6a1f35 user32: Use the standard Interlocked* functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-02 15:10:10 +02:00
Huw Davies ae7531f673 user32: Remove unused GetAsyncKeyState() driver entry.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-06 16:04:03 +01:00
Alexandre Julliard c33615dcf3 user32: Map mouse events to physical coordinates in SendInput.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-27 14:25:17 +02:00
Alexandre Julliard ac3e887e5d user32: Support the MOUSEEVENTF_VIRTUALDESK flag in SendInput().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-27 14:25:17 +02:00
Alexandre Julliard 910f3ed4da user32: Scale coordinates in Get/SetCursorPos() based on DPI awareness.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-27 14:19:29 +02:00
Zebediah Figura 6f3fb8c3f2 user32: Move rawinput functions to rawinput.c.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-21 10:27:47 +02:00
Akihiro Sagawa c6d28c9399 user32: Support Japanese keyboard type in GetKeyboardType.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 16:51:02 +02:00
Alexandre Julliard ae7acbfe4b user32: Remove FIXMEs from physical<->logical mapping functions.
Also group them with the other DPI functions.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-13 19:03:27 +02:00
Józef Kucia 9a95f10249 user32: Add stub for EnableMouseInPointer().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-11 16:23:06 +02:00
Sebastian Lackner 059d5ece23 user32: Globally invalidate key state on changes in other threads.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-18 16:20:58 +01:00
Austin English 2e9ca4626e user32: Add GetPhysicalCursorPos/SetPhysicalCursorPos stubs.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-17 21:57:13 +02:00
Huw Davies b7c5ff05a7 user32: Implement OemKeyScan().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-22 22:29:57 +09:00
Christopher Thielen 9bb87cc71c user32: A window may be notified with WM_CAPTURECHANGED about itself if SetCapture() is called twice.
Signed-off-by: Christopher Thielen <cthielen@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-02 22:24:11 +09:00
Bruno Jesus e0ba6d8fdb user32: Set the expected errors in GetRawInputDeviceList. 2015-05-27 13:54:37 +09:00
Dmitry Timoshkov c0e876cb9e server: GetQueueStatus should clear only checked queue changed bits. 2015-04-21 17:32:53 +09:00
Sebastian Lackner d3be42ab96 user32: Invalidate key state cache globally after running LL hooks. 2015-04-07 15:14:04 +09:00
Sebastian Lackner 325c061bbd user32: Move key state cache into a separate struct. 2015-04-07 15:14:02 +09:00
Sebastian Lackner 1059ee3cba user32: Check for NULL pointer in ToUnicodeEx. 2015-04-06 18:06:04 +09:00
Francois Gouget 68264c2da7 user32: Remove an unneeded NONAMELESSSTRUCT directive. 2015-03-27 00:12:34 +09:00
Nikolay Sivov 151694a0bc user32: Handle NULL argument in GetKeyboardLayoutNameW(). 2015-01-13 17:52:27 +01:00
Stefan Dösinger 3e993bf1d8 user32: Make GetRegisteredRawInputDevices hotpatchable. 2014-07-30 16:17:14 -05:00
André Hentschel bdc9b147b9 user32: Use boolean return values in boolean functions. 2014-02-04 11:15:37 +01:00
Huw Davies 85e105bd37 user32: Add a GetKeyboardLayoutList driver entry. 2013-11-20 19:38:44 +01:00
Henri Verbeet 690df8198d user32: Implement GetRawInputDeviceInfoA(). 2012-10-22 11:44:28 +02:00
Henri Verbeet 30f1a61177 user32: Implement GetRawInputDeviceInfoW(). 2012-10-18 22:32:35 +02:00
Henri Verbeet 3ed797b265 user32: Implement GetRawInputDeviceList(). 2012-10-18 19:20:27 +02:00
Alexandre Julliard d5244c3b24 user32: Flush window surfaces in all functions that are used to poll for input. 2012-10-15 15:24:59 +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 f87191815d user32: Fix GetKeyNameText returned length. 2012-02-15 12:07:34 +01:00
Alexandre Julliard adad80f4bd user32: Always query actual key state from the server for pressed keys. 2012-01-17 16:26:09 +01:00
Alexandre Julliard 50480c72f3 user32: Fix a pointer cast warning. 2012-01-16 18:17:45 +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 cb3b723792 user32: Cache the global key state to avoid performance issues in applications that poll constantly. 2011-12-15 16:25:40 +01:00
Vincent Povirk 8c0d568c32 user32: Notify the user driver of hotkey changes. 2011-07-05 16:00:20 +02:00
Vincent Povirk 4c83138f72 server: Implement RegisterHotKey/UnregisterHotKey. 2011-06-21 14:51:08 +02:00
Alexandre Julliard 79c2e55b5a user32: Only call the driver when the cursor position has really changed. 2011-04-20 20:30:09 +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 55e1fec7c3 user32: Set the last mouse event timestamp before calling the low-level hook. 2011-03-07 11:07:15 +01:00
Alexandre Julliard f1a3480068 user32: Handle input injected through SendInput entirely in user32. 2011-03-02 21:48:39 +01:00
Alexandre Julliard ae895a1f10 user32: Export a Wine-specific function to send hardware input from the graphics driver. 2011-03-02 21:25:43 +01:00
Alexandre Julliard 39c4e6d1d9 user32: Retrieve the current cursor position from the server. 2011-03-01 13:21:42 +01:00
Alexandre Julliard a7da164949 user32: Retrieve the key state for GetAsyncKeyState from the server. 2011-02-28 22:28:42 +01:00
Alexandre Julliard 183c41b49a server: Store the global cursor position in the server. 2011-02-25 11:25:15 +01:00
Alexander Scott-Johns 182b6a0483 user32: Fix read of uninitialized data and a couple of typos in TrackMouseEvent (Valgrind). 2011-02-17 18:33:42 +01:00
Ken Thomases e814147b12 user32: Remove wrong parameter name from comment.
Spotted by Peter Oberndorfer.
2011-02-14 12:29:05 +01:00
Ken Thomases 9cb4c21f1a user32: Rename GetKeyboardLayout param; it's a thread ID, not a layout. 2011-02-10 10:28:01 -06:00
Dmitry Timoshkov 88900f429a user32: Make sure that SendInput always initializes the time field. 2010-09-22 12:44:22 +02:00