Fix return type of GetAsyncKeyState.
diff --git a/include/wine/winuser16.h b/include/wine/winuser16.h
index d1d9f06..05ad22e 100644
--- a/include/wine/winuser16.h
+++ b/include/wine/winuser16.h
@@ -704,7 +704,7 @@
DWORD WINAPI FormatMessage16(DWORD,SEGPTR,WORD,WORD,LPSTR,WORD,LPDWORD);
INT16 WINAPI FrameRect16(HDC16,const RECT16*,HBRUSH16);
HWND16 WINAPI GetActiveWindow16(void);
-WORD WINAPI GetAsyncKeyState16(INT16);
+INT16 WINAPI GetAsyncKeyState16(INT16);
HWND16 WINAPI GetCapture16(void);
UINT16 WINAPI GetCaretBlinkTime16(void);
VOID WINAPI GetCaretPos16(LPPOINT16);
diff --git a/include/winuser.h b/include/winuser.h
index ff8dbe9..c12879a 100644
--- a/include/winuser.h
+++ b/include/winuser.h
@@ -3822,7 +3822,7 @@
HWND WINAPI GetActiveWindow(void);
HWND WINAPI GetAncestor(HWND,UINT);
DWORD WINAPI GetAppCompatFlags(HTASK);
-WORD WINAPI GetAsyncKeyState(INT);
+SHORT WINAPI GetAsyncKeyState(INT);
HWND WINAPI GetCapture(void);
UINT WINAPI GetCaretBlinkTime(void);
BOOL WINAPI GetCaretPos(LPPOINT);
diff --git a/windows/input.c b/windows/input.c
index 9912892..3d69392 100644
--- a/windows/input.c
+++ b/windows/input.c
@@ -596,10 +596,10 @@
* mouse or key had been depressed since the last call to
* GetAsyncKeyState.
*/
-WORD WINAPI GetAsyncKeyState(INT nKey)
+SHORT WINAPI GetAsyncKeyState(INT nKey)
{
- WORD retval = ((AsyncKeyStateTable[nKey] & 0x80) ? 0x0001 : 0) |
- ((InputKeyStateTable[nKey] & 0x80) ? 0x8000 : 0);
+ SHORT retval = ((AsyncKeyStateTable[nKey] & 0x80) ? 0x0001 : 0) |
+ ((InputKeyStateTable[nKey] & 0x80) ? 0x8000 : 0);
AsyncKeyStateTable[nKey] = 0;
TRACE_(key)("(%x) -> %x\n", nKey, retval);
return retval;
@@ -608,7 +608,7 @@
/**********************************************************************
* GetAsyncKeyState (USER.249)
*/
-WORD WINAPI GetAsyncKeyState16(INT16 nKey)
+INT16 WINAPI GetAsyncKeyState16(INT16 nKey)
{
return GetAsyncKeyState(nKey);
}