diff options
-rw-r--r-- | plugins/DX8/src/java/net/java/games/input/DirectInputRumbler.java | 1 | ||||
-rw-r--r-- | plugins/DX8/src/native/input.cpp | 25 |
2 files changed, 21 insertions, 5 deletions
diff --git a/plugins/DX8/src/java/net/java/games/input/DirectInputRumbler.java b/plugins/DX8/src/java/net/java/games/input/DirectInputRumbler.java index d3fd283..5d9ead1 100644 --- a/plugins/DX8/src/java/net/java/games/input/DirectInputRumbler.java +++ b/plugins/DX8/src/java/net/java/games/input/DirectInputRumbler.java @@ -109,6 +109,7 @@ public class DirectInputRumbler implements Rumbler { public void run() { if(rumbler!=null) { + System.out.println("Reseting rumbler " + getAxisName() + " before exit"); rumbler.rumble(0f); try { Thread.sleep(1000); diff --git a/plugins/DX8/src/native/input.cpp b/plugins/DX8/src/native/input.cpp index 1468904..441b54e 100644 --- a/plugins/DX8/src/native/input.cpp +++ b/plugins/DX8/src/native/input.cpp @@ -321,10 +321,23 @@ BOOL RegisterDummyWindow(HINSTANCE hInstance) } // Callback for finding out what effects a device supports -BOOL CALLBACK DIEnumEffectsProc(LPCDIEFFECTINFO pei, LPVOID pv) +BOOL CALLBACK DIEnumEffectsCallback(LPCDIEFFECTINFO pdei, + LPVOID pvRef) { - *((GUID *)pv) = pei->guid; - return DIENUM_STOP; // one is enough + if(DIEFT_GETTYPE(pdei->dwEffType)==DIEFT_CONSTANTFORCE) { + printf("Constant force "); + } else if(DIEFT_GETTYPE(pdei->dwEffType)==DIEFT_RAMPFORCE){ + printf("Ramp force "); + } else if(DIEFT_GETTYPE(pdei->dwEffType)==DIEFT_PERIODIC ){ + printf("Periodic force "); + } else if(DIEFT_GETTYPE(pdei->dwEffType)==DIEFT_CONDITION ){ + printf("Condition force "); + } else if(DIEFT_GETTYPE(pdei->dwEffType)==DIEFT_CUSTOMFORCE ){ + printf("Custom force "); + } else if(DIEFT_GETTYPE(pdei->dwEffType)==DIEFT_HARDWARE ){ + printf("Hardware force "); + } + return DIENUM_CONTINUE; // one is enough } /* @@ -670,15 +683,17 @@ BOOL CALLBACK EnumObjectsCallback(LPCDIDEVICEOBJECTINSTANCE lpddoi, HRESULT hr; GUID guidEffect; + printf("Supported effects: "); hr = lpDevice->EnumEffects( - (LPDIENUMEFFECTSCALLBACK) DIEnumEffectsProc, + (LPDIENUMEFFECTSCALLBACK) DIEnumEffectsCallback, &guidEffect, - DIEFT_PERIODIC); + DIEFT_ALL); if (FAILED(hr)) { // Note that success does not mean that any effects were found, // only that the process went smoothly. } + printf("\n"); // This application needs only one effect: Applying raw forces. DWORD rgdwAxes; |