Merged clipboard driver into USER driver.
Moved all ttydrv source files to dlls/ttydrv.
Load functions pointer for the USER driver from the graphics driver
dll with GetProcAddress.

diff --git a/windows/clipboard.c b/windows/clipboard.c
index 0977a87..bb44967 100644
--- a/windows/clipboard.c
+++ b/windows/clipboard.c
@@ -32,10 +32,11 @@
 #include "message.h"
 #include "task.h"
 #include "queue.h"
+#include "user.h"
 #include "clipboard.h"
 #include "debugtools.h"
 
-DEFAULT_DEBUG_CHANNEL(clipboard)
+DEFAULT_DEBUG_CHANNEL(clipboard);
 
 #define  CF_REGFORMATBASE 	0xC000
 
@@ -43,8 +44,6 @@
  *	  Clipboard context global variables
  */
 
-CLIPBOARD_DRIVER *CLIPBOARD_Driver = NULL;
-
 static HANDLE hClipLock   = 0;
 static BOOL bCBHasChanged  = FALSE;
 
@@ -60,24 +59,24 @@
  * declared in clipboard.h
  */
 WINE_CLIPFORMAT ClipFormats[17]  = {
-    { CF_TEXT, 1, 0, "Text",  (HANDLE16)NULL, (HANDLE)NULL, (HANDLE)NULL, 0, NULL, &ClipFormats[1]},
-    { CF_BITMAP, 1, 0, "Bitmap", (HANDLE16)NULL, (HANDLE)NULL, (HANDLE)NULL, 0, &ClipFormats[0], &ClipFormats[2]},
-    { CF_METAFILEPICT, 1, 0, "MetaFile Picture", (HANDLE16)NULL, (HANDLE)NULL, (HANDLE)NULL, 0, &ClipFormats[1], &ClipFormats[3]},
-    { CF_SYLK, 1, 0, "Sylk", (HANDLE16)NULL, (HANDLE)NULL, (HANDLE)NULL, 0, &ClipFormats[2], &ClipFormats[4]},
-    { CF_DIF, 1, 0, "DIF", (HANDLE16)NULL, (HANDLE)NULL, (HANDLE)NULL, 0, &ClipFormats[3], &ClipFormats[5]},
-    { CF_TIFF, 1, 0, "TIFF", (HANDLE16)NULL, (HANDLE)NULL, (HANDLE)NULL, 0, &ClipFormats[4], &ClipFormats[6]},
-    { CF_OEMTEXT, 1, 0, "OEM Text", (HANDLE16)NULL, (HANDLE)NULL, (HANDLE)NULL, 0, &ClipFormats[5], &ClipFormats[7]},
-    { CF_DIB, 1, 0, "DIB", (HANDLE16)NULL, (HANDLE)NULL, (HANDLE)NULL, 0, &ClipFormats[6], &ClipFormats[8]},
-    { CF_PALETTE, 1, 0, "Palette", (HANDLE16)NULL, (HANDLE)NULL, (HANDLE)NULL, 0, &ClipFormats[7], &ClipFormats[9]},
-    { CF_PENDATA, 1, 0, "PenData", (HANDLE16)NULL, (HANDLE)NULL, (HANDLE)NULL, 0, &ClipFormats[8], &ClipFormats[10]},
-    { CF_RIFF, 1, 0, "RIFF", (HANDLE16)NULL, (HANDLE)NULL, (HANDLE)NULL, 0, &ClipFormats[9], &ClipFormats[11]},
-    { CF_WAVE, 1, 0, "Wave", (HANDLE16)NULL, (HANDLE)NULL, (HANDLE)NULL, 0, &ClipFormats[10], &ClipFormats[12]},
-    { CF_OWNERDISPLAY, 1, 0, "Owner Display", (HANDLE16)NULL, (HANDLE)NULL, (HANDLE)NULL, 0, &ClipFormats[11], &ClipFormats[13]},
-    { CF_DSPTEXT, 1, 0, "DSPText", (HANDLE16)NULL, (HANDLE)NULL, (HANDLE)NULL, 0, &ClipFormats[12], &ClipFormats[14]},
-    { CF_DSPMETAFILEPICT, 1, 0, "DSPMetaFile Picture", (HANDLE16)NULL, (HANDLE)NULL, (HANDLE)NULL, 0, &ClipFormats[13], &ClipFormats[15]},
-    { CF_DSPBITMAP, 1, 0, "DSPBitmap", (HANDLE16)NULL, (HANDLE)NULL, (HANDLE)NULL, 0, &ClipFormats[14], &ClipFormats[16]},
-    { CF_HDROP, 1, 0, "HDROP", (HANDLE16)NULL, (HANDLE)NULL, (HANDLE)NULL, 0, &ClipFormats[15], NULL}
-    };
+    { CF_TEXT, 1, 0, "Text",  0, 0, 0, 0, NULL, &ClipFormats[1]},
+    { CF_BITMAP, 1, 0, "Bitmap", 0, 0, 0, 0, &ClipFormats[0], &ClipFormats[2]},
+    { CF_METAFILEPICT, 1, 0, "MetaFile Picture", 0, 0, 0, 0, &ClipFormats[1], &ClipFormats[3]},
+    { CF_SYLK, 1, 0, "Sylk", 0, 0, 0, 0, &ClipFormats[2], &ClipFormats[4]},
+    { CF_DIF, 1, 0, "DIF", 0, 0, 0, 0, &ClipFormats[3], &ClipFormats[5]},
+    { CF_TIFF, 1, 0, "TIFF", 0, 0, 0, 0, &ClipFormats[4], &ClipFormats[6]},
+    { CF_OEMTEXT, 1, 0, "OEM Text", 0, 0, 0, 0, &ClipFormats[5], &ClipFormats[7]},
+    { CF_DIB, 1, 0, "DIB", 0, 0, 0, 0, &ClipFormats[6], &ClipFormats[8]},
+    { CF_PALETTE, 1, 0, "Palette", 0, 0, 0, 0, &ClipFormats[7], &ClipFormats[9]},
+    { CF_PENDATA, 1, 0, "PenData", 0, 0, 0, 0, &ClipFormats[8], &ClipFormats[10]},
+    { CF_RIFF, 1, 0, "RIFF", 0, 0, 0, 0, &ClipFormats[9], &ClipFormats[11]},
+    { CF_WAVE, 1, 0, "Wave", 0, 0, 0, 0, &ClipFormats[10], &ClipFormats[12]},
+    { CF_OWNERDISPLAY, 1, 0, "Owner Display", 0, 0, 0, 0, &ClipFormats[11], &ClipFormats[13]},
+    { CF_DSPTEXT, 1, 0, "DSPText", 0, 0, 0, 0, &ClipFormats[12], &ClipFormats[14]},
+    { CF_DSPMETAFILEPICT, 1, 0, "DSPMetaFile Picture", 0, 0, 0, 0, &ClipFormats[13], &ClipFormats[15]},
+    { CF_DSPBITMAP, 1, 0, "DSPBitmap", 0, 0, 0, 0, &ClipFormats[14], &ClipFormats[16]},
+    { CF_HDROP, 1, 0, "HDROP", 0, 0, 0, 0, &ClipFormats[15], NULL}
+};
 
 
 /**************************************************************************
@@ -389,10 +388,10 @@
    * If WINE is not the selection owner, and the format is available
    * we must ask the the driver to render the data to the clipboard cache.
    */
-  if ( !CLIPBOARD_Driver->pIsSelectionOwner() 
-       && CLIPBOARD_Driver->pIsFormatAvailable( lpFormat->wFormatID ) )
+  if ( !USER_Driver.pIsSelectionOwner() 
+       && USER_Driver.pIsClipboardFormatAvailable( lpFormat->wFormatID ) )
   {
-    if ( !CLIPBOARD_Driver->pGetData( lpFormat->wFormatID ) )
+    if ( !USER_Driver.pGetClipboardData( lpFormat->wFormatID ) )
       return FALSE;
   }
   /*
@@ -621,7 +620,7 @@
     hTaskClipOwner = GetCurrentTask();
     
     /* Tell the driver to acquire the selection */
