[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xorg-server: Changes to 'debian-experimental'



 debian/changelog                                           |   13 +
 debian/patches/04_force-SwitchCoreKeyboard-for-evdev.patch |   69 +++++
 debian/patches/05_AEI-on-by-default.patch                  |  153 +++++++++++++
 debian/patches/series                                      |    2 
 debian/rules                                               |    3 
 5 files changed, 240 insertions(+)

New commits:
commit 9572063d5b8631d6cedbe80bef50c976f845ad4d
Author: Julien Cristau <jcristau@debian.org>
Date:   Wed Dec 3 03:56:54 2008 +0100

    Fix key presses leaking to the console when there's no xorg.conf
    
    Set AllowEmptyInput, AutoAddDevices and AutoEnableDevices to true by
    default when we build against hal, so we put the console in RAW mode
    when xorg.conf is missing (closes: #505746).

diff --git a/debian/changelog b/debian/changelog
index 08b2209..bade6ce 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,9 @@ xorg-server (2:1.5.3-2) UNRELEASED; urgency=low
     device.
   * Only build against hal on linux.  I'm not sure how things work on
     kfreebsd.
+  * Set AllowEmptyInput, AutoAddDevices and AutoEnableDevices to true by
+    default when we build against hal, so we put the console in RAW mode when
+    xorg.conf is missing (closes: #505746).
 
  -- Julien Cristau <jcristau@debian.org>  Sat, 15 Nov 2008 14:21:55 +0100
 
diff --git a/debian/patches/05_AEI-on-by-default.patch b/debian/patches/05_AEI-on-by-default.patch
new file mode 100644
index 0000000..8f87322
--- /dev/null
+++ b/debian/patches/05_AEI-on-by-default.patch
@@ -0,0 +1,153 @@
+From: Julien Cristau <jcristau@debian.org>
+Date: Thu, 13 Nov 2008 10:17:33 +1000
+Subject: Properly set the defaults for AEI and Auto{Add,Enable}Devices
+
+Stolen from the following upstream commits:
+
+commit 0b56b44addc323a00eb7cd86240cb0dd4275bcf8
+Author: Peter Hutterer <peter.hutterer@redhat.com>
+Date:   Mon Oct 20 17:06:40 2008 +1030
+
+    xfree86: AllowEmptyInput is true by default - update the xf86Info defaults.
+    
+    Also set AutoAddDevices and AutoEnableDevices to their defaults.
+    
+    And in doing so, switch the rest of the defaults over to named intializers.
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
+
+commit ace38fafb062372dcd3d56378b5b8f86525c6241
+Author: Peter Hutterer <peter.hutterer@redhat.com>
+Date:   Tue Nov 18 08:19:45 2008 +1000
+
+    xfree86: without CONFIG_HAL, Auto{Add|Enable}Devices and AEI is false.
+    
+    There's little chance that we'll get the input devices at runtime without HA
+    we might as well force the server to add mouse/kbd devices automatically -
+    just like in the olden days.
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
+
+commit a54153e669fd293a47f0077bf25505dd545ddce2
+Author: Rémi Cardona <remi@gentoo.org>
+Date:   Fri Nov 21 16:39:00 2008 +0100
+
+    xfree86: don't reset Auto(Add|Enable)Devices, use defaults from xf86Globals
+    
+    Without this, commit ace38fafb062372dcd3d56378b5b8f86525c6241 is useless
+    when HAL support is disabled.
+    
+    Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+Index: xorg-server/hw/xfree86/common/xf86Globals.c
+===================================================================
+--- xorg-server.orig/hw/xfree86/common/xf86Globals.c
++++ xorg-server/hw/xfree86/common/xf86Globals.c
+@@ -95,45 +95,54 @@
+ /* Globals that video drivers may not access */
+ 
+ xf86InfoRec xf86Info = {
+-	-1,		/* consoleFd */
+-	-1,		/* vtno */
+-	FALSE,		/* vtSysreq */
+-	SKWhenNeeded,	/* ddxSpecialKeys */
+-	NULL,		/* pMouse */
++    .consoleFd                  = -1,
++    .vtno                       = -1,
++    .vtSysreq                   = FALSE,
++    .ddxSpecialKeys             = SKWhenNeeded,
++    .pMouse                     = NULL,
+ #ifdef XINPUT
+-	NULL,		/* mouseLocal */
++    .mouseLocal                 = NULL,
+ #endif
+-	-1,		/* lastEventTime */
+-	FALSE,		/* vtRequestsPending */
+-	FALSE,		/* inputPending */
+-	FALSE,		/* dontVTSwitch */
+-	FALSE,		/* dontZap */
+-	FALSE,		/* dontZoom */
+-	FALSE,		/* notrapSignals */
+-	FALSE,		/* caughtSignal */
+-	FALSE,		/* sharedMonitor */
+-	NULL,		/* currentScreen */
++    .lastEventTime              = -1,
++    .vtRequestsPending          = FALSE,
++    .inputPending               = FALSE,
++    .dontVTSwitch               = FALSE,
++    .dontZap                    = FALSE,
++    .dontZoom                   = FALSE,
++    .notrapSignals              = FALSE,
++    .caughtSignal               = FALSE,
++    .sharedMonitor              = FALSE,
++    .currentScreen              = NULL,
+ #ifdef CSRG_BASED
+-	-1,		/* screenFd */
+-	-1,		/* consType */
++    .screenFd                   = -1,
++    .consType                   = -1,
+ #endif
+-	FALSE,		/* allowMouseOpenFail */
+-	TRUE,		/* vidModeEnabled */
+-	FALSE,		/* vidModeAllowNonLocal */
+-	TRUE,		/* miscModInDevEnabled */
+-	FALSE,		/* miscModInDevAllowNonLocal */
+-	PCIOsConfig,	/* pciFlags */
+-	Pix24DontCare,	/* pixmap24 */
+-	X_DEFAULT,	/* pix24From */
++    .allowMouseOpenFail         = FALSE,
++    .vidModeEnabled             = TRUE,
++    .vidModeAllowNonLocal       = FALSE,
++    .miscModInDevEnabled        = TRUE,
++    .miscModInDevAllowNonLocal  = FALSE,
++    .pciFlags                   = PCIOsConfig,
++    .pixmap24                   = Pix24DontCare,
++    .pix24From                  = X_DEFAULT,
+ #ifdef __i386__
+-	FALSE,		/* pc98 */
++    .pc98                       = FALSE,
++#endif
++    .pmFlag                     = TRUE,
++    .log                        = LogNone,
++    .estimateSizesAggressively  = 0,
++    .kbdCustomKeycodes          = FALSE,
++    .disableRandR               = FALSE,
++    .randRFrom                  = X_DEFAULT,
++#ifdef CONFIG_HAL
++    .allowEmptyInput            = TRUE,
++    .autoAddDevices             = TRUE,
++    .autoEnableDevices          = TRUE
++#else
++    .allowEmptyInput            = FALSE,
++    .autoAddDevices             = FALSE,
++    .autoEnableDevices          = FALSE
+ #endif
+-	TRUE,		/* pmFlag */
+-	LogNone,	/* syncLog */
+-	0,		/* estimateSizesAggressively */
+-	FALSE,		/* kbdCustomKeycodes */
+-	FALSE,		/* disableRandR */
+-	X_DEFAULT	/* randRFrom */
+ };
+ const char *xf86ConfigFile = NULL;
+ const char *xf86InputDeviceList = NULL;
+Index: xorg-server/hw/xfree86/common/xf86Config.c
+===================================================================
+--- xorg-server.orig/hw/xfree86/common/xf86Config.c
++++ xorg-server/hw/xfree86/common/xf86Config.c
+@@ -922,7 +922,6 @@
+         from = X_CONFIG;
+     }
+     else {
+-        xf86Info.autoAddDevices = TRUE;
+         from = X_DEFAULT;
+     }
+     xf86Msg(from, "%sutomatically adding devices\n",
+@@ -934,7 +933,6 @@
+         from = X_CONFIG;
+     }
+     else {
+-        xf86Info.autoEnableDevices = TRUE;
+         from = X_DEFAULT;
+     }
+     xf86Msg(from, "%sutomatically enabling devices\n",
diff --git a/debian/patches/series b/debian/patches/series
index 08043b0..9a0b97b 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,5 +2,6 @@
 02_Disable-DRI-in-Xephyr.patch
 03_glx-init-infinite-loop.diff
 04_force-SwitchCoreKeyboard-for-evdev.patch
+05_AEI-on-by-default.patch
 #06_use_proc_instead_of_sysfs_for_pci_domains.diff
 13_debian_add_xkbpath_env_variable.diff

commit 861d076505d5ab1fe09233bbb88219083ec1374c
Author: Julien Cristau <jcristau@debian.org>
Date:   Wed Nov 26 19:48:35 2008 +0100

    Only build against hal on linux.
    
    I'm not sure how things work on kfreebsd.

diff --git a/debian/changelog b/debian/changelog
index fefa236..08b2209 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,8 @@ xorg-server (2:1.5.3-2) UNRELEASED; urgency=low
   * 04_force-SwitchCoreKeyboard-for-evdev.patch: stolen from Fedora, force
     SwitchCoreKeyboard for evdev devices to push device keymap into core
     device.
+  * Only build against hal on linux.  I'm not sure how things work on
+    kfreebsd.
 
  -- Julien Cristau <jcristau@debian.org>  Sat, 15 Nov 2008 14:21:55 +0100
 
diff --git a/debian/rules b/debian/rules
index 10ed1f3..5eb1d04 100755
--- a/debian/rules
+++ b/debian/rules
@@ -34,8 +34,10 @@ endif
 
 ifeq ($(DEB_HOST_ARCH_OS), linux)
 	build_xfbdev = --enable-xfbdev
+	config_hal = --enable-config-hal
 else
 	build_xfbdev = --disable-xfbdev
+	config_hal = --disable-config-hal
 endif
 
 INSTALL=/usr/bin/install
@@ -62,6 +64,7 @@ confflags += --disable-static \
 	     --disable-xprint \
 	     --disable-xorgconfig \
 	     --disable-xorgcfg \
+	     $(config_hal) \
 	     --with-xkb-path=/usr/share/X11/xkb \
 	     --with-xkb-output=/var/lib/xkb \
 	     --enable-xfree86-utils \

commit f02011a1994eca343bee37894fc31d5fb5d489e1
Author: Julien Cristau <jcristau@debian.org>
Date:   Sat Nov 15 17:17:31 2008 +0100

    force SwitchCoreKeyboard for evdev devices to push device keymap into core device
    
    04_force-SwitchCoreKeyboard-for-evdev.patch stolen from Fedora.

diff --git a/debian/changelog b/debian/changelog
index ea16a0e..fefa236 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+xorg-server (2:1.5.3-2) UNRELEASED; urgency=low
+
+  * 04_force-SwitchCoreKeyboard-for-evdev.patch: stolen from Fedora, force
+    SwitchCoreKeyboard for evdev devices to push device keymap into core
+    device.
+
+ -- Julien Cristau <jcristau@debian.org>  Sat, 15 Nov 2008 14:21:55 +0100
+
 xorg-server (2:1.5.3-1) experimental; urgency=low
 
   [ Loic Minier ]
diff --git a/debian/patches/04_force-SwitchCoreKeyboard-for-evdev.patch b/debian/patches/04_force-SwitchCoreKeyboard-for-evdev.patch
new file mode 100644
index 0000000..2ac6095
--- /dev/null
+++ b/debian/patches/04_force-SwitchCoreKeyboard-for-evdev.patch
@@ -0,0 +1,69 @@
+From 638cab7e1dc3711f7fb04155bcdabf4b8895cc5e Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Mon, 4 Aug 2008 17:08:36 +0930
+Subject: [PATCH] xfree86: force SwitchCoreKeyboard for evdev devices (updated).
+
+If an evdev keyboard device is added through the HAL mechanism, force a
+SwitchCoreKeyboard to load the evdev map into the VCK. This way, by the time a
+client starts the evdev keymap is already there, leading to less pain lateron.
+
+Works if:
+- all keyboards are hotplugged through HAL, and/or
+- the xorg.conf keyboard uses the kbd driver.
+
+Has no effect (i.e. busted keymaps) if:
+- an evdev keyboard device has been specified in the xorg.conf.
+- we don't have a device at startup and plug a device in after starting the
+  desktop environment.
+- if the device we use isn't the first one reported by HAL.
+
+If HAL isn't set up, this patch is a noop.
+---
+ hw/xfree86/common/xf86Xinput.c |   31 +++++++++++++++++++++++++++++++
+ 1 files changed, 31 insertions(+), 0 deletions(-)
+
+diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
+index 710e787..dacc3dc 100644
+--- a/hw/xfree86/common/xf86Xinput.c
++++ b/hw/xfree86/common/xf86Xinput.c
+@@ -423,6 +423,37 @@ NewInputDeviceRequest (InputOption *options, DeviceIntPtr *pdev)
+         (!is_auto || xf86Info.autoEnableDevices))
+         EnableDevice(dev);
+ 
++    /* XXX: The VCK always starts with built-in defaults for keymap. These
++     * defaults are different to the evdev ones. When the first key is hit on
++     * an extension device, the keymap is copied into the VCK's and any
++     * changes made at runtime to the VCK map are lost.
++     *
++     * Assumption: if we have at least one evdev keyboard device, we can
++     * ignore kbd devices. Force a SwitchCoreKeyboard so the VCK has the same
++     * keymap as we do.
++     *
++     * Next time we hit a key, we don't change the map over anymore (see
++     * SwitchCoreKeyboard), and live happily ever after.
++     * Until we have 2 physical keyboards. Or the first real keyboard isn't
++     * actually the one we use. Oh well.
++     *
++     */
++    if (dev->key)
++    {
++        InputInfoPtr info;
++
++        /* Search if there is one other keyboard that uses evdev. */
++        for (info = xf86InputDevs; info; info = info->next)
++        {
++            if (info != pInfo && info->dev && info->dev->key &&
++                (strcmp(info->drv->driverName, "evdev") == 0))
++                break;
++        }
++
++        if (!info)
++            SwitchCoreKeyboard(dev);
++    }
++
+     *pdev = dev;
+     return Success;
+ 
+-- 
+1.5.5.1
+
diff --git a/debian/patches/series b/debian/patches/series
index 512ad5a..08043b0 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,5 +1,6 @@
 001_fedora_extramodes.patch
 02_Disable-DRI-in-Xephyr.patch
 03_glx-init-infinite-loop.diff
+04_force-SwitchCoreKeyboard-for-evdev.patch
 #06_use_proc_instead_of_sysfs_for_pci_domains.diff
 13_debian_add_xkbpath_env_variable.diff


Reply to: