mirror of
https://github.com/reactos/reactos.git
synced 2024-06-29 01:12:06 +00:00
- Cleanup Real/GetInputState.
svn path=/trunk/; revision=40981
This commit is contained in:
parent
1c47f20400
commit
6dd2853afa
|
@ -2198,51 +2198,27 @@ ReleaseCapture(VOID)
|
|||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
* @implemented
|
||||
*/
|
||||
DWORD
|
||||
WINAPI
|
||||
RealGetQueueStatus(UINT flags)
|
||||
{
|
||||
DWORD ret;
|
||||
WORD changed_bits, wake_bits;
|
||||
|
||||
#if 0 /* wine stuff. don't know what it does... */
|
||||
|
||||
/* check for pending X events */
|
||||
if (USER_Driver.pMsgWaitForMultipleObjectsEx)
|
||||
USER_Driver.pMsgWaitForMultipleObjectsEx( 0, NULL, 0, 0, 0 );
|
||||
#endif
|
||||
|
||||
ret = NtUserCallOneParam(TRUE, ONEPARAM_ROUTINE_GETQUEUESTATUS);
|
||||
|
||||
changed_bits = LOWORD(ret);
|
||||
wake_bits = HIWORD(ret);
|
||||
|
||||
return MAKELONG(changed_bits & flags, wake_bits & flags);
|
||||
return NtUserCallOneParam(flags, ONEPARAM_ROUTINE_GETQUEUESTATUS);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
* @implemented
|
||||
*/
|
||||
BOOL WINAPI GetInputState(VOID)
|
||||
{
|
||||
DWORD ret;
|
||||
WORD wake_bits;
|
||||
PCLIENTTHREADINFO pcti = GetWin32ClientInfo()->pClientThreadInfo;
|
||||
|
||||
#if 0 /* wine stuff. don't know what it does... */
|
||||
|
||||
/* check for pending X events */
|
||||
if (USER_Driver.pMsgWaitForMultipleObjectsEx)
|
||||
USER_Driver.pMsgWaitForMultipleObjectsEx( 0, NULL, 0, 0, 0 );
|
||||
#endif
|
||||
|
||||
ret = NtUserCallOneParam(FALSE, ONEPARAM_ROUTINE_GETQUEUESTATUS);
|
||||
|
||||
wake_bits = HIWORD(ret);
|
||||
|
||||
return wake_bits & (QS_KEY | QS_MOUSEBUTTON);
|
||||
if ((!pcti) || (pcti->fsChangeBits & (QS_KEY|QS_MOUSEBUTTON)))
|
||||
return (BOOL)NtUserGetThreadState(THREADSTATE_GETINPUTSTATE);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1718,7 +1718,8 @@ enum ThreadStateRoutines
|
|||
THREADSTATE_CAPTUREWINDOW,
|
||||
THREADSTATE_PROGMANWINDOW,
|
||||
THREADSTATE_TASKMANWINDOW,
|
||||
THREADSTATE_GETMESSAGETIME
|
||||
THREADSTATE_GETMESSAGETIME,
|
||||
THREADSTATE_GETINPUTSTATE
|
||||
};
|
||||
|
||||
DWORD
|
||||
|
|
|
@ -118,6 +118,9 @@ NtUserGetThreadState(
|
|||
case THREADSTATE_GETMESSAGETIME:
|
||||
/* FIXME Needs more work! */
|
||||
RETURN( ((PTHREADINFO)PsGetCurrentThreadWin32Thread())->timeLast);
|
||||
|
||||
case THREADSTATE_GETINPUTSTATE:
|
||||
RETURN( HIWORD(IntGetQueueStatus(FALSE)) & (QS_KEY | QS_MOUSEBUTTON));
|
||||
}
|
||||
RETURN( 0);
|
||||
|
||||
|
|
|
@ -397,8 +397,14 @@ NtUserCallOneParam(
|
|||
RETURN (UserRealizePalette((HDC) Param));
|
||||
|
||||
case ONEPARAM_ROUTINE_GETQUEUESTATUS:
|
||||
RETURN (IntGetQueueStatus((BOOL) Param));
|
||||
|
||||
{
|
||||
DWORD Ret;
|
||||
WORD changed_bits, wake_bits;
|
||||
Ret = IntGetQueueStatus(FALSE);
|
||||
changed_bits = LOWORD(Ret);
|
||||
wake_bits = HIWORD(Ret);
|
||||
RETURN( MAKELONG(changed_bits & Param, wake_bits & Param));
|
||||
}
|
||||
case ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS:
|
||||
/* FIXME: Should use UserEnterShared */
|
||||
RETURN(IntEnumClipboardFormats(Param));
|
||||
|
|
Loading…
Reference in a new issue