Zhiyi Zhang
9b2f59cb94
user32: Use get_primary_monitor_rect() helper.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-18 21:25:00 +02:00
Rémi Bernon
50ca64fcdf
user32: Duplicate klid to HKL high word in LoadKeyboardLayoutW.
...
When high word is 0, and unless it has an explicit layout id.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 20:37:25 +02:00
Rémi Bernon
3e2b225428
user32: Read "Layout Id" from registry in LoadKeyboardLayoutW.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-07 22:22:49 +02:00
Rémi Bernon
bda517c085
user32: Implement KLF_ACTIVATE flag in LoadKeyboardLayoutW.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-07 22:22:49 +02:00
Rémi Bernon
4bec69b104
user32: Move (Un)LoadKeyboardLayoutW from winex11.drv to user32.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-07 22:22:49 +02:00
Rémi Bernon
30460460e5
user32: Cache current keyboard layout name.
...
To avoid iterating the registry every time GetKeyboardLayoutNameW is
called.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-07 22:22:49 +02:00
Rémi Bernon
e2cc121327
user32: Adjust ToUnicodeEx control code translation.
...
To match VkKeyScanW and pass corresponding tests.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-06 20:00:53 +02:00
Rémi Bernon
512112ebd5
user32: Set keyboard layout preload key on init.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-06 20:00:42 +02:00
Rémi Bernon
8ec1206ba0
user32: Read "Layout Id" from registry in GetKeyboardLayoutNameW.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-06 19:50:58 +02:00
Rémi Bernon
c4e6d16271
user32: Factor GetKeyboardLayoutNameW implementations.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-06 19:50:40 +02:00
Rémi Bernon
e2aa30f21d
user32: Factor GetKeyboardLayout and remove driver call.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-05 21:57:53 +02:00
Rémi Bernon
da9fc41814
user32: Factor ActivateKeyboardLayout previous layout logic.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-05 21:57:04 +02:00
Rémi Bernon
179c57603a
user32: Add current keyboard layout to thread data.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-05 21:56:23 +02:00
Rémi Bernon
92cbeed9d7
user32: Add a default GetKeyboardLayout implementation.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-03 21:08:31 +02:00
Rémi Bernon
f044f401f7
user32: Factor unsupported cases into ActivateKeyboardLayout.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-03 21:08:23 +02:00
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