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/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;