-    CLIPBOARD_Driver->pAcquire();
+    USER_Driver.pAcquireClipboard();
 
     return TRUE;
 }
@@ -673,7 +672,7 @@
     }
 
     /* Pass on the request to the driver */
-    CLIPBOARD_Driver->pSetData(wFormat);
+    USER_Driver.pSetClipboardData(wFormat);
 
     if ( lpFormat->wDataPresent || lpFormat->hData16 || lpFormat->hData32 ) 
     {
@@ -726,7 +725,7 @@
     }
 
     /* Tell the driver to acquire the selection */
-    CLIPBOARD_Driver->pAcquire();
+    USER_Driver.pAcquireClipboard();
 
     if ( lpFormat->wDataPresent &&
          (lpFormat->hData16 || lpFormat->hData32) )
@@ -927,8 +926,8 @@
            *    available to the clipboard driver.
            */
           if ( lpFormat->wDataPresent ||
-               ( !CLIPBOARD_Driver->pIsSelectionOwner()
-                 && CLIPBOARD_Driver->pIsFormatAvailable( lpFormat->wFormatID ) ) )
+               ( !USER_Driver.pIsSelectionOwner()
+                 && USER_Driver.pIsClipboardFormatAvailable( lpFormat->wFormatID ) ) )
           {
               TRACE("\tdata found for format 0x%04x(%s)\n",
                     lpFormat->wFormatID, CLIPBOARD_GetFormatName(lpFormat->wFormatID));
@@ -995,10 +994,10 @@
 	   (lpFormat->wFormatID == CF_TEXT && ClipFormats[CF_OEMTEXT-1].wDataPresent) );
 
         /* Query the driver if not yet in the cache */
-        if (!bFormatPresent && !CLIPBOARD_Driver->pIsSelectionOwner())
+        if (!bFormatPresent && !USER_Driver.pIsSelectionOwner())
         {
             bFormatPresent =
-               CLIPBOARD_Driver->pIsFormatAvailable( (lpFormat->wFormatID == CF_TEXT) ?
+               USER_Driver.pIsClipboardFormatAvailable( (lpFormat->wFormatID == CF_TEXT) ?
                                                       CF_OEMTEXT : lpFormat->wFormatID );
         }
 
@@ -1066,7 +1065,7 @@
     lpNewFormat->NextFormat = NULL;
 
     /* Pass on the registration request to the driver */
-    CLIPBOARD_Driver->pRegisterFormat( FormatName );
+    USER_Driver.pRegisterClipboardFormat( FormatName );
     
     return LastRegFormat++;
 }
@@ -1231,8 +1230,8 @@
         bRet = FALSE;
 
     /* If WINE is not the clipboard selection owner ask the clipboard driver */
-    else if ( !CLIPBOARD_Driver->pIsSelectionOwner() )
-        bRet = CLIPBOARD_Driver->pIsFormatAvailable( (wFormat == CF_TEXT) ?
+    else if ( !USER_Driver.pIsSelectionOwner() )
+        bRet = USER_Driver.pIsClipboardFormatAvailable( (wFormat == CF_TEXT) ?
                                                      CF_OEMTEXT : wFormat );
     /* Check if the format is in the local cache */
     else 
diff --git a/windows/cursoricon.c b/windows/cursoricon.c
index 7b37d4a..437be3a 100644
--- a/windows/cursoricon.c
+++ b/windows/cursoricon.c
@@ -707,7 +707,7 @@
             }
         }
         else resid = LOWORD(name);
-        h = USER_Driver->pLoadOEMResource( resid, fCursor ? OEM_CURSOR : OEM_ICON );
+        h = USER_Driver.pLoadOEMResource( resid, fCursor ? OEM_CURSOR : OEM_ICON );
     }
 
     else  /* Load from resource */
@@ -1392,7 +1392,7 @@
     /* Change the cursor shape only if it is visible */
     if (CURSOR_ShowCount >= 0)
     {
-        USER_Driver->pSetCursor( (CURSORICONINFO*)GlobalLock16( hActiveCursor ) );
+        USER_Driver.pSetCursor( (CURSORICONINFO*)GlobalLock16( hActiveCursor ) );
         GlobalUnlock16( hActiveCursor );
     }
     return hOldCursor;
@@ -1413,7 +1413,7 @@
  */
 BOOL WINAPI SetCursorPos( INT x, INT y )
 {
-    USER_Driver->pMoveCursor( x, y );
+    USER_Driver.pMoveCursor( x, y );
     return TRUE;
 }
 
@@ -1439,14 +1439,14 @@
     {
         if (++CURSOR_ShowCount == 0)  /* Show it */
         {
-            USER_Driver->pSetCursor( (CURSORICONINFO*)GlobalLock16( hActiveCursor ) );
+            USER_Driver.pSetCursor( (CURSORICONINFO*)GlobalLock16( hActiveCursor ) );
             GlobalUnlock16( hActiveCursor );
         }
     }
     else
     {
         if (--CURSOR_ShowCount == -1)  /* Hide it */
-            USER_Driver->pSetCursor( NULL );
+            USER_Driver.pSetCursor( NULL );
     }
     return CURSOR_ShowCount;
 }
@@ -2096,7 +2096,7 @@
       if (!instance)  /* OEM bitmap */
       {
 	  if (HIWORD((int)name)) return 0;
-          return USER_Driver->pLoadOEMResource( LOWORD((int)name), OEM_BITMAP );
+          return USER_Driver.pLoadOEMResource( LOWORD((int)name), OEM_BITMAP );
       }
 
       if (!(hRsrc = FindResourceW( instance, name, RT_BITMAPW ))) return 0;
diff --git a/windows/dce.c b/windows/dce.c
index c19f8b0..d6492e2 100644
--- a/windows/dce.c
+++ b/windows/dce.c
@@ -838,7 +838,7 @@
             WIN_ReleaseWndPtr(parentPtr);
         }
         else
-	    if ((hwnd == GetDesktopWindow()) && !USER_Driver->pIsSingleWindow())
+	    if ((hwnd == GetDesktopWindow()) && !USER_Driver.pIsSingleWindow())
                  hrgnVisible = CreateRectRgn( 0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN) );
 	    else 
             {
diff --git a/windows/event.c b/windows/event.c
index 37dd5b9..da5041e6 100644
--- a/windows/event.c
+++ b/windows/event.c
@@ -20,7 +20,7 @@
 void EVENT_Synchronize( void )
 {
     int iWndsLocks = WIN_SuspendWndsLock();
-    USER_Driver->pSynchronize();
+    USER_Driver.pSynchronize();
     WIN_RestoreWndsLock(iWndsLocks);
 }
 
@@ -29,7 +29,7 @@
  */
 BOOL EVENT_CheckFocus(void)
 {
-  return USER_Driver->pCheckFocus();
+  return USER_Driver.pCheckFocus();
 }
 
 
diff --git a/windows/keyboard.c b/windows/keyboard.c
index ccfe803..83e0dd4 100644
--- a/windows/keyboard.c
+++ b/windows/keyboard.c
@@ -66,7 +66,7 @@
   /* all states to false */
   memset( lpKeyState, 0, 256 );
   
-  if (!initDone) USER_Driver->pInitKeyboard();
+  if (!initDone) USER_Driver.pInitKeyboard();
   initDone = TRUE;
 }
 
