I think this should do it.

Tom

Andy Neitzke wrote:
> On Friday 19 June 2009 5:48:26 pm Andy Neitzke wrote:
>>> This is the patch that I've been using.  Notice that there are still a
>>> few TODO comments where I wasn't sure how the wacom driver's axes
>>> correspond to the axis names defined in xorg/xserver-properties.h.
>> Thanks for posting that!
>>
>> For some reason, it's not working properly for me:  if I start xorg with
>> the linuxwacom driver installed, I get a black screen (except for a cursor
>> _ at the upper left).  The machine doesn't respond to any keyboard or mouse
>> input but it is still running (I can ssh into it just fine).
> 
> Now I understand the problem a bit better:  Xorg is actually failing, with 
> the 
> error
> 
> /usr/bin/X: symbol lookup error: /usr/lib64/xorg/modules/input/wacom_drv.so: 
> undefined symbol: InitKeyClassDeviceStruct
> 
> It looks to me as if this function was removed from input.h in xorg-server 
> commit 08363c5830bdea34012dcd954b45ccfdc79a3a7e ("Input: Overhaul keyboard 
> initialisation process").
> 
> -Andy
> 

--- linuxwacom-0.8.3-5/src/xdrv/xf86Wacom.c	2009-06-22 12:16:42.000000000 -0400
+++ linuxwacom/src/xdrv/xf86Wacom.c	2009-06-22 12:09:09.000000000 -0400
@@ -438,6 +438,7 @@
 }
 
 #ifdef WCM_KEY_SENDING_SUPPORT
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 7
 /*****************************************************************************
  * xf86WcmRegisterX11Devices --
  *    Register the X11 input devices with X11 core.
@@ -585,6 +586,7 @@
 	{ XK_Mode_switch,	Mod3Mask }, /*AltMask*/
 	{ NoSymbol,	0 }
 };
+#endif
 #endif /* WCM_KEY_SENDING_SUPPORT */
 
 /*****************************************************************************
@@ -768,6 +770,7 @@
 #ifdef WCM_KEY_SENDING_SUPPORT
 		if (nbkeys)
 		{
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 7
 			KeySymsRec wacom_keysyms;
 			CARD8 modmap[MAP_LENGTH];
 			int i,j;
@@ -798,6 +801,9 @@
 			wacom_keysyms.maxKeyCode = 255;
 			wacom_keysyms.mapWidth = 2;
 			if (InitKeyClassDeviceStruct(local->dev, &wacom_keysyms, modmap) == FALSE)
+#else
+			if (!InitKeyboardDeviceStruct(local->dev, NULL, xf86WcmBellCallback, xf86WcmKbdCtrlCallback))
+#endif
 			{
 				ErrorF("unable to init key class device\n");
 				return FALSE;
@@ -805,11 +811,13 @@
 		}
 
 #ifndef WCM_XFREE86
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 7
 		if(InitKbdFeedbackClassDeviceStruct(local->dev, xf86WcmBellCallback,
 				xf86WcmKbdCtrlCallback) == FALSE) {
 			ErrorF("unable to init kbd feedback device struct\n");
 			return FALSE;
 		}
+#endif
 
 		if(InitLedFeedbackClassDeviceStruct (local->dev, xf86WcmKbdLedCallback) == FALSE) {
 			ErrorF("unable to init led feedback device struct\n");
------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
Linuxwacom-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to