19 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
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 bd9e130ee5b569433f2c847c5b2b562f0ae35ac5.

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
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
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