#ifdef HAVE_XWIN_CONFIG_H
#include <xwin-config.h>
#endif
#include "win.h"
#ifdef XWIN_CLIPBOARD
# include "../../Xext/xf86miscproc.h"
#endif
#include "dixstruct.h"
#ifdef XWIN_CLIPBOARD
DISPATCH_PROC(winProcEstablishConnection);
DISPATCH_PROC(winProcQueryTree);
DISPATCH_PROC(winProcSetSelectionOwner);
#endif
CARD32 g_c32LastInputEventTime = 0;
#ifdef HAS_DEVWINDOWS
extern int g_fdMessageQueue;
#endif
extern Bool g_fXdmcpEnabled;
#ifdef XWIN_CLIPBOARD
extern winDispatchProcPtr winProcEstablishConnectionOrig;
extern winDispatchProcPtr winProcQueryTreeOrig;
#endif
Bool
LegalModifier (unsigned int uiKey, DevicePtr pDevice)
{
return TRUE;
}
void
ProcessInputEvents (void)
{
#if 0
ErrorF ("ProcessInputEvents\n");
#endif
mieqProcessInputEvents ();
miPointerUpdate ();
#if 0
ErrorF ("ProcessInputEvents - returning\n");
#endif
}
int
TimeSinceLastInputEvent ()
{
if (g_c32LastInputEventTime == 0)
g_c32LastInputEventTime = GetTickCount ();
return GetTickCount () - g_c32LastInputEventTime;
}
void
InitInput (int argc, char *argv[])
{
DeviceIntPtr pMouse, pKeyboard;
#if CYGDEBUG
winDebug ("InitInput\n");
#endif
#ifdef XWIN_CLIPBOARD
if (InitialVector[2] != winProcEstablishConnection)
{
winProcEstablishConnectionOrig = InitialVector[2];
InitialVector[2] = winProcEstablishConnection;
}
if (g_fXdmcpEnabled
&& ProcVector[X_QueryTree] != winProcQueryTree)
{
winProcQueryTreeOrig = ProcVector[X_QueryTree];
ProcVector[X_QueryTree] = winProcQueryTree;
}
#endif
pMouse = AddInputDevice (winMouseProc, TRUE);
pKeyboard = AddInputDevice (winKeybdProc, TRUE);
RegisterPointerDevice (pMouse);
RegisterKeyboardDevice (pKeyboard);
miRegisterPointerDevice (screenInfo.screens[0], pMouse);
mieqInit ((DevicePtr)pKeyboard, (DevicePtr)pMouse);
winInitializeModeKeyStates ();
#ifdef HAS_DEVWINDOWS
if (g_fdMessageQueue == WIN_FD_INVALID)
{
g_fdMessageQueue = open (WIN_MSG_QUEUE_FNAME, O_RDONLY);
if (g_fdMessageQueue == -1)
{
FatalError ("InitInput - Failed opening %s\n",
WIN_MSG_QUEUE_FNAME);
}
AddEnabledDevice (g_fdMessageQueue);
}
#endif
#if CYGDEBUG
winDebug ("InitInput - returning\n");
#endif
}