@@ -180,7 +180,7 @@
 
 WORD WINAPI VkKeyScan16(CHAR cChar)
 {
-    return USER_Driver->pVkKeyScan(cChar);
+    return USER_Driver.pVkKeyScan(cChar);
 }
 
 /******************************************************************************
@@ -213,7 +213,7 @@
  */
 UINT16 WINAPI MapVirtualKey16(UINT16 wCode, UINT16 wMapType)
 {
-    return USER_Driver->pMapVirtualKey(wCode,wMapType);
+    return USER_Driver.pMapVirtualKey(wCode,wMapType);
 }
 
 /****************************************************************************
@@ -230,7 +230,7 @@
  */
 INT16 WINAPI GetKeyNameText16(LONG lParam, LPSTR lpBuffer, INT16 nSize)
 {
-    return USER_Driver->pGetKeyNameText(lParam, lpBuffer, nSize);
+    return USER_Driver.pGetKeyNameText(lParam, lpBuffer, nSize);
 }
 
 /****************************************************************************
@@ -254,7 +254,7 @@
 INT16 WINAPI ToAscii16(UINT16 virtKey,UINT16 scanCode, LPBYTE lpKeyState, 
                        LPVOID lpChar, UINT16 flags) 
 {
-    return USER_Driver->pToAscii( virtKey, scanCode, lpKeyState, lpChar, flags );
+    return USER_Driver.pToAscii( virtKey, scanCode, lpKeyState, lpChar, flags );
 }
 
 /***********************************************************************
@@ -262,7 +262,7 @@
  */
 BOOL KEYBOARD_GetBeepActive()
 {
-    return USER_Driver->pGetBeepActive();
+    return USER_Driver.pGetBeepActive();
 }
 
 /***********************************************************************
@@ -270,7 +270,7 @@
  */
 void KEYBOARD_SetBeepActive(BOOL bActivate)
 {
-    USER_Driver->pSetBeepActive(bActivate);
+    USER_Driver.pSetBeepActive(bActivate);
 }
 
 /***********************************************************************
@@ -286,6 +286,6 @@
  */
 BOOL WINAPI MessageBeep( UINT i )
 {
-    USER_Driver->pBeep();
+    USER_Driver.pBeep();
     return TRUE;
 }
diff --git a/windows/sysparams.c b/windows/sysparams.c
index 0a3ff01..00d65e8 100644
--- a/windows/sysparams.c
+++ b/windows/sysparams.c
@@ -91,7 +91,7 @@
 		break;
 
 	case SPI_GETSCREENSAVEACTIVE:	        
