1 #ifndef VRPN_RUMBLEPAD_H
5 #if defined(_WIN32) && defined(VRPN_USE_DIRECTINPUT)
12 #ifndef DIRECTINPUT_VERSION
13 #define DIRECTINPUT_VERSION 0x0800
26 GUID device_guid = GUID_NULL);
28 ~vrpn_DirectXRumblePad();
34 static int VRPN_CALLBACK handle_request_message(
void *userdata,
36 static int VRPN_CALLBACK handle_request_channels_message(
void* userdata,
46 static BOOL CALLBACK joystick_enum_cb(LPCDIDEVICEINSTANCE lpddi, LPVOID ref);
47 static DWORD CALLBACK thread_proc(LPVOID ref);
48 static LRESULT CALLBACK window_proc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp);
49 static BOOL CALLBACK axis_enum_cb(LPCDIDEVICEOBJECTINSTANCE lpddoi, LPVOID ref);
52 inline void FAIL(
const char *msg) {
79 LPDIRECTINPUT8 _directInput;
82 LPDIRECTINPUTDEVICE8 _gamepad;
83 LPDIRECTINPUTEFFECT _effect;
85 DIPERIODIC _diPeriodic;
89 #endif // _WIN32 and VRPN_USE_DIRECTINPUT
91 #define VRPN_RUMBLEPAD_H