00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #pragma once
00020
00021 #ifdef synxinhk_EXPORTS
00022 #define synxinhk_API __declspec(dllexport)
00023 #else
00024 #define synxinhk_API __declspec(dllimport)
00025 #endif
00026
00027 synxinhk_API LRESULT CALLBACK HookProc(int nCode, WPARAM wParam, LPARAM lParam);
00028 synxinhk_API BOOL InstallXInputHook();
00029 synxinhk_API void RemoveXInputHook();
00030 synxinhk_API void SetXInputButtons(DWORD userIndex, WORD buttons);
00031 synxinhk_API void SetXInputSticks(DWORD userIndex, SHORT lx, SHORT ly, SHORT rx, SHORT ry);
00032 synxinhk_API void SetXInputTriggers(DWORD userIndex, BYTE left, BYTE right);
00033 synxinhk_API void QueueXInputTimingReq();
00034 synxinhk_API BOOL DequeueXInputTimingResp();
00035 synxinhk_API WORD GetXInputFakeFreqMillis();
00036 synxinhk_API BOOL DequeueXInputFeedback(WORD* leftMotor, WORD* rightMotor);
00037
00038 #ifdef SYNERGY_EXPORT_XINPUT_HOOKS
00039
00040 synxinhk_API DWORD WINAPI HookXInputGetState(DWORD dwUserIndex, XINPUT_STATE* pState);
00041 synxinhk_API DWORD WINAPI HookXInputSetState(DWORD dwUserIndex, XINPUT_VIBRATION* pVibration);
00042 synxinhk_API DWORD WINAPI HookXInputGetCapabilities(DWORD userIndex, DWORD flags, XINPUT_CAPABILITIES* capabilities);
00043
00044 #endif