Module: wine Branch: master Commit: b510558cb69feb67666b35ed0a3caf0553ea99c7 URL: https://source.winehq.org/git/wine.git/?a=commit;h=b510558cb69feb67666b35ed0...
Author: Ivo Ivanov logos128@gmail.com Date: Fri Nov 19 12:37:19 2021 +0100
dinput: Write PID_USAGE_PARAMETER_BLOCK_OFFSET in the set condition report.
Required by the PID spec for devices with device managed blocks.
Signed-off-by: Ivo Ivanov logos128@gmail.com Signed-off-by: RĂ©mi Bernon rbernon@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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 858755140d1..21e430a819f 100644 --- a/dlls/dinput/joystick_hid.c +++ b/dlls/dinput/joystick_hid.c @@ -2765,6 +2765,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,