If HAL configuration has not been built into the server, force
AutoAddDevices, AutoEnableDevices and AllowEmptyInput to FALSE. The only
way to use input devices in this configuration is through xorg.conf.

Signed-off-by: Dan Nicholson <dbn.li...@gmail.com>
---
 There are still people out there not riding the HAL wave, and this allows
 them to carry on without applying special server flags.

 Technically, I think this should also consider CONFIG_DBUS_API, but
 nothing else in the code does.

 hw/xfree86/common/xf86Config.c       |   14 ++++++++++++++
 hw/xfree86/doc/man/xorg.conf.man.pre |   11 ++++++-----
 2 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index 8df9780..20fa631 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -833,6 +833,7 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr 
layoutopts)
            xf86Msg(X_CONFIG, "Ignoring ABI Version\n");
     }
 
+#ifdef CONFIG_HAL
     if (xf86IsOptionSet(FlagOptions, FLAG_AUTO_ADD_DEVICES)) {
         xf86GetOptValBool(FlagOptions, FLAG_AUTO_ADD_DEVICES,
                           &xf86Info.autoAddDevices);
@@ -841,9 +842,14 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, 
XF86OptionPtr layoutopts)
     else {
         from = X_DEFAULT;
     }
+#else
+    xf86Info.autoAddDevices = FALSE;
+    from = X_DEFAULT;
+#endif
     xf86Msg(from, "%sutomatically adding devices\n",
             xf86Info.autoAddDevices ? "A" : "Not a");
 
+#ifdef CONFIG_HAL
     if (xf86IsOptionSet(FlagOptions, FLAG_AUTO_ENABLE_DEVICES)) {
         xf86GetOptValBool(FlagOptions, FLAG_AUTO_ENABLE_DEVICES,
                           &xf86Info.autoEnableDevices);
@@ -852,6 +858,10 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, 
XF86OptionPtr layoutopts)
     else {
         from = X_DEFAULT;
     }
+#else
+    xf86Info.autoEnableDevices = FALSE;
+    from = X_DEFAULT;
+#endif
     xf86Msg(from, "%sutomatically enabling devices\n",
             xf86Info.autoEnableDevices ? "A" : "Not a");
 
@@ -952,9 +962,13 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, 
XF86OptionPtr layoutopts)
     }
 #endif
 
+#ifdef CONFIG_HAL
     /* AllowEmptyInput is automatically true if we're hotplugging */
     xf86Info.allowEmptyInput = (xf86Info.autoAddDevices && 
xf86Info.autoEnableDevices);
     xf86GetOptValBool(FlagOptions, FLAG_ALLOW_EMPTY_INPUT, 
&xf86Info.allowEmptyInput);
+#else
+    xf86Info.allowEmptyInput = FALSE;
+#endif
 
     /* AEI on? Then we're not using kbd, so use the evdev rules set. */
 #ifdef XKB
diff --git a/hw/xfree86/doc/man/xorg.conf.man.pre 
b/hw/xfree86/doc/man/xorg.conf.man.pre
index f5c49e1..987a290 100644
--- a/hw/xfree86/doc/man/xorg.conf.man.pre
+++ b/hw/xfree86/doc/man/xorg.conf.man.pre
@@ -640,19 +640,20 @@ the X server to load. Disabled by default.
 .TP 7
 .BI "Option \*qAllowEmptyInput\*q \*q" boolean \*q
 If enabled, don't add the standard keyboard and mouse drivers, if there are no
-input devices in the config file.  Enabled by default if AutoAddDevices and
-AutoEnableDevices is enabled, otherwise disabled.
-If AllowEmptyInput is on, devices using the kbd, mouse or vmmouse driver are 
ignored.
+input devices in the config file.  Enabled by default if Xorg has HAL support
+and AutoAddDevices and AutoEnableDevices are enabled, otherwise disabled.
+If AllowEmptyInput is on, devices using the kbd, mouse or vmmouse driver are
+ignored.
 .TP 7
 .BI "Option \*qAutoAddDevices\*q \*q" boolean \*q
 If this option is disabled, then no devices will be added from HAL events.
-Enabled by default.
+Enabled by default if Xorg has HAL support.
 .TP 7
 .BI "Option \*qAutoEnableDevices\*q \*q" boolean \*q
 If this option is disabled, then the devices will be added (and the
 DevicePresenceNotify event sent), but not enabled, thus leaving policy up
 to the client.
-Enabled by default.
+Enabled by default if Xorg has HAL support.
 .TP 7
 .BI "Option \*qLog\*q \*q" string \*q
 This option controls whether the log is flushed and/or synced to disk after
-- 
1.5.6.6

_______________________________________________
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Reply via email to