diff --git a/dlls/xinput1_3/xinput1_3.spec b/dlls/xinput1_3/xinput1_3.spec index 7c71bd5ec0..f2d961c1bc 100644 --- a/dlls/xinput1_3/xinput1_3.spec +++ b/dlls/xinput1_3/xinput1_3.spec @@ -1,7 +1,7 @@ @ stdcall XInputEnable(long) @ stdcall XInputSetState(long ptr) @ stdcall XInputGetState(long ptr) -@ stub XInputGetKeystroke #(long long ptr) +@ stdcall XInputGetKeystroke(long long ptr) @ stdcall XInputGetCapabilities(long long ptr) @ stub XInputGetDSoundAudioDeviceGuids #(long ptr ptr) @ stub XInputGetBatteryInformation diff --git a/dlls/xinput1_3/xinput1_3_main.c b/dlls/xinput1_3/xinput1_3_main.c index 7f28f3738c..636dcd1f30 100644 --- a/dlls/xinput1_3/xinput1_3_main.c +++ b/dlls/xinput1_3/xinput1_3_main.c @@ -79,6 +79,18 @@ DWORD WINAPI XInputGetState(DWORD dwUserIndex, XINPUT_STATE* pState) return ERROR_BAD_ARGUMENTS; } +DWORD WINAPI XInputGetKeystroke(DWORD dwUserIndex, DWORD dwReserve, PXINPUT_KEYSTROKE pKeystroke) +{ + FIXME("(%d %d %p) Stub!\n", dwUserIndex, dwReserve, pKeystroke); + + if (dwUserIndex < XUSER_MAX_COUNT) + { + return ERROR_DEVICE_NOT_CONNECTED; + /* If controller exists then return ERROR_SUCCESS */ + } + return ERROR_BAD_ARGUMENTS; +} + DWORD WINAPI XInputGetCapabilities(DWORD dwUserIndex, DWORD dwFlags, XINPUT_CAPABILITIES* pCapabilities) { FIXME("(%d %d %p)\n", dwUserIndex, dwFlags, pCapabilities);