Commit Graph

69 Commits

Author SHA1 Message Date
Andrew Eikum aa482426dc xinput: Get rid of redundant connected boolean.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:27 +02:00
Andrew Eikum b3cc2542cb xinput: Clear instance data when a controller is hotplugged.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:27 +02:00
Andrew Eikum 5417c3bfa4 xinput: Consolidate new device setup.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:27 +02:00
Andrew Eikum 4d3db6d2d7 xinput: Make device hotplugging thread-safe.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:27 +02:00
Andrew Eikum b84a4aa53b xinput: Check for NULL argument in XInputGetState.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-30 22:24:27 +02:00
Alexey Prokhin 9855fbe252 xinput: Fix vibration capabilities.
wLeftMotorSpeed and wRightMotorSpeed returned by XInputGetCapabilities
are supposed to be resolutions rather than current motor speeds.

This fixes rumble in Far Cry 5.

Signed-off-by: Alexey Prokhin <alexey@prokhin.ru>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-07 22:35:02 +02:00
Alexandre Julliard 0115cba69d xinput1: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-27 22:20:05 +02:00
Rémi Bernon d636cc18ba xinput: Fix rumble amount value rounding.
XINPUT_VIBRATION structure documentation says that wLeftMotorSpeed and
wRightMotorSpeed can range from 0 to 65535. The values were
incorrectly divided by 255 in HID_set_state, which made the value
range overflow one byte.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-29 16:21:32 +02:00
Andrew Eikum ba79a14369 winebus.sys: Report SDL controller buttons in the right order.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-07 15:20:11 -05:00
Andrew Eikum 564e7b4db9 winebus.sys: Report SDL controller dpad as hatswitch.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-07 15:20:02 -05:00
Alistair Leslie-Hughes 72e62952db xinput: Check that we actually received a value before assignment.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46999
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-24 21:55:24 +02:00
Zebediah Figura 7fd8ae1e4f xinput: Fix axis scaling arithmetic.
Cast difference to ULONGLONG to ensure unsigned division, and correct
off-by-one error present when inverting axes (previously hidden by signed
division bug).