-	       if(USER_Driver->pGetScreenSaveActive() || 
+	       if(USER_Driver.pGetScreenSaveActive() || 
 		  GetProfileIntA( "windows", "ScreenSaveActive", 1 ) == 1)
 	        	*(BOOL*)lpvParam = TRUE;
 		else
@@ -99,7 +99,7 @@
 		break;
 
 	case SPI_GETSCREENSAVETIMEOUT:
-	        timeout = USER_Driver->pGetScreenSaveTimeout();
+	        timeout = USER_Driver.pGetScreenSaveTimeout();
 		if(!timeout)
 			timeout = GetProfileIntA( "windows", "ScreenSaveTimeout", 300 );
 		*(INT *) lpvParam = timeout * 1000;
@@ -328,7 +328,7 @@
 			break;
 
 		case SPI_GETSCREENSAVEACTIVE:
-		  if(USER_Driver->pGetScreenSaveActive() ||
+		  if(USER_Driver.pGetScreenSaveActive() ||
 		     GetProfileIntA( "windows", "ScreenSaveActive", 1 ) == 1)
    		        *(BOOL16 *) lpvParam = TRUE;
                     else
@@ -336,7 +336,7 @@
                     break;
 
 		case SPI_GETSCREENSAVETIMEOUT:
-			timeout = USER_Driver->pGetScreenSaveTimeout();
+			timeout = USER_Driver.pGetScreenSaveTimeout();
 			if(!timeout)
 			    timeout = GetProfileIntA( "windows", "ScreenSaveTimeout", 300 );
 			*(INT16 *) lpvParam = timeout;
@@ -363,11 +363,11 @@
 			break;
 
 		case SPI_SETSCREENSAVEACTIVE:
-			USER_Driver->pSetScreenSaveActive(uParam);
+			USER_Driver.pSetScreenSaveActive(uParam);
 			break;
 
 		case SPI_SETSCREENSAVETIMEOUT:
-			USER_Driver->pSetScreenSaveTimeout(uParam);
+			USER_Driver.pSetScreenSaveTimeout(uParam);
 			break;
 
 		case SPI_SETDESKWALLPAPER:
diff --git a/windows/ttydrv/Makefile.in b/windows/ttydrv/Makefile.in
deleted file mode 100644
index 8e24494..0000000
--- a/windows/ttydrv/Makefile.in
+++ /dev/null
@@ -1,20 +0,0 @@
-DEFS      = @DLLFLAGS@ -D__WINE__
-TOPSRCDIR = @top_srcdir@
-TOPOBJDIR = ../..
-SRCDIR    = @srcdir@
-VPATH     = @srcdir@
-MODULE    = ttydrv
-
-C_SRCS = \
-	clipboard.c \
-	event.c \
-	init.c \
-	keyboard.c \
-	mouse.c \
-	wnd.c
-
-all: $(MODULE).o
-
-@MAKE_RULES@
-
-### Dependencies:
diff --git a/windows/ttydrv/clipboard.c b/windows/ttydrv/clipboard.c
deleted file mode 100644
index c9ef3aa..0000000
--- a/windows/ttydrv/clipboard.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * TTY clipboard driver
- *
- * Copyright 1998-1999 Patrik Stridvall
- */
-
-#include "heap.h"
-#include "ttydrv.h"
-#include "win.h"
-
-/**********************************************************************/
-
-char *TTYDRV_CLIPBOARD_szSelection = NULL;
-
-/***********************************************************************
- *		TTYDRV_CLIPBOARD_Acquire
- */
-void TTYDRV_CLIPBOARD_Acquire()
-{
-}
-
-/***********************************************************************
- *		TTYDRV_CLIPBOARD_Release
- */
-void TTYDRV_CLIPBOARD_Release()
-{
-  if(TTYDRV_CLIPBOARD_szSelection)
-    {
-      HeapFree(SystemHeap, 0, TTYDRV_CLIPBOARD_szSelection);
-      TTYDRV_CLIPBOARD_szSelection = NULL;
-    }
-}
-
-/***********************************************************************
- *		TTYDRV_CLIPBOARD_SetData
- */
-void TTYDRV_CLIPBOARD_SetData(UINT wFormat)
-{
-}
-
-/***********************************************************************
- *		TTYDRV_CLIPBOARD_GetData
- */
-BOOL TTYDRV_CLIPBOARD_GetData(UINT wFormat)
-{
-  return FALSE;
-}
-
-/***********************************************************************
- *		TTYDRV_CLIPBOARD_IsFormatAvailable
- */
-BOOL TTYDRV_CLIPBOARD_IsFormatAvailable(UINT wFormat)
-{
-  return FALSE;
-}
-
-/**************************************************************************
- *		TTYDRV_CLIPBOARD_RegisterFormat
- *
- * Registers a custom clipboard format
- * Returns: TRUE - new format registered, FALSE - Format already registered
- */
-BOOL TTYDRV_CLIPBOARD_RegisterFormat( LPCSTR FormatName )
-{
-  return TRUE;
-}
-
-/**************************************************************************
- *		TTYDRV_CLIPBOARD_IsSelectionowner
- *
- * Returns: TRUE - We(WINE) own the selection, FALSE - Selection not owned by us
- */
-BOOL TTYDRV_CLIPBOARD_IsSelectionowner()
-{
-    return FALSE;
-}
-
-/***********************************************************************
- *		TTYDRV_CLIPBOARD_ResetOwner
- */
-void TTYDRV_CLIPBOARD_ResetOwner(WND *pWnd, BOOL bFooBar)
-{
-}
diff --git a/windows/ttydrv/event.c b/windows/ttydrv/event.c
deleted file mode 100644
index 3997379..0000000
--- a/windows/ttydrv/event.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * TTY event driver
- *
- * Copyright 1998-1999 Patrik Stridvall
- */
-
-#include "ttydrv.h"
-
-/***********************************************************************
- *		TTYDRV_EVENT_Synchronize
- */
-void TTYDRV_EVENT_Synchronize( void )
-{
-}
-
-/***********************************************************************
- *		TTYDRV_EVENT_CheckFocus
- */
-BOOL TTYDRV_EVENT_CheckFocus(void)
-{
-  return TRUE;
-}
-
-/***********************************************************************
- *		TTYDRV_EVENT_UserRepaintDisable
- */
-void TTYDRV_EVENT_UserRepaintDisable( BOOL bDisable )
-{
-}
-
diff --git a/windows/ttydrv/init.c b/windows/ttydrv/init.c
deleted file mode 100644
index dedd860..0000000
--- a/windows/ttydrv/init.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * TTY driver
- *
- * Copyright 1998-1999 Patrik Stridvall
- */
-
-#include "clipboard.h"
-#include "user.h"
-#include "win.h"
-#include "ttydrv.h"
-
-CLIPBOARD_DRIVER TTYDRV_CLIPBOARD_Driver =
-{
-  TTYDRV_CLIPBOARD_Acquire,
-  TTYDRV_CLIPBOARD_Release,
-  TTYDRV_CLIPBOARD_SetData,
-  TTYDRV_CLIPBOARD_GetData,
-  TTYDRV_CLIPBOARD_IsFormatAvailable,
-  TTYDRV_CLIPBOARD_RegisterFormat,
-  TTYDRV_CLIPBOARD_IsSelectionowner,
-  TTYDRV_CLIPBOARD_ResetOwner
-};
-
-WND_DRIVER TTYDRV_WND_Driver =
-{
-  TTYDRV_WND_Initialize,
-  TTYDRV_WND_Finalize,
-  TTYDRV_WND_CreateDesktopWindow,
-  TTYDRV_WND_CreateWindow,
-  TTYDRV_WND_DestroyWindow,
-  TTYDRV_WND_SetParent,
-  TTYDRV_WND_ForceWindowRaise,
-  TTYDRV_WND_SetWindowPos,
-  TTYDRV_WND_SetText,
-  TTYDRV_WND_SetFocus,
-  TTYDRV_WND_PreSizeMove,
-  TTYDRV_WND_PostSizeMove,
-  TTYDRV_WND_ScrollWindow,
-  TTYDRV_WND_SetDrawable,
-  TTYDRV_WND_SetHostAttr,
-  TTYDRV_WND_IsSelfClipping,
-  TTYDRV_WND_SetWindowRgn
-};
-
-
diff --git a/windows/ttydrv/keyboard.c b/windows/ttydrv/keyboard.c
deleted file mode 100644
index d03e35c..0000000
--- a/windows/ttydrv/keyboard.c
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * TTY keyboard driver
- *
- * Copyright 1998 Patrik Stridvall
- */
-
-#include "dinput.h"
-#include "user.h"
-#include "keyboard.h"
-#include "ttydrv.h"
-
-/***********************************************************************
- *		TTYDRV_KEYBOARD_Init
- */
-void TTYDRV_KEYBOARD_Init(void)
-{
-}
-
-/***********************************************************************
- *		TTYDRV_KEYBOARD_VkKeyScan
- */
-WORD TTYDRV_KEYBOARD_VkKeyScan(CHAR cChar)
-{
-  return 0;
-}
-
-/***********************************************************************
- *		TTYDRV_KEYBOARD_MapVirtualKey
- */
-UINT16 TTYDRV_KEYBOARD_MapVirtualKey(UINT16 wCode, UINT16 wMapType)
-{
-  return 0;
-}
-
-/***********************************************************************
- *		TTYDRV_KEYBOARD_GetKeyNameText
- */
-INT16 TTYDRV_KEYBOARD_GetKeyNameText(
-  LONG lParam, LPSTR lpBuffer, INT16 nSize)
-{  
-  if(lpBuffer && nSize)
-    {
-      *lpBuffer = 0;
-    }
-  return 0;
-}
-
-/***********************************************************************
- *		TTYDRV_KEYBOARD_ToAscii
- */
-INT16 TTYDRV_KEYBOARD_ToAscii(
-   UINT16 virtKey, UINT16 scanCode,
-   LPBYTE lpKeyState, LPVOID lpChar, UINT16 flags)
-{
-  return 0;
-}
-
-/***********************************************************************
- *		TTYDRV_KEYBOARD_GetBeepActive
- */
-BOOL TTYDRV_KEYBOARD_GetBeepActive()
-{
-  return FALSE;
-}
-
-/***********************************************************************
- *		TTYDRV_KEYBOARD_SetBeepActive
- */
-void TTYDRV_KEYBOARD_SetBeepActive(BOOL bActivate)
-{
-}
-
-/***********************************************************************
- *		TTYDRV_KEYBOARD_Beep
- */
-void TTYDRV_KEYBOARD_Beep()
-{
-}
-
-/***********************************************************************
- *		TTYDRV_KEYBOARD_GetDIState
- */
-BOOL TTYDRV_KEYBOARD_GetDIState(DWORD len, LPVOID ptr)
-{
-  return TRUE;
-}
-
-/***********************************************************************
- *		TTYDRV_KEYBOARD_GetDIData
- */
-BOOL TTYDRV_KEYBOARD_GetDIData(
-  BYTE *keystate,
-  DWORD dodsize, LPDIDEVICEOBJECTDATA dod,
-  LPDWORD entries, DWORD flags)
-{
-  return TRUE;
-}
-
-/***********************************************************************
- *		TTYDRV_KEYBOARD_GetKeyboardConfig
- */
-void TTYDRV_KEYBOARD_GetKeyboardConfig(KEYBOARD_CONFIG *cfg) {
-
-}
-
-/***********************************************************************
- *		TTYDRV_KEYBOARD_SetKeyboardConfig
- */
-extern void TTYDRV_KEYBOARD_SetKeyboardConfig(KEYBOARD_CONFIG *cfg, DWORD mask) {
-
-}
-
diff --git a/windows/ttydrv/mouse.c b/windows/ttydrv/mouse.c
deleted file mode 100644
index 1804256..0000000
--- a/windows/ttydrv/mouse.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * TTY mouse driver
- *
- * Copyright 1998,1999 Patrik Stridvall
- */
-
-#include "ttydrv.h"
-
-/***********************************************************************
- *		TTYDRV_MOUSE_SetCursor
- */
-void TTYDRV_MOUSE_SetCursor( struct tagCURSORICONINFO *lpCursor )
-{
-}
-
-/***********************************************************************
- *		TTYDRV_MOUSE_MoveCursor
- */
-void TTYDRV_MOUSE_MoveCursor(WORD wAbsX, WORD wAbsY)
-{
-}
-
-/***********************************************************************
- *           TTYDRV_MOUSE_Init
- */
-void TTYDRV_MOUSE_Init(LPMOUSE_EVENT_PROC proc)
-{
-}
diff --git a/windows/ttydrv/wnd.c b/windows/ttydrv/wnd.c
deleted file mode 100644
index df64709..0000000
--- a/windows/ttydrv/wnd.c
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * TTY window driver
- *
- * Copyright 1998,1999 Patrik Stridvall
- */
-
-#include "config.h"
-
-#include "class.h"
-#include "dc.h"
-#include "heap.h"
-#include "ttydrv.h"
-#include "win.h"
-#include "debugtools.h"
-
-DEFAULT_DEBUG_CHANNEL(ttydrv)
-
-/***********************************************************************
- *		TTYDRV_WND_GetCursesWindow
- *
- * Return the Curses window associated to a window.
- */
-WINDOW *TTYDRV_WND_GetCursesWindow(WND *wndPtr)
-{
-    return wndPtr && wndPtr->pDriverData ? 
-      ((TTYDRV_WND_DATA *) wndPtr->pDriverData)->window : 0;
-}
-
-/**********************************************************************
- *		TTYDRV_WND_Initialize
- */
-void TTYDRV_WND_Initialize(WND *wndPtr)
-{
-  TTYDRV_WND_DATA *pWndDriverData = 
-    (TTYDRV_WND_DATA *) HeapAlloc(SystemHeap, 0, sizeof(TTYDRV_WND_DATA));
-
-  TRACE("(%p)\n", wndPtr);
-
-  wndPtr->pDriverData = (void *) pWndDriverData;
-
-  pWndDriverData->window = NULL;
-}
-
-/**********************************************************************
- *		TTYDRV_WND_Finalize
- */
-void TTYDRV_WND_Finalize(WND *wndPtr)
-{
-  TTYDRV_WND_DATA *pWndDriverData =
-    (TTYDRV_WND_DATA *) wndPtr->pDriverData;
-
-  TRACE("(%p)\n", wndPtr);
-
-  if(!pWndDriverData) {
-    ERR("WND already destroyed\n");
-    return;
-  }
-
-  if(pWndDriverData->window) {
-    ERR("WND destroyed without destroying the associated Curses Windows");
-  }
-
-  HeapFree(SystemHeap, 0, pWndDriverData);
-  wndPtr->pDriverData = NULL;
-}
-
-/**********************************************************************
- *		TTYDRV_WND_CreateDesktopWindow
- */
-BOOL TTYDRV_WND_CreateDesktopWindow(WND *wndPtr, CLASS *classPtr, BOOL bUnicode)
-{
-  TTYDRV_WND_DATA *pWndDriverData =
-    (TTYDRV_WND_DATA *) wndPtr->pDriverData;
-
-  TRACE("(%p, %p, %d)\n", wndPtr, classPtr, bUnicode);
-
-  if(!pWndDriverData) { ERR("WND never initialized\n"); return FALSE; }
-
-  pWndDriverData->window = TTYDRV_GetRootWindow();
-  return TRUE;
-}
-
-/**********************************************************************
- *		TTYDRV_WND_CreateWindow
- */
-BOOL TTYDRV_WND_CreateWindow(WND *wndPtr, CLASS *classPtr, CREATESTRUCTA *cs, BOOL bUnicode)
-{
-#ifdef WINE_CURSES
-  WINDOW *window;
-  INT cellWidth=8, cellHeight=8; /* FIXME: Hardcoded */
-
-  TRACE("(%p, %p, %p, %d)\n", wndPtr, classPtr, cs, bUnicode);
-
-  /* Only create top-level windows */
-  if(cs->style & WS_CHILD)
-    return TRUE;
-
-  window = subwin(TTYDRV_GetRootWindow(), cs->cy/cellHeight, cs->cx/cellWidth,
-		  cs->y/cellHeight, cs->x/cellWidth);
-  werase(window);
-  wrefresh(window);
-		  
-  return TRUE;
-#else /* defined(WINE_CURSES) */
-  FIXME("(%p, %p, %p, %d): stub\n", wndPtr, classPtr, cs, bUnicode);
-
-  return TRUE;
-#endif /* defined(WINE_CURSES) */
-}
-
-/***********************************************************************
- *		TTYDRV_WND_DestroyWindow
- */
-BOOL TTYDRV_WND_DestroyWindow(WND *wndPtr)
-{
-#ifdef WINE_CURSES
-  WINDOW *window;
-
-  TRACE("(%p)\n", wndPtr);
-
-  window = TTYDRV_WND_GetCursesWindow(wndPtr);
-  if(window && window != TTYDRV_GetRootWindow()) {
-    delwin(window);
-  }
-
-  return TRUE;
-#else /* defined(WINE_CURSES) */
-  FIXME("(%p): stub\n", wndPtr);
-
-  return TRUE;
-#endif /* defined(WINE_CURSES) */
-}
-
-/*****************************************************************
- *		TTYDRV_WND_SetParent
- */
-WND *TTYDRV_WND_SetParent(WND *wndPtr, WND *pWndParent)
-{
-  FIXME("(%p, %p): stub\n", wndPtr, pWndParent);
-
-  return NULL;
-}
-
-/***********************************************************************
- *		TTYDRV_WND_ForceWindowRaise
- */
-void TTYDRV_WND_ForceWindowRaise(WND *wndPtr)
-{
-  FIXME("(%p): stub\n", wndPtr);
-}
-
-/***********************************************************************
- *           TTYDRV_WINPOS_SetWindowPos
- */
-void TTYDRV_WND_SetWindowPos(WND *wndPtr, const WINDOWPOS *winpos, BOOL bSMC_SETXPOS)
-{
-  FIXME("(%p, %p, %d): stub\n", wndPtr, winpos, bSMC_SETXPOS);
-}
-
-/*****************************************************************
- *		TTYDRV_WND_SetText
- */
-void TTYDRV_WND_SetText(WND *wndPtr, LPCWSTR text)
-{
-  FIXME("(%p, %s): stub\n", wndPtr, debugstr_w(text));
-}
-
-/*****************************************************************
- *		TTYDRV_WND_SetFocus
- */
-void TTYDRV_WND_SetFocus(WND *wndPtr)
-{
-  FIXME("(%p): stub\n", wndPtr);
-}
-
-/*****************************************************************
- *		TTYDRV_WND_PreSizeMove
- */
-void TTYDRV_WND_PreSizeMove(WND *wndPtr)
-{
-  FIXME("(%p): stub\n", wndPtr);
-}
-
-/*****************************************************************
- *		 TTYDRV_WND_PostSizeMove
- */
-void TTYDRV_WND_PostSizeMove(WND *wndPtr)
-{
-  FIXME("(%p): stub\n", wndPtr);
-}
-
-/*****************************************************************
- *		 TTYDRV_WND_ScrollWindow
- */
-void TTYDRV_WND_ScrollWindow( WND *wndPtr, HDC hdc, INT dx, INT dy, 
-                              const RECT *clipRect, BOOL bUpdate)
-{
-  FIXME("(%p, %x, %d, %d, %p, %d): stub\n", 
-	wndPtr, hdc, dx, dy, clipRect, bUpdate);
-}
-
-/***********************************************************************
- *		TTYDRV_WND_SetDrawable
- */
-void TTYDRV_WND_SetDrawable(WND *wndPtr, HDC hdc, WORD flags, BOOL bSetClipOrigin)
-{
-    DC *dc = DC_GetDCPtr( hdc );
-    if (!dc) return;
-    TRACE("(%p, %p, %d, %d)\n", wndPtr, dc, flags, bSetClipOrigin);
-
-  /* FIXME: Should be done in the common code instead */
-  if(!wndPtr)  {
-    dc->w.DCOrgX = 0;
-    dc->w.DCOrgY = 0;
-  } else {
-    if(flags & DCX_WINDOW) {
-      dc->w.DCOrgX = wndPtr->rectWindow.left;
-      dc->w.DCOrgY = wndPtr->rectWindow.top;
-    } else {
-      dc->w.DCOrgX = wndPtr->rectClient.left;
-      dc->w.DCOrgY = wndPtr->rectClient.top;
-    }
-  }
-  GDI_HEAP_UNLOCK( hdc );
-}
-
-/***********************************************************************
- *              TTYDRV_WND_SetHostAttr
- */
-BOOL TTYDRV_WND_SetHostAttr(WND *wndPtr, INT attr, INT value)
-{
-  FIXME("(%p): stub\n", wndPtr);
-
-  return TRUE;
-}
-
-/***********************************************************************
- *		TTYDRV_WND_IsSelfClipping
- */
-BOOL TTYDRV_WND_IsSelfClipping(WND *wndPtr)
-{
-  FIXME("(%p): semistub\n", wndPtr);
-
-  return FALSE;
-}
-
-/***********************************************************************
- *		TTYDRV_WND_SetWindowRgn
- */
-void TTYDRV_WND_SetWindowRgn(struct tagWND *wndPtr, HRGN hrgnWnd)
-{
-}
-
diff --git a/windows/win.c b/windows/win.c
index 7d5b896..74c8f37 100644
--- a/windows/win.c
+++ b/windows/win.c
@@ -1233,7 +1233,7 @@
     WIN_CheckFocus(pWnd);
 
     if( CARET_GetHwnd() == pWnd->hwndSelf ) DestroyCaret();
-    CLIPBOARD_Driver->pResetOwner( pWnd, TRUE ); 
+    USER_Driver.pResetSelectionOwner( pWnd, TRUE ); 
 
     /*
      * Send the WM_DESTROY to the window.
@@ -1374,7 +1374,7 @@
             }
 	}
 
-    CLIPBOARD_Driver->pResetOwner( wndPtr, FALSE ); /* before the window is unmapped */
+    USER_Driver.pResetSelectionOwner( wndPtr, FALSE ); /* before the window is unmapped */
 
       /* Hide the window */
 
diff --git a/windows/x11drv/Makefile.in b/windows/x11drv/Makefile.in
index 3159c15..69e327f 100644
--- a/windows/x11drv/Makefile.in
+++ b/windows/x11drv/Makefile.in
@@ -8,7 +8,6 @@
 C_SRCS = \
 	clipboard.c \
 	event.c \
-	init.c \
 	keyboard.c \
 	mouse.c \
 	wnd.c
diff --git a/windows/x11drv/clipboard.c b/windows/x11drv/clipboard.c
index 52ce5dc..8c85501 100644
--- a/windows/x11drv/clipboard.c
+++ b/windows/x11drv/clipboard.c
@@ -126,7 +126,7 @@
          * and if CF_DIB exists in the cache.
          * If wine dowsn't own the selection we always return CF_DIB
          */
-        if ( !X11DRV_CLIPBOARD_IsSelectionowner() )
+        if ( !X11DRV_IsSelectionOwner() )
             return CF_DIB;
         else if ( CLIPBOARD_IsPresent(CF_DIB) )
             return CF_DIB;
@@ -161,7 +161,7 @@
              * Request a PIXMAP, only if WINE is NOT the selection owner,
              * AND the requested format is not in the cache.
              */
-            if ( !X11DRV_CLIPBOARD_IsSelectionowner() && !CLIPBOARD_IsPresent(wFormat) )
+            if ( !X11DRV_IsSelectionOwner() && !CLIPBOARD_IsPresent(wFormat) )
             {
               prop = XA_PIXMAP;
               break;
@@ -793,10 +793,10 @@
 }
 
 /**************************************************************************
- *		X11DRV_CLIPBOARD_Empty
+ *		X11DRV_ReleaseClipboard
  *  Voluntarily release all currently owned X selections
  */
-void X11DRV_CLIPBOARD_Release()
+void X11DRV_ReleaseClipboard(void)
 {
     if( selectionAcquired )
     {
@@ -845,9 +845,9 @@
 }
 
 /**************************************************************************
- *		X11DRV_CLIPBOARD_Acquire()
+ *		X11DRV_AcquireClipboard
  */
-void X11DRV_CLIPBOARD_Acquire()
+void X11DRV_AcquireClipboard(void)
 {
     Window       owner;
     HWND         hWndClipWindow = GetOpenClipboardWindow();
@@ -895,12 +895,12 @@
 }
 
 /**************************************************************************
- *		X11DRV_CLIPBOARD_IsFormatAvailable
+ *		X11DRV_IsClipboardFormatAvailable
  *
  * Checks if the specified format is available in the current selection
  * Only invoked when WINE is not the selection owner
  */
-BOOL X11DRV_CLIPBOARD_IsFormatAvailable(UINT wFormat)
+BOOL X11DRV_IsClipboardFormatAvailable(UINT wFormat)
 {
     Atom xaClipboard = TSXInternAtom(display, _CLIPBOARD, False);
     Window ownerPrimary = TSXGetSelectionOwner(display,XA_PRIMARY);
@@ -943,18 +943,18 @@
      * try to convert the selection to the requested type.
      */
     if ( !cSelectionTargets )
-        return X11DRV_CLIPBOARD_GetData( wFormat );
+        return X11DRV_GetClipboardData( wFormat );
         
     return FALSE;
 }
 
 /**************************************************************************
- *		X11DRV_CLIPBOARD_RegisterFormat
+ *		X11DRV_RegisterClipboardFormat
  *
  * Registers a custom X clipboard format
  * Returns: TRUE - success,  FALSE - failure
  */
-BOOL X11DRV_CLIPBOARD_RegisterFormat( LPCSTR FormatName )
+BOOL X11DRV_RegisterClipboardFormat( LPCSTR FormatName )
 {
     Atom prop = None;
     char str[256];
@@ -975,30 +975,30 @@
 }
 
 /**************************************************************************
- *		X11DRV_CLIPBOARD_IsSelectionowner
+ *		X11DRV_IsSelectionOwner
  *
  * Returns: TRUE - We(WINE) own the selection, FALSE - Selection not owned by us
  */
-BOOL X11DRV_CLIPBOARD_IsSelectionowner()
+BOOL X11DRV_IsSelectionOwner(void)
 {
     return selectionAcquired;
 }
 
 /**************************************************************************
- *		X11DRV_CLIPBOARD_SetData
+ *		X11DRV_SetClipboardData
  *
  * We don't need to do anything special here since the clipboard code
  * maintains the cache. 
  *
  */
-void X11DRV_CLIPBOARD_SetData(UINT wFormat)
+void X11DRV_SetClipboardData(UINT wFormat)
 {
     /* Make sure we have acquired the X selection */
-    X11DRV_CLIPBOARD_Acquire();
+    X11DRV_AcquireClipboard();
 }
 
 /**************************************************************************
- *		X11DRV_CLIPBOARD_GetData
+ *		X11DRV_GetClipboardData
  *
  * This method is invoked only when we DO NOT own the X selection
  *
@@ -1007,7 +1007,7 @@
  * We always get the data from the selection client each time,
  * since we have no way of determining if the data in our cache is stale.
  */
-BOOL X11DRV_CLIPBOARD_GetData(UINT wFormat)
+BOOL X11DRV_GetClipboardData(UINT wFormat)
 {
     BOOL bRet = selectionAcquired;
     HWND hWndClipWindow = GetOpenClipboardWindow();
@@ -1074,7 +1074,7 @@
 }
 
 /**************************************************************************
- *		X11DRV_CLIPBOARD_ResetOwner
+ *		X11DRV_ResetSelectionOwner
  *
  * Called from DestroyWindow() to prevent X selection from being lost when
  * a top level window is destroyed, by switching ownership to another top
@@ -1082,7 +1082,7 @@
  * Any top level window can own the selection. See X11DRV_CLIPBOARD_Acquire
  * for a more detailed description of this.
  */
-void X11DRV_CLIPBOARD_ResetOwner(WND *pWnd, BOOL bFooBar)
+void X11DRV_ResetSelectionOwner(WND *pWnd, BOOL bFooBar)
 {
     HWND hWndClipOwner = 0;
     Window XWnd = X11DRV_WND_GetXWindow(pWnd);
diff --git a/windows/x11drv/event.c b/windows/x11drv/event.c
index 0c484f4..01f9321 100644
--- a/windows/x11drv/event.c
+++ b/windows/x11drv/event.c
@@ -202,20 +202,20 @@
 }
 
 /***********************************************************************
- *           EVENT_Synchronize
+ *           X11DRV_Synchronize
  *
  * Synchronize with the X server. Should not be used too often.
  */
-void X11DRV_EVENT_Synchronize( void )
+void X11DRV_Synchronize( void )
 {
     TSXSync( display, False );
     EVENT_ProcessAllEvents( 0 );
 }
 
 /***********************************************************************
- *           EVENT_UserRepaintDisable
+ *           X11DRV_UserRepaintDisable
  */
-void X11DRV_EVENT_UserRepaintDisable( BOOL bDisabled )
+void X11DRV_UserRepaintDisable( BOOL bDisabled )
 {
     bUserRepaintDisabled = bDisabled;
 }
@@ -715,12 +715,12 @@
     int yOffset = pWnd? pWnd->rectWindow.top  : 0;
     WIN_ReleaseWndPtr(pWnd);
     
-    X11DRV_MOUSE_SendEvent( MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE, 
+    X11DRV_SendEvent( MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE, 
                             xOffset + event->x, yOffset + event->y,
                             X11DRV_EVENT_XStateToKeyState( event->state ), 
                             event->time, hWnd);
   } else {
-    X11DRV_MOUSE_SendEvent( MOUSEEVENTF_MOVE,
+    X11DRV_SendEvent( MOUSEEVENTF_MOVE,
                             event->x_root, event->y_root,
                             X11DRV_EVENT_XStateToKeyState( event->state ), 
                             event->time, hWnd);
@@ -774,7 +774,7 @@
         break;
   }
   
-  X11DRV_MOUSE_SendEvent( statusCodes[buttonNum], 
+  X11DRV_SendEvent( statusCodes[buttonNum], 
                           xOffset + event->x, yOffset + event->y,
                           MAKEWPARAM(keystate,wData),
                           event->time, hWnd);
@@ -822,7 +822,7 @@
       return;
   }
 
-  X11DRV_MOUSE_SendEvent( statusCodes[buttonNum], 
+  X11DRV_SendEvent( statusCodes[buttonNum], 
                           xOffset + event->x, yOffset + event->y,
                           keystate, event->time, hWnd);
 }
@@ -865,9 +865,9 @@
 }
 
 /**********************************************************************
- *              X11DRV_EVENT_CheckFocus
+ *              X11DRV_CheckFocus
  */
-BOOL X11DRV_EVENT_CheckFocus(void)
+BOOL X11DRV_CheckFocus(void)
 {
   HWND   hWnd;
   Window xW;
@@ -1489,7 +1489,7 @@
       TRACE("\tPropertyDelete for atom %s on window %ld\n",
             TSXGetAtomName(event->display, event->atom), (long)event->window);
       
-      if (X11DRV_CLIPBOARD_IsSelectionowner())
+      if (X11DRV_IsSelectionOwner())
           X11DRV_CLIPBOARD_FreeResources( event->atom );
       break;
     }
@@ -1899,7 +1899,7 @@
     TSXRefreshKeyboardMapping(event);
 
     /* reinitialize Wine-X11 driver keyboard table */
-    X11DRV_KEYBOARD_Init();
+    X11DRV_InitKeyboard();
 }
 
 
@@ -1940,7 +1940,7 @@
 /* DGA2 event handlers */
 static void EVENT_DGAMotionEvent( XDGAMotionEvent *event )
 {
-  X11DRV_MOUSE_SendEvent( MOUSEEVENTF_MOVE, 
+  X11DRV_SendEvent( MOUSEEVENTF_MOVE, 
 		   event->dx, event->dy,
 		   X11DRV_EVENT_XStateToKeyState( event->state ), 
 		   event->time, DGAhwnd );
@@ -1971,7 +1971,7 @@
       break;
   }
   
-  X11DRV_MOUSE_SendEvent( statusCodes[buttonNum], 0, 0, keystate, event->time, DGAhwnd );
+  X11DRV_SendEvent( statusCodes[buttonNum], 0, 0, keystate, event->time, DGAhwnd );
 }
 
 static void EVENT_DGAButtonReleaseEvent( XDGAButtonEvent *event )
@@ -1999,7 +1999,7 @@
       break;
   }
   
-  X11DRV_MOUSE_SendEvent( statusCodes[buttonNum], 0, 0, keystate, event->time, DGAhwnd );
+  X11DRV_SendEvent( statusCodes[buttonNum], 0, 0, keystate, event->time, DGAhwnd );
 }
 
 #endif
