[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#428794: xserver-xorg-input-kbd: kbd upgrade breaks keyboard driver



On Fri, Jun 15, 2007 at 01:06:25 +1000, Drew Parsons wrote:

> > One idea is to just make a symlink keyboard_drv.o->kbd_drv.o.  I'm not
> > sure if it'll work that easily, I'll report back once I've tried it.
> 
> Nah, not that simple (should have guessed).
> With the symlink (keyboard_drv.so), it complains:
> 
> (EE) LoadModule: Module keyboard does not have a keyboardModuleData data object.
> 
The following patch seems to work:

diff --git a/debian/xserver-xorg-input-kbd.links b/debian/xserver-xorg-input-kbd.links
index 5f10fe7..5f74df9 100644
--- a/debian/xserver-xorg-input-kbd.links
+++ b/debian/xserver-xorg-input-kbd.links
@@ -1 +1,2 @@
 usr/share/bug/xserver-xorg-core/script usr/share/bug/xserver-xorg-input-keyboard/script
+usr/lib/xorg/modules/input/kbd_drv.so usr/lib/xorg/modules/input/keyboard_drv.so
diff --git a/src/kbd.c b/src/kbd.c
index c1daa4b..5c3dc6b 100644
--- a/src/kbd.c
+++ b/src/kbd.c
@@ -838,6 +838,7 @@ xf86KbdPlug(pointer	module,
     }
 
     xf86AddInputDriver(&KBD, module, 0);
+    xf86AddInputDriver(&KEYBOARD, module, 0);
 
     return module;
 }
@@ -862,3 +863,25 @@ _X_EXPORT XF86ModuleData kbdModuleData = {
     xf86KbdPlug,
     xf86KbdUnplug
 };
+
+static XF86ModuleVersionInfo xf86KeyboardVersionRec =
+{
+    "keyboard",
+    MODULEVENDORSTRING,
+    MODINFOSTRING1,
+    MODINFOSTRING2,
+    XORG_VERSION_CURRENT,
+    PACKAGE_VERSION_MAJOR, PACKAGE_VERSION_MINOR, PACKAGE_VERSION_PATCHLEVEL,
+    ABI_CLASS_XINPUT,
+    ABI_XINPUT_VERSION,
+    MOD_CLASS_XINPUT,
+    {0, 0, 0, 0}                /* signature, to be patched into the file by */
+                                /* a tool */
+};
+
+_X_EXPORT XF86ModuleData keyboardModuleData = {
+    &xf86KeyboardVersionRec,
+    xf86KbdPlug,
+    xf86KbdUnplug
+};
+

Attachment: signature.asc
Description: Digital signature


Reply to: