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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> +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 <[EMAIL PROTECTED]> +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 <[EMAIL PROTECTED]> + +commit ace38fafb062372dcd3d56378b5b8f86525c6241 +Author: Peter Hutterer <[EMAIL PROTECTED]> +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 <[EMAIL PROTECTED]> + +commit a54153e669fd293a47f0077bf25505dd545ddce2 +Author: Rémi Cardona <[EMAIL PROTECTED]> +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 <[EMAIL PROTECTED]> + +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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> +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 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]