diff --git a/windows/x11drv/init.c b/windows/x11drv/init.c
deleted file mode 100644
index 525e041..0000000
--- a/windows/x11drv/init.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * X11 driver
- *
- * Copyright 1998 Patrik Stridvall
- */
-
-#include "clipboard.h"
-#include "user.h"
-#include "win.h"
-#include "x11drv.h"
-
-CLIPBOARD_DRIVER X11DRV_CLIPBOARD_Driver =
-{
-  X11DRV_CLIPBOARD_Acquire,
-  X11DRV_CLIPBOARD_Release,
-  X11DRV_CLIPBOARD_SetData,
-  X11DRV_CLIPBOARD_GetData,
-  X11DRV_CLIPBOARD_IsFormatAvailable,
-  X11DRV_CLIPBOARD_RegisterFormat,
-  X11DRV_CLIPBOARD_IsSelectionowner,
-  X11DRV_CLIPBOARD_ResetOwner
-};
-
-WND_DRIVER X11DRV_WND_Driver =
-{
-  X11DRV_WND_Initialize,
-  X11DRV_WND_Finalize,
-  X11DRV_WND_CreateDesktopWindow,
-  X11DRV_WND_CreateWindow,
-  X11DRV_WND_DestroyWindow,
-  X11DRV_WND_SetParent,
-  X11DRV_WND_ForceWindowRaise,
-  X11DRV_WND_SetWindowPos,
-  X11DRV_WND_SetText,
-  X11DRV_WND_SetFocus,
-  X11DRV_WND_PreSizeMove,
-  X11DRV_WND_PostSizeMove,
-  X11DRV_WND_SurfaceCopy,
-  X11DRV_WND_SetDrawable,
-  X11DRV_WND_SetHostAttr,
-  X11DRV_WND_IsSelfClipping,
-  X11DRV_WND_SetWindowRgn
-};
-
-
diff --git a/windows/x11drv/keyboard.c b/windows/x11drv/keyboard.c
index 9f8bb1e..56d3440 100644
--- a/windows/x11drv/keyboard.c
+++ b/windows/x11drv/keyboard.c
@@ -718,7 +718,7 @@
 /**********************************************************************
  *		X11DRV_KEYBOARD_DetectLayout
  *
- * Called from X11DRV_KEYBOARD_Init
+ * Called from X11DRV_InitKeyboard
  *  This routine walks through the defined keyboard layouts and selects
  *  whichever matches most closely.
  */
