[PATCH 4/5] dinput: Support DIPROP_AUTOCENTER for OSX joysticks
Andrew Eikum
aeikum at codeweavers.com
Tue May 21 14:36:27 CDT 2013
---
dlls/dinput/joystick_osx.c | 45 +++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 43 insertions(+), 2 deletions(-)
diff --git a/dlls/dinput/joystick_osx.c b/dlls/dinput/joystick_osx.c
index f5f47c7..347d04e 100644
--- a/dlls/dinput/joystick_osx.c
+++ b/dlls/dinput/joystick_osx.c
@@ -1089,6 +1089,47 @@ static HRESULT joydev_create_device(IDirectInputImpl *dinput, REFGUID rguid, REF
return DIERR_DEVICENOTREG;
}
+static HRESULT osx_set_autocenter(JoystickImpl *This,
+ const DIPROPDWORD *header)
+{
+ UInt32 v;
+ HRESULT hr;
+ if(!This->ff)
+ return DIERR_UNSUPPORTED;
+ v = header->dwData;
+ hr = FFDeviceSetForceFeedbackProperty(This->ff, FFPROP_AUTOCENTER, &v);
+ TRACE("returning: %08x\n", hr);
+ return hr;
+}
+
+static HRESULT WINAPI JoystickWImpl_SetProperty(IDirectInputDevice8W *iface,
+ const GUID *prop, const DIPROPHEADER *header)
+{
+ JoystickImpl *This = impl_from_IDirectInputDevice8W(iface);
+
+ switch(LOWORD(prop))
+ {
+ case (DWORD_PTR)DIPROP_AUTOCENTER:
+ return osx_set_autocenter(This, (const DIPROPDWORD *)header);
+ }
+
+ return JoystickWGenericImpl_SetProperty(iface, prop, header);
+}
+
+static HRESULT WINAPI JoystickAImpl_SetProperty(IDirectInputDevice8A *iface,
+ const GUID *prop, const DIPROPHEADER *header)
+{
+ JoystickImpl *This = impl_from_IDirectInputDevice8A(iface);
+
+ switch(LOWORD(prop))
+ {
+ case (DWORD_PTR)DIPROP_AUTOCENTER:
+ return osx_set_autocenter(This, (const DIPROPDWORD *)header);
+ }
+
+ return JoystickAGenericImpl_SetProperty(iface, prop, header);
+}
+
static CFUUIDRef effect_win_to_mac(const GUID *effect)
{
#define DO_MAP(X) \
@@ -1211,7 +1252,7 @@ static const IDirectInputDevice8AVtbl JoystickAvt =
JoystickAGenericImpl_GetCapabilities,
IDirectInputDevice2AImpl_EnumObjects,
JoystickAGenericImpl_GetProperty,
- JoystickAGenericImpl_SetProperty,
+ JoystickAImpl_SetProperty,
IDirectInputDevice2AImpl_Acquire,
IDirectInputDevice2AImpl_Unacquire,
JoystickAGenericImpl_GetDeviceState,
@@ -1247,7 +1288,7 @@ static const IDirectInputDevice8WVtbl JoystickWvt =
JoystickWGenericImpl_GetCapabilities,
IDirectInputDevice2WImpl_EnumObjects,
JoystickWGenericImpl_GetProperty,
- JoystickWGenericImpl_SetProperty,
+ JoystickWImpl_SetProperty,
IDirectInputDevice2WImpl_Acquire,
IDirectInputDevice2WImpl_Unacquire,
JoystickWGenericImpl_GetDeviceState,
--
1.8.2.3
More information about the wine-patches
mailing list