Vitaliy Margolen : dinput:
Add handling of AXISMODE property to base device object.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Dec 18 05:34:35 CST 2006
Module: wine
Branch: master
Commit: 7b07e4b5638544a23c22aa6f737e63f85854124f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=7b07e4b5638544a23c22aa6f737e63f85854124f
Author: Vitaliy Margolen <wine-patches at kievinfo.com>
Date: Sun Dec 17 23:22:11 2006 -0700
dinput: Add handling of AXISMODE property to base device object.
---
dlls/dinput/device.c | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/dlls/dinput/device.c b/dlls/dinput/device.c
index 7586530..6b05ed6 100644
--- a/dlls/dinput/device.c
+++ b/dlls/dinput/device.c
@@ -876,6 +876,25 @@ HRESULT WINAPI IDirectInputDevice2AImpl_
switch (LOWORD(rguid))
{
+ case (DWORD) DIPROP_AXISMODE:
+ {
+ LPCDIPROPDWORD pd = (LPCDIPROPDWORD)pdiph;
+
+ if (pdiph->dwSize != sizeof(DIPROPDWORD)) return DIERR_INVALIDPARAM;
+ if (pdiph->dwHow == DIPH_DEVICE && pdiph->dwObj) return DIERR_INVALIDPARAM;
+ if (This->acquired) return DIERR_ACQUIRED;
+ if (pdiph->dwHow != DIPH_DEVICE) return DIERR_UNSUPPORTED;
+
+ TRACE("Axis mode: %s\n", pd->dwData == DIPROPAXISMODE_ABS ? "absolute" :
+ "relative");
+
+ EnterCriticalSection(&This->crit);
+ This->data_format.user_df->dwFlags &= ~DIDFT_AXIS;
+ This->data_format.user_df->dwFlags |= pd->dwData == DIPROPAXISMODE_ABS ?
+ DIDF_ABSAXIS : DIDF_RELAXIS;
+ LeaveCriticalSection(&This->crit);
+ break;
+ }
case (DWORD) DIPROP_BUFFERSIZE:
{
LPCDIPROPDWORD pd = (LPCDIPROPDWORD)pdiph;
More information about the wine-cvs
mailing list