@@ -816,9 +816,9 @@
 }
 
 /**********************************************************************
- *		X11DRV_KEYBOARD_Init
+ *		X11DRV_InitKeyboard
  */
-void X11DRV_KEYBOARD_Init(void)
+void X11DRV_InitKeyboard(void)
 {
     KeySym *ksp;
     XModifierKeymap *mmp;
@@ -1029,9 +1029,9 @@
 }
 
 /***********************************************************************
- *		X11DRV_KEYBOARD_VkKeyScan
+ *		X11DRV_VkKeyScan
  */
-WORD X11DRV_KEYBOARD_VkKeyScan(CHAR cChar)
+WORD X11DRV_VkKeyScan(CHAR cChar)
 {
 	KeyCode keycode;
 	KeySym keysym;    	
@@ -1077,9 +1077,9 @@
 }
 
 /***********************************************************************
- *		X11DRV_KEYBOARD_MapVirtualKey
+ *		X11DRV_MapVirtualKey
  */
-UINT16 X11DRV_KEYBOARD_MapVirtualKey(UINT16 wCode, UINT16 wMapType)
+UINT16 X11DRV_MapVirtualKey(UINT16 wCode, UINT16 wMapType)
 {
 #define returnMVK(value) { TRACE("returning 0x%x.\n",value); return value; }
 
@@ -1161,9 +1161,9 @@
 }
 
 /***********************************************************************
- *		X11DRV_KEYBOARD_GetKeyNameText
+ *		X11DRV_GetKeyNameText
  */
