Commit Graph

136 Commits

Author SHA1 Message Date
Rémi Bernon 66a46120a0 user32: Add a default ActivateKeyboardLayout implementation.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-03 21:08:13 +02:00
Rémi Bernon 80985b7eec user32: Read "Layout Id" from registry in GetKeyboardLayoutList.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:49 +02:00
Rémi Bernon 66c3181444 user32: Move GetKeyboardLayoutList from nulldrv.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:49 +02:00
Rémi Bernon d1c2fadac4 user32: Add a default VkKeyScanEx implementation.
This is basically the reverse of ToUnicodeEx.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:49 +02:00
Rémi Bernon 4cf6023c62 user32: Add a default GetKeyNameTextW implementation.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:49 +02:00
Rémi Bernon 1feb05485b user32: Add a default MapVirtualKeyEx implementation.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:49 +02:00
Rémi Bernon fde6c6119d user32: Translate missing vkeys in ToUnicodeEx.
As shown by user32 input and msg tests.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-29 10:49:35 +02:00
Rémi Bernon 37db87eff6 user32: Don't translate control codes when alt is pressed.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-29 10:49:31 +02:00
Rémi Bernon 95d8f40fdf user32: Move ToUnicodeEx from wineandroid.drv to user32.
As a fallback implementation, using English keyboard layout.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-29 10:49:25 +02:00
Rémi Bernon 123c17aa92 user32: Add RAWINPUT parameter to __wine_send_input.
And send_hardware_message.

This makes it possible to use __wine_send_input to send extended input
data, such as HID device notifications and WM_INPUT messages carrying
HID reports.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50506
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-15 10:37:52 +02:00
Rémi Bernon 092c7a09a5 user32: Implement SendInput INPUT_HARDWARE check.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50506
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-14 21:23:06 +02:00
Rémi Bernon 2f8da3c12a user32/tests: Add more SendInput tests.
Validating that SendInput with INPUT_HARDWARE type should be no-op.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50506
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-14 21:23:02 +02:00
Rémi Bernon 6444e4fade server: Remove tid from set_key_state request.
As it is always set to GetCurrentThreadId().

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=26269
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=27238
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=31899
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=35907
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45385
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-02 22:51:50 +02:00
Rémi Bernon 626870abe2 server: Remove tid from get_key_state request.
And replace it with an async param if we want the global async keystate.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=26269
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=27238
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=31899
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=35907
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45385
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-02 22:51:21 +02:00
Arkadiusz Hiler f7edc32818 user32: Implement GetMouseMovePointsEx().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=36873
Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-13 22:37:16 +02:00
Alexandre Julliard 9cc9236556 user32: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 15:15:38 +02:00
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
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 c83ea46e1a user32: Return fake global information in GetCursorInfo instead of thread-local values. 2010-03-19 11:59:51 +01:00
Jörg Höhle 9079109a45 winex11: Log keycode decimal <-> hex for keysym & MS vkey and scancode. 2010-03-04 12:28:22 +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
Stefan Dösinger acebc001b7 user32: Make some functions hookable. 2009-10-14 12:21:06 +02:00
Alexandre Julliard 0db3d3cd2e user32/tests: Fix a few more input test failures on Windows. 2009-02-25 12:37:06 +01:00
Aric Stewart 5c779bfa0a user32: Remove the driver call for GetKeyboardLayoutList and instead populate from the registry. 2008-12-18 14:19:39 +01:00
Lei Zhang 54eebfe5e5 user32: Check input to GetAsyncKeyState(). 2008-12-08 22:03:11 +01:00
Alexandre Julliard 7fdadbb377 server: Add functions for conversions between server user handles and pointer-style handles. 2008-12-08 16:58:20 +01:00
Dmitry Timoshkov fc48f7743d user32: Make ToAscii(Ex) and ToUnicode(Ex) prototypes match PSDK. 2008-10-27 12:38:57 +01:00
Alexandre Julliard b9dee8efa7 user32: Add a SetCapture function to the driver interface. 2008-03-12 14:55:28 +01:00
Alexandre Julliard 4e129f88d0 user32: Add a helper function to set the capture window. 2008-03-12 14:54:03 +01:00
Stefan Leichter 684a5b4bab user32: Added stub for GetMouseMovePointsEx. 2008-02-25 13:27:49 +01:00
Dmitry Timoshkov e5e261f104 user32: Make MapVirtualKeyEx(MAPVK_VK_TO_CHAR) behave more like in Windows. 2008-01-23 20:39:19 +01:00
Alexandre Julliard e533e50d59 user32: Print the RegisterHotKey fixme only once. 2007-12-13 14:33:35 +01:00
Alexandre Julliard 6ff78347e2 user32: Remove a few traces that only duplicate the relay information. 2007-11-12 14:03:45 +01:00
Francois Gouget 1a75b5d49c user32: Fix the HRAWINPUT definition and the GetRawInputData() prototype. Update win32.api to fix the winapi_check warnings. 2007-10-15 14:06:35 +02:00
L. Rahyen 43601c282b user32: Implement initial stubs for all raw input functions. 2007-09-25 14:18:40 +02:00
Dmitry Timoshkov 3c9e7a7f33 wine: Switch to using 'long' for INT_PTR type for 64-bit compatibility. 2007-05-25 20:37:56 +02:00
Alexandre Julliard b8a2e3b8a4 user32: Renamed the user/ directory to user32. 2006-11-16 14:49:25 +01:00