[PATCH 3/4] dinput: Write PID_USAGE_PARAMETER_BLOCK_OFFSET in the set condition report.
Rémi Bernon
rbernon at codeweavers.com
Fri Nov 19 05:37:19 CST 2021
From: Ivo Ivanov <logos128 at gmail.com>
Required by the PID spec for devices with device managed blocks.
Signed-off-by: Ivo Ivanov <logos128 at gmail.com>
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
dlls/dinput/joystick_hid.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/dlls/dinput/joystick_hid.c b/dlls/dinput/joystick_hid.c
index 9968da7d897..a43a73fff17 100644
--- a/dlls/dinput/joystick_hid.c
+++ b/dlls/dinput/joystick_hid.c
@@ -2748,6 +2748,10 @@ static HRESULT WINAPI hid_joystick_effect_Download( IDirectInputEffect *iface )
case PID_USAGE_ET_FRICTION:
for (i = 0; i < impl->params.cbTypeSpecificParams / sizeof(DICONDITION); ++i)
{
+ status = HidP_SetUsageValue( HidP_Output, HID_USAGE_PAGE_PID, 0, PID_USAGE_PARAMETER_BLOCK_OFFSET,
+ i, impl->joystick->preparsed, impl->type_specific_buf, report_len );
+ if (status != HIDP_STATUS_SUCCESS) WARN( "HidP_SetUsageValue %04x:%04x returned %#x\n",
+ HID_USAGE_PAGE_PID, PID_USAGE_PARAMETER_BLOCK_OFFSET, status );
set_parameter_value( impl, impl->type_specific_buf, set_condition->center_point_offset_caps,
impl->condition[i].lOffset );
set_parameter_value( impl, impl->type_specific_buf, set_condition->positive_coefficient_caps,
--
2.33.1
More information about the wine-devel
mailing list