-INT16 X11DRV_KEYBOARD_GetKeyNameText(LONG lParam, LPSTR lpBuffer, INT16 nSize)
+INT16 X11DRV_GetKeyNameText(LONG lParam, LPSTR lpBuffer, INT16 nSize)
 {
   int vkey, ansi, scanCode;
   KeyCode keyc;
@@ -1174,7 +1174,7 @@
   scanCode &= 0x1ff;  /* keep "extended-key" flag with code */
 
   /* FIXME: should use MVK type 3 (NT version that distinguishes right and left */
-  vkey = X11DRV_KEYBOARD_MapVirtualKey(scanCode, 1);
+  vkey = X11DRV_MapVirtualKey(scanCode, 1);
 
   /*  handle "don't care" bit (0x02000000) */
   if (!(lParam & 0x02000000)) {
@@ -1196,7 +1196,7 @@
     }
   }
 
-  ansi = X11DRV_KEYBOARD_MapVirtualKey(vkey, 2);
+  ansi = X11DRV_MapVirtualKey(vkey, 2);
   TRACE("scan 0x%04x, vkey 0x%04x, ANSI 0x%04x\n", scanCode, vkey, ansi);
 
   /* first get the name of the "regular" keys which is the Upper case
@@ -1333,7 +1333,7 @@
 }
 
 /***********************************************************************
- *		X11DRV_KEYBOARD_ToAscii
+ *		X11DRV_ToAscii
  *
  * The ToAscii function translates the specified virtual-key code and keyboard
  * state to the corresponding Windows character or characters.
@@ -1350,7 +1350,7 @@
  * FIXME : should do the above (return 2 for non matching deadchar+char combinations)
  *
  */
