mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-15 06:10:39 +00:00
dinput: Add granularity to object_properties.
Return WHEEL_DELTA for the granularity of the mouse z-axis. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53627
This commit is contained in:
parent
1e6258d26b
commit
055b67ea97
|
@ -1103,6 +1103,7 @@ static BOOL CALLBACK get_object_property( const DIDEVICEOBJECTINSTANCEW *instanc
|
|||
{
|
||||
.range_min = DIPROPRANGE_NOMIN,
|
||||
.range_max = DIPROPRANGE_NOMAX,
|
||||
.granularity = 1,
|
||||
};
|
||||
struct get_object_property_params *params = context;
|
||||
struct dinput_device *impl = impl_from_IDirectInputDevice8W( params->iface );
|
||||
|
@ -1155,7 +1156,7 @@ static BOOL CALLBACK get_object_property( const DIDEVICEOBJECTINSTANCEW *instanc
|
|||
case (DWORD_PTR)DIPROP_GRANULARITY:
|
||||
{
|
||||
DIPROPDWORD *value = (DIPROPDWORD *)params->header;
|
||||
value->dwData = 1;
|
||||
value->dwData = properties->granularity;
|
||||
return DIENUM_STOP;
|
||||
}
|
||||
case (DWORD_PTR)DIPROP_KEYNAME:
|
||||
|
|
|
@ -67,6 +67,7 @@ struct object_properties
|
|||
LONG deadzone;
|
||||
LONG saturation;
|
||||
DWORD calibration_mode;
|
||||
DWORD granularity;
|
||||
};
|
||||
|
||||
enum device_status
|
||||
|
|
|
@ -1696,6 +1696,7 @@ static BOOL init_object_properties( struct hid_joystick *impl, struct hid_value_
|
|||
}
|
||||
|
||||
properties->saturation = 10000;
|
||||
properties->granularity = 1;
|
||||
return DIENUM_CONTINUE;
|
||||
}
|
||||
|
||||
|
|
|
@ -99,6 +99,12 @@ static BOOL CALLBACK init_object_properties( const DIDEVICEOBJECTINSTANCEW *inst
|
|||
properties->range_min = DIPROPRANGE_NOMIN;
|
||||
properties->range_max = DIPROPRANGE_NOMAX;
|
||||
|
||||
/* The z-axis (wheel) has a different granularity */
|
||||
if (instance->dwOfs == DIMOFS_Z)
|
||||
properties->granularity = WHEEL_DELTA;
|
||||
else
|
||||
properties->granularity = 1;
|
||||
|
||||
return DIENUM_CONTINUE;
|
||||
}
|
||||
|
||||
|
|
|
@ -1823,7 +1823,6 @@ static void test_sys_mouse( DWORD version )
|
|||
prop_dword.dwData = 0xdeadbeef;
|
||||
hr = IDirectInputDevice8_GetProperty( device, DIPROP_GRANULARITY, &prop_dword.diph );
|
||||
ok( hr == DI_OK, "GetProperty DIPROP_GRANULARITY returned %#lx\n", hr );
|
||||
todo_wine
|
||||
ok( prop_dword.dwData == WHEEL_DELTA, "got %ld expected %ld\n", prop_dword.dwData, (DWORD)WHEEL_DELTA );
|
||||
prop_range.lMin = 0xdeadbeef;
|
||||
prop_range.lMax = 0xdeadbeef;
|
||||
|
|
Loading…
Reference in a new issue