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