summaryrefslogtreecommitdiffstats
path: root/abs/core-testing/xorg-server/xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core-testing/xorg-server/xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch')
-rw-r--r--abs/core-testing/xorg-server/xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch69
1 files changed, 0 insertions, 69 deletions
diff --git a/abs/core-testing/xorg-server/xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch b/abs/core-testing/xorg-server/xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch
deleted file mode 100644
index 2ac6095..0000000
--- a/abs/core-testing/xorg-server/xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-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
-