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
+};
+
signature.asc
Description: Digital signature