-INT16 X11DRV_KEYBOARD_ToAscii(
+INT16 X11DRV_ToAscii(
     UINT16 virtKey,UINT16 scanCode, LPBYTE lpKeyState, 
     LPVOID lpChar, UINT16 flags)
 {
@@ -1469,9 +1469,9 @@
 }
 
 /***********************************************************************
- *		X11DRV_KEYBOARD_GetBeepActive
+ *		X11DRV_GetBeepActive
  */
-BOOL X11DRV_KEYBOARD_GetBeepActive()
+BOOL X11DRV_GetBeepActive()
 {
   XKeyboardState  keyboard_state;
 
@@ -1481,9 +1481,9 @@
 }
 
 /***********************************************************************
- *		X11DRV_KEYBOARD_SetBeepActive
+ *		X11DRV_SetBeepActive
  */
-void X11DRV_KEYBOARD_SetBeepActive(BOOL bActivate)
+void X11DRV_SetBeepActive(BOOL bActivate)
 {
   XKeyboardControl keyboard_value;
   
@@ -1496,17 +1496,17 @@
 }
 
 /***********************************************************************
- *		X11DRV_KEYBOARD_Beep
+ *		X11DRV_Beep
  */
-void X11DRV_KEYBOARD_Beep()
+void X11DRV_Beep()
 {
   TSXBell(display, 0);
 }
 
 /***********************************************************************
- *		X11DRV_KEYBOARD_GetDIState
+ *		X11DRV_GetDIState
  */
-BOOL X11DRV_KEYBOARD_GetDIState(DWORD len, LPVOID ptr)
+BOOL X11DRV_GetDIState(DWORD len, LPVOID ptr)
 {
   if (len==256) {
     int keyc,vkey;
@@ -1524,14 +1524,14 @@
       }
     return TRUE;
   }
-  WARN("whoops, X11DRV_KEYBOARD_GetState got len %ld?\n", len);
+  WARN("whoops, got len %ld?\n", len);
   return TRUE;
 }
 
 /***********************************************************************
- *		X11DRV_KEYBOARD_GetDIData
+ *		X11DRV_GetDIData
  */
-BOOL X11DRV_KEYBOARD_GetDIData(
+BOOL X11DRV_GetDIData(
   BYTE *keystate,
   DWORD dodsize, LPDIDEVICEOBJECTDATA dod,
   LPDWORD entries, DWORD flags)
@@ -1573,9 +1573,9 @@
 }
 
 /***********************************************************************
- *		X11DRV_KEYBOARD_GetKeyboardConfig
+ *		X11DRV_GetKeyboardConfig
  */
-void X11DRV_KEYBOARD_GetKeyboardConfig(KEYBOARD_CONFIG *cfg) {
+void X11DRV_GetKeyboardConfig(KEYBOARD_CONFIG *cfg) {
   XKeyboardState   xks;
 
   /* For the moment, only get the auto-repeat mode */
@@ -1584,9 +1584,9 @@
 }
 
 /***********************************************************************
- *		X11DRV_KEYBOARD_SetKeyboardConfig
+ *		X11DRV_SetKeyboardConfig
  */
-extern void X11DRV_KEYBOARD_SetKeyboardConfig(KEYBOARD_CONFIG *cfg, DWORD mask) {
+extern void X11DRV_SetKeyboardConfig(KEYBOARD_CONFIG *cfg, DWORD mask) {
   XKeyboardControl xkc;
   unsigned long X_mask = 0;
   
diff --git a/windows/x11drv/mouse.c b/windows/x11drv/mouse.c
index 96c6f80..a973c2a 100644
--- a/windows/x11drv/mouse.c
+++ b/windows/x11drv/mouse.c
@@ -161,9 +161,9 @@
 }
 
 /***********************************************************************
- *		X11DRV_MOUSE_SetCursor
+ *		X11DRV_SetCursor
  */
-void X11DRV_MOUSE_SetCursor( CURSORICONINFO *lpCursor )
+void X11DRV_SetCursor( CURSORICONINFO *lpCursor )
 {
     BOOL success;
 
@@ -199,9 +199,9 @@
 }
 
 /***********************************************************************
- *		X11DRV_MOUSE_MoveCursor
+ *		X11DRV_MoveCursor
  */
-void X11DRV_MOUSE_MoveCursor(WORD wAbsX, WORD wAbsY)
+void X11DRV_MoveCursor(WORD wAbsX, WORD wAbsY)
 {
   /* 
    * We do not want the to create MotionNotify events here, 
@@ -241,9 +241,9 @@
 }
 
 /***********************************************************************
- *           X11DRV_MOUSE_Init
+ *           X11DRV_InitMouse
  */
-void X11DRV_MOUSE_Init( LPMOUSE_EVENT_PROC proc )
+void X11DRV_InitMouse( LPMOUSE_EVENT_PROC proc )
 {
     static int init_done;
 
@@ -260,7 +260,7 @@
            movement to initialize the mouse global variables */
         TSXQueryPointer( display, X11DRV_GetXRootWindow(), &root, &child,
                          &root_x, &root_y, &child_x, &child_y, &KeyState);
-        X11DRV_MOUSE_SendEvent(MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE,
+        X11DRV_SendEvent(MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE,
                                root_x, root_y, X11DRV_EVENT_XStateToKeyState(KeyState),
                                GetTickCount(), 0 );
     }
@@ -268,9 +268,9 @@
 
 
 /***********************************************************************
- *           X11DRV_MOUSE_SendEvent
+ *           X11DRV_SendEvent
  */
-void X11DRV_MOUSE_SendEvent( DWORD mouseStatus, DWORD posX, DWORD posY, 
+void X11DRV_SendEvent( DWORD mouseStatus, DWORD posX, DWORD posY, 
                              DWORD keyState, DWORD time, HWND hWnd )
 {
     int width  = GetSystemMetrics( SM_CXSCREEN );
diff --git a/windows/x11drv/wnd.c b/windows/x11drv/wnd.c
index 3a4c1d8..f34513f 100644
--- a/windows/x11drv/wnd.c
+++ b/windows/x11drv/wnd.c
@@ -46,6 +46,28 @@
 
 /**********************************************************************/
 
+WND_DRIVER X11DRV_WND_Driver =
+{
+  X11DRV_WND_Initialize,
+  X11DRV_WND_Finalize,
+  X11DRV_WND_CreateDesktopWindow,
+  X11DRV_WND_CreateWindow,
+  X11DRV_WND_DestroyWindow,
+  X11DRV_WND_SetParent,
+  X11DRV_WND_ForceWindowRaise,
+  X11DRV_WND_SetWindowPos,
+  X11DRV_WND_SetText,
+  X11DRV_WND_SetFocus,
+  X11DRV_WND_PreSizeMove,
+  X11DRV_WND_PostSizeMove,
+  X11DRV_WND_SurfaceCopy,
+  X11DRV_WND_SetDrawable,
+  X11DRV_WND_SetHostAttr,
+  X11DRV_WND_IsSelfClipping,
+  X11DRV_WND_SetWindowRgn
+};
+
+
 /* X context to associate a hwnd to an X window */
 XContext winContext = 0;