When installing Xorg on a system that has XFree86 running, the Xorg server may use the /etc/X11/XF86Config file. However, that file has Driver "Keyboard" which does not map correctly. I have a fix that add yet another driver 'Keyboard_drv.o' to the system. This allows Xorg to start, users may then change to an xorg.conf file that will define a different driver. The main point is that the user gets a running system.
See bug id 890 for details on how we got here.
Here is the code diffs for this fix. Any questions ? --- Imakefile 20 Aug 2004 04:49:44 -0000 1.4 +++ Imakefile 12 Oct 2004 01:41:05 -0000 @@ -1,14 +1,18 @@ -XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/input/keyboard/Imakefile,v 1.2 2 001/01/24 00:06:36 dawes Exp $ +XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/input/keyboard/Imakefile,v 1.2 2 001/01/24 00:06:36 dawes Exp $ -#define IHaveModules -#include <Server.tmpl> +#define IHaveModules +#include <Server.tmpl> -SRCS = kbd.c -OBJS = kbd.o +SRCS = kbd.c +SRC1 = Keyboard.c +OBJS = kbd.o +OBJ1 = Keyboard.o DRIVER = kbd -COMPAT_DRIVER = keyboard +COMPAT_DRIVER = keyboard +COMPAT_DRIVER1 = Keyboard +NEED_EXTRA_KEYBOARD_DRIVER = -DADD_EXTRA_KBD_DRIVER #if UseDeprecatedKeyboardDriver KEYBOARD_DEFS = -DUSE_DEPRECATED_KEYBOARD_DRIVER @@ -25,11 +29,25 @@ ModuleObjectRule() +LinkFile(Keyboard.c,kbd.c) + ObjectModuleTarget($(DRIVER),$(OBJS)) ObjectModuleTarget($(COMPAT_DRIVER),$(OBJS)) +AllTarget(Keyboard_drv.o) +Keyboard.o: Keyboard.c + $(RM) Keyboard.o + $(MODCC) $(MODCFLAGS) $(NEED_EXTRA_KEYBOARD_DRIVER) $(_NOOP_) -c Keyboar d.c + +Keyboard_drv.o: Keyboard.o + RemoveFile(Keyboard_drv.o) + $(CC) -o Keyboard_drv.o $(SHLIBLDFLAGS) Keyboard.o +clean:: + RemoveFile(Keyboard_drv.o) + InstallObjectModule($(DRIVER),$(MODULEDIR),input) InstallObjectModule($(COMPAT_DRIVER),$(MODULEDIR),input) +InstallObjectModule($(COMPAT_DRIVER1),$(MODULEDIR),input) #if !defined(XF86DriverSDK) InstallModuleManPage($(DRIVER)) =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/input/keyboard/kbd.c,v retrieving revision 1.6 diff -u -r1.6 kbd.c --- kbd.c 31 Aug 2004 01:36:13 -0000 1.6 +++ kbd.c 12 Oct 2004 01:43:16 -0000 @@ -71,7 +71,11 @@ InputDriverRec KEYBOARD = { 1, +#ifdef ADD_EXTRA_KBD_DRIVER + "Keyboard", +#else "keyboard", +#endif NULL, KbdPreInit, NULL, @@ -79,6 +83,7 @@ 0 }; + typedef enum { OPTION_ALWAYS_CORE, OPTION_SEND_CORE_EVENTS, @@ -847,7 +852,11 @@ /* a tool */ }; +#ifdef ADD_EXTRA_KBD_DRIVER +XF86ModuleData KeyboardModuleData = { +#else XF86ModuleData keyboardModuleData = { +#endif &xf86KeyboardVersionRec, xf86KeyboardPlug, xf86KbdUnplug
Is this really an issue anymore now that imake is something of that past and most of the expected userbase ought to have migrated by now.
i don't think this is very relevant anymore
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.