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