xserver/hw/kdrive/src kinput.c,1.39,1.40

Carlos Romero <xserver-commit-u7BhqnqprCWvj1b/[email protected]>
Newsgroups gmane.comp.freedesktop.xserver.cvs
Message-ID <[email protected]>
Committed by: kidcrash

Update of /cvs/xserver/xserver/hw/kdrive/src
In directory pdx:/tmp/cvs-serv31969/hw/kdrive/src

Modified Files:
	kinput.c 
Log Message:
Initial kdrive XKB/XINPUT support, use --enable-xkb --enable-xinput


Index: kinput.c
===================================================================
RCS file: /cvs/xserver/xserver/hw/kdrive/src/kinput.c,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -d -r1.39 -r1.40
--- kinput.c	15 Feb 2004 15:04:57 -0000	1.39
+++ kinput.c	7 Jul 2004 19:21:07 -0000	1.40
@@ -38,6 +38,11 @@
 #include <signal.h>
 #include <stdio.h>
 
+#ifdef XKB
+#define XKB_IN_SERVER
+#include <X11/extensions/XKBsrv.h>
+#endif
+
 static DeviceIntPtr	pKdKeyboard, pKdPointer;
 
 static KdMouseFuncs	*kdMouseFuncs;
@@ -431,6 +436,9 @@
 {
     Bool        ret;
     DevicePtr   pDev = (DevicePtr)pDevice;
+#ifdef XKB
+    XkbComponentNamesRec names;
+#endif
 
     if (!pDev)
 	return BadImplementation;
@@ -442,10 +450,24 @@
 	{
 	    return !Success;
 	}
+#ifndef XKB
 	ret = InitKeyboardDeviceStruct(pDev,
 				       &kdKeySyms,
 				       kdModMap,
 				       KdBell, KdKbdCtrl);
+#else
+	memset(&names, 0, sizeof(XkbComponentNamesRec));
+
+	if (XkbInitialMap) 
+	    names.keymap = XkbInitialMap;
+
+	XkbSetRulesDflts ("base", "pc101", "us", NULL, NULL);
+	ret = XkbInitKeyboardDeviceStruct (pDev,
+					   &names,
+					   &kdKeySyms,
+					   kdModMap,
+					   KdBell, KdKbdCtrl);
+#endif
 	if (!ret)
 	    return BadImplementation;
 	break;
@@ -597,7 +619,7 @@
 	static long zero1, zero2;
 
 	//SetExtInputCheck (&zero1, &zero2);
-	ErrorF("Extended Input Devices not yet supported. Impelement it at line %d in %s",
+	ErrorF("Extended Input Devices not yet supported. Impelement it at line %d in %s\n",
 	       __LINE__, __FILE__);
     }
 #endif
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.