debian/changelog | 17 +++++ debian/control | 1 debian/patches/205_udev-product-ids.patch | 96 ++++++++++++++++++++++++++++++ debian/patches/series | 1 4 files changed, 115 insertions(+)
New commits: commit 5b9829bc55377080b7dd2780136892611556c55a Author: Christopher James Halse Rogers <christopher.halse.rog...@canonical.com> Date: Thu Sep 2 14:04:10 2010 +1000 Mark latest changelog as UNRELEASED, as it isn't :) diff --git a/debian/changelog b/debian/changelog index a0f7a49..5d2d8e7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -xorg-server (2:1.9.0-0ubuntu3) maverick; urgency=low +xorg-server (2:1.9.0-0ubuntu3) UNRELEASED; urgency=low * Fix udev USB product ID parsing (LP: #628214) - debian/patches: commit 88758b5cdd209baf5bb521d99239712e256d1a05 Author: Chase Douglas <chase.doug...@ubuntu.com> Date: Wed Sep 1 16:28:35 2010 -0400 releasing version 2:1.9.0-0ubuntu3 diff --git a/debian/changelog b/debian/changelog index ec47efd..a0f7a49 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,10 +1,10 @@ -xorg-server (2:1.9.0-0ubuntu3) UNRELEASED; urgency=low +xorg-server (2:1.9.0-0ubuntu3) maverick; urgency=low * Fix udev USB product ID parsing (LP: #628214) - debian/patches: + 205_udev-product-ids.patch - -- Chase Douglas <chase.doug...@ubuntu.com> Thu, 26 Aug 2010 16:12:24 -0400 + -- Chase Douglas <chase.doug...@ubuntu.com> Wed, 01 Sep 2010 16:28:23 -0400 xorg-server (2:1.9.0-0ubuntu2) maverick; urgency=low commit 527e21f08256b265fc5a0c594c910955426d78f1 Author: Chase Douglas <chase.doug...@ubuntu.com> Date: Thu Aug 26 16:13:24 2010 -0400 Fix udev USB product ID parsing (LP: #628214) * Fix udev USB product ID parsing (LP: #628214) - debian/patches: + 205_udev-product-ids.patch diff --git a/debian/changelog b/debian/changelog index 2e3662e..ec47efd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +xorg-server (2:1.9.0-0ubuntu3) UNRELEASED; urgency=low + + * Fix udev USB product ID parsing (LP: #628214) + - debian/patches: + + 205_udev-product-ids.patch + + -- Chase Douglas <chase.doug...@ubuntu.com> Thu, 26 Aug 2010 16:12:24 -0400 + xorg-server (2:1.9.0-0ubuntu2) maverick; urgency=low * debian/control: diff --git a/debian/patches/205_udev-product-ids.patch b/debian/patches/205_udev-product-ids.patch new file mode 100644 index 0000000..18537e7 --- /dev/null +++ b/debian/patches/205_udev-product-ids.patch @@ -0,0 +1,96 @@ +From 7925e8945649d4af237e6c3c5593b895a461bd1e Mon Sep 17 00:00:00 2001 +From: Chase Douglas <chase.doug...@ubuntu.com> +Date: Wed, 01 Sep 2010 04:45:34 +0000 +Subject: Fix udev population of Bluetooth input device product IDs + +The udev device_added function takes the vendor and model IDs of added +devices and converts them into an attribute that can be matched for by +an InputClass configuration using MatchUSBID. Currently, the udev +mechanism works for USB devices, but fails to work properly for +Bluetooth devices. The product IDs of the event node are actually the +IDs of the Bluetooth receiver instead of the device. + +This patch reads the product ID from the PRODUCT property of the parent +of the added device. This tag is set correctly for both USB and +Bluetooth input devices. The following devices have been tested by +specifying individual InputClass sections in xorg.conf: + +* Apple Keyboard (Bluetooth) +* Apple Magic Trackpad (Bluetooth) +* Apple Magic Mouse (Bluetooth) +* Microsoft Bluetooth Notebook Mouse 5000 (Bluetooth) +* Microsoft IntelliMouse Optical (USB) +* N-Trig Touchscreen (USB) +* Wacom Bamboo Touch (USB) + +Signed-off-by: Chase Douglas <chase.doug...@canonical.com> +Reviewed-by: Peter Hutterer <peter.hutte...@who-t.net> +Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> +--- +diff --git a/config/udev.c b/config/udev.c +index 9934490..b7717c9 100644 +--- a/config/udev.c ++++ b/config/udev.c +@@ -58,7 +58,6 @@ device_added(struct udev_device *udev_device) + char *config_info = NULL; + const char *syspath; + const char *tags_prop; +- const char *usb_vendor = NULL, *usb_model = NULL; + const char *key, *value, *tmp; + InputOption *options = NULL, *tmpo; + InputAttributes attrs = {}; +@@ -94,6 +93,8 @@ device_added(struct udev_device *udev_device) + parent = udev_device_get_parent(udev_device); + if (parent) { + const char *ppath = udev_device_get_devnode(parent); ++ const char *product = udev_device_get_property_value(parent, "PRODUCT"); ++ unsigned int usb_vendor, usb_model; + + name = udev_device_get_sysattr_value(parent, "name"); + LOG_SYSATTR(ppath, "name", name); +@@ -104,6 +105,13 @@ device_added(struct udev_device *udev_device) + + attrs.pnp_id = udev_device_get_sysattr_value(parent, "id"); + LOG_SYSATTR(ppath, "id", attrs.pnp_id); ++ ++ /* construct USB ID in lowercase hex - "0000:ffff" */ ++ if (product && sscanf(product, "%*x/%4x/%4x/%*x", &usb_vendor, &usb_model) == 2) { ++ attrs.usb_id = Xprintf("%04x:%04x", usb_vendor, usb_model); ++ if (attrs.usb_id) ++ LOG_PROPERTY(path, "PRODUCT", product); ++ } + } + if (!name) + name = "(unnamed)"; +@@ -152,12 +160,6 @@ device_added(struct udev_device *udev_device) + } else if (!strcmp(key, "ID_VENDOR")) { + LOG_PROPERTY(path, key, value); + attrs.vendor = value; +- } else if (!strcmp(key, "ID_VENDOR_ID")) { +- LOG_PROPERTY(path, key, value); +- usb_vendor = value; +- } else if (!strcmp(key, "ID_VENDOR_MODEL")) { +- LOG_PROPERTY(path, key, value); +- usb_model = value; + } else if (!strcmp(key, "ID_INPUT_KEY")) { + LOG_PROPERTY(path, key, value); + attrs.flags |= ATTR_KEYBOARD; +@@ -179,16 +181,6 @@ device_added(struct udev_device *udev_device) + } + } + +- /* construct USB ID in lowercase hex - "0000:ffff" */ +- if (usb_vendor && usb_model) { +- attrs.usb_id = Xprintf("%s:%s", usb_vendor, usb_model); +- if (attrs.usb_id) { +- char *cur; +- for (cur = attrs.usb_id; *cur; cur++) +- *cur = tolower(*cur); +- } +- } +- + LogMessage(X_INFO, "config/udev: Adding input device %s (%s)\n", + name, path); + rc = NewInputDeviceRequest(options, &attrs, &dev); +-- +cgit v0.8.3-6-g21f6 diff --git a/debian/patches/series b/debian/patches/series index 6ef979c..e1e43a9 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -34,3 +34,4 @@ 202_xf86CoordinationsToWindows.patch 203_gestures-extension.patch 204_fix-neg-sync-transition.patch +205_udev-product-ids.patch commit 7a682ea71cf6e4512aa79852ce0003255b195393 Author: Chase Douglas <chase.doug...@ubuntu.com> Date: Wed Sep 1 16:19:57 2010 -0400 add explict breaks from xserver-xorg-core * debian/control: - add explict breaks from xserver-xorg-core against xserver-xorg-video-v4l (<< 1:0.2.0-4ubuntu1) to ensure that upgrades with universe disabled work (LP: #614993) diff --git a/debian/changelog b/debian/changelog index 2e9ac35..2e3662e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +xorg-server (2:1.9.0-0ubuntu2) maverick; urgency=low + + * debian/control: + - add explict breaks from xserver-xorg-core against + xserver-xorg-video-v4l (<< 1:0.2.0-4ubuntu1) to ensure that + upgrades with universe disabled work (LP: #614993) + + -- Michael Vogt <michael.v...@ubuntu.com> Mon, 30 Aug 2010 15:40:07 +0200 + xorg-server (2:1.9.0-0ubuntu1) maverick; urgency=low * Merge from (unreleased) Debian experimental. Remaining Ubuntu changes: diff --git a/debian/control b/debian/control index d13b8e5..c1e2aee 100644 --- a/debian/control +++ b/debian/control @@ -111,6 +111,7 @@ Breaks: xserver-xorg-input-tslib (<= 0.0.6-3), xserver-xorg-input-vmmouse (<= 1:12.6.5-4ubuntu2), xserver-xorg-input-wacom (<= 0.10.5+20100415-1), + xserver-xorg-video-v4l (<< 1:0.2.0-4ubuntu1) Provides: xserver, ${videoabi}, -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1or12e-0006ai...@alioth.debian.org