Bug 1607 - Xorg keyboard configuration is difficult.
Summary: Xorg keyboard configuration is difficult.
Status: RESOLVED WONTFIX
Alias: None
Product: xorg
Classification: Unclassified
Component: Input/Keyboard (show other bugs)
Version: 6.8.1
Hardware: All Linux (All)
: high normal
Assignee: Jay Cotton
QA Contact:
URL:
Whiteboard:
Keywords: patch
Depends on:
Blocks:
 
Reported: 2004-10-11 17:43 UTC by Jay Cotton
Modified: 2006-06-03 03:00 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Jay Cotton 2004-10-11 17:43:42 UTC
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.
Comment 1 Jay Cotton 2004-10-11 17:44:32 UTC
See bug id 890 for details on how we got here.
Comment 2 Jay Cotton 2004-10-11 18:47:21 UTC
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

Comment 3 Erik Andren 2006-05-23 07:07:33 UTC
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. 
Comment 4 Daniel Stone 2006-06-03 03:00:10 UTC
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.