Fixes a regression introduced by bd9e130ee5.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46623
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-15 21:01:48 +01:00
Zebediah Figura c1c6ca2e94 xinput: Use a struct instead of an array to store axis information.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-15 21:01:41 +01:00
Zebediah Figura 681414400e xinput: Use HidP_GetScaledUsageValue().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-15 21:01:36 +01:00
Zebediah Figura 69e0e1cf3f xinput: Make exported functions hot-patchable.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46142
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-21 17:05:27 +01:00
Zebediah Figura b72da1fdef xinput: Avoid calling XInputGetStateEx() in XInputGetState().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46142
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 22:42:38 +01:00
Beren Minor 186d107e4d xinput1_3: Report SUCCESS from XInputSetState when FFB isn't available.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45992
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-15 13:43:20 +01:00
Zebediah Figura 8343099ff5 xinput: Use DIGCF_PRESENT.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-19 17:46:34 +02:00
Michael Stefaniuc 4fbd3a7c3a xinput/tests: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-30 09:11:31 +02:00
Louis Lenders 2a4fb48583 xinput1_3: Quiet a noisy fixme.
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-13 13:24:33 +01:00
Aric Stewart 50e5364330 xinput: Implement XInputEnable.
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-15 08:06:38 +01:00
Aric Stewart f3391311f3 xinput: Implement XInputSetState.
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-15 08:06:31 +01:00
Aric Stewart 9e321a6f96 xinput: Update state of HID device.
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-15 08:05:32 +01:00
Aric Stewart 755422a2be xinput: Detect and setup HID gamepads.
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-15 08:05:31 +01:00
Andrew Eikum de3591ca98 xinput: XInputGetStateEx takes the same struct as XInputGetState.
XINPUT_STATE_EX has four extra bytes for padding, but is otherwise
identical to XINPUT_STATE. It was introduced in a libSDL header in
2012, for use with the undocumented function at xinput ordinal 100,
which we call XInputGetStateEx.

Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 22:26:47 +01:00
Józef Kucia ff8c49eec3 xinput1_1: Avoid DLL forwarding.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-20 21:10:02 +02:00
Andrey Gusev 8936a841f5 xinput1_3: Avoid spamming FIXME for XInputGetKeystroke.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-16 21:39:28 +01:00
Olivier F. R. Dierick 1640c9ce62 xinput1_3: Add DECLSPEC_HOTPATCH to XInputEnable() definition.
Signed-off-by: Olivier F. R. Dierick <o.dierick@piezo-forte.be>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-06 20:08:45 +01:00
Bruno Jesus 6b88529b3c xinput1_3/tests: Add interactive tests.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-14 17:33:02 +01:00
Bruno Jesus 4989d8727f xinput1_3/tests: Improve vibration tests.
Specially the part to disable the vibration after the test. Manually
tested on Windows 8.

Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-09 11:38:06 +01:00
Bruno Jesus 547d9491af xinput1_3/tests: Explain an important test and fix remaining style issues.
It's important to explain why the test is done like that so in the
future nobody changes it without knowing the impacts.

Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-07 14:45:18 +01:00
Bruno Jesus 67eec14ca0 xinput1_3/tests: Dump the gamepad values from XInputGetCapabilities.
Important to show that they changed between XInput versions 1.3 and 1.4.

Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-07 14:45:18 +01:00
Bruno Jesus ea4edbe179 xinput1_3/tests: Test the GUIDs returned from XInputGetDSoundAudioDeviceGuids.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-07 14:45:17 +01:00
Bruno Jesus 4b09e848b8 xinput1_3: Prefer builtin DLL.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-30 17:07:55 +01:00
Bruno Jesus cb855d98d5 xinput1_3: Test proper no new data error from XInputGetKeystroke.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-12 11:10:56 +09:00
Bruno Jesus 50cb6434bb xinput1_3: Test every xinput DLL version.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-12 11:10:51 +09:00
Bruno Jesus e3cda2c45d xinput1_3/tests: Cope with XInputGetStateEx not being present by name.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-02 11:27:42 +09:00
Bruno Jesus 44cd385af3 xinput1_3: Implement XInputGetState using XInputGetStateEx.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-01 20:47:45 +09:00
Bruno Jesus 0fe758046d xinput1_3: Stub XInputGetStateEx.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-01 20:47:45 +09:00
Bruno Jesus f097399a50 xinput1_3: Better handle input parameters.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-01 20:47:44 +09:00
Bruno Jesus 309fed2316 xinput1_3: Better trace all functions.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-01 20:47:44 +09:00
Andrey Gusev b271a1acfa xinput: Fix XInputGetBatteryInformation spec file entry.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-28 22:25:51 +09:00
Alexandre Julliard 8935863f55 winebuild: Add DllMain to the list of functions that should be private. 2015-07-15 15:59:46 +09:00
Alexandre Julliard 99ef0d6ff0 makefiles: Get rid of the MAKE_TEST_RULES variable. 2014-01-02 12:13:16 +01:00
Alexandre Julliard 5e7416e5c8 makefiles: Get rid of the MAKE_DLL_RULES variable. 2014-01-02 12:08:18 +01:00
Vincent Povirk b29c2b050d xinput1_3: Make XInputGetState patchable. 2013-10-28 10:38:36 +01:00
Alexandre Julliard f02cdd877f Remove empty DLL_PROCESS_DETACH case statements. 2013-04-15 16:45:35 +02:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Alexandre Julliard b86d515ed6 dlls: Remove explicit imports of kernel32 and ntdll. 2010-07-21 17:38:36 +02:00
Louis Lenders 1aa4c4a895 xinput1_3: Quiet a noisy fixme. 2010-07-05 17:10:25 +02:00