aboutsummaryrefslogtreecommitdiffstats
path: root/packages/udev
diff options
context:
space:
mode:
authorMatthias Hentges <oe@hentges.net>2006-05-07 15:29:04 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2006-05-07 15:29:04 +0000
commitc439181b5327c57d73539117a3693dccfcf56ec9 (patch)
treea42d07ac1e467594f10397bbbebcf46bb31b8417 /packages/udev
parente43610f16d58722863690e709f5bb9ad1acabb87 (diff)
downloadopenembedded-c439181b5327c57d73539117a3693dccfcf56ec9.tar.gz
udev: Add a helper script for input device detection used by tslib.sh. Currently only USB mice are implemented
Diffstat (limited to 'packages/udev')
-rw-r--r--packages/udev/files/input.sh42
-rw-r--r--packages/udev/udev-084/local.rules4
-rw-r--r--packages/udev/udev_084.bb4
3 files changed, 49 insertions, 1 deletions
diff --git a/packages/udev/files/input.sh b/packages/udev/files/input.sh
new file mode 100644
index 0000000000..3add66d244
--- /dev/null
+++ b/packages/udev/files/input.sh
@@ -0,0 +1,42 @@
+#! /bin/sh
+#
+# Copyright Matthias Hentges <devel@hentges.net> (c) 2006
+# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the license)
+#
+# Filename: input.sh
+# Date: 07-May-06
+
+TMP_DIR="/var/lib/udev-input-helper"
+
+mkdir -p "$TMP_DIR"
+
+get_type() {
+ case "$DEVNAME" in
+ *mouse*) DEVTYPE=mouse;;
+ esac
+
+ case "$PHYSDEVBUS" in
+ *usb*) DEVBUS=usb;;
+ esac
+}
+
+add_input() {
+ if test -n "$DEVTYPE" -a -n "$DEVBUS"
+ then
+ echo "DEVNAME=\"$DEVNAME\"" > "$TMP_DIR/$DEVBUS.$DEVTYPE"
+ fi
+}
+
+remove_input(){
+ if test -n "$DEVTYPE" -a -n "$DEVBUS"
+ then
+ rm -f "$TMP_DIR/$DEVBUS.$DEVTYPE"
+ fi
+}
+
+get_type
+
+case "$ACTION" in
+add) add_input;;
+remove) remove_input;;
+esac
diff --git a/packages/udev/udev-084/local.rules b/packages/udev/udev-084/local.rules
index bb8459ba23..e74dc5b15d 100644
--- a/packages/udev/udev-084/local.rules
+++ b/packages/udev/udev-084/local.rules
@@ -17,6 +17,10 @@
SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh"
SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh"
+# Input device handling (ie: USB mice)
+SUBSYSTEM=="input", ACTION=="add" RUN+="/etc/udev/scripts/input.sh"
+SUBSYSTEM=="input", ACTION=="remove" RUN+="/etc/udev/scripts/input.sh"
+
# Handle network interface setup
SUBSYSTEM=="net", ACTION=="add" RUN+="/etc/udev/scripts/network.sh"
SUBSYSTEM=="net", ACTION=="remove" RUN+="/etc/udev/scripts/network.sh"
diff --git a/packages/udev/udev_084.bb b/packages/udev/udev_084.bb
index c0b9a7e89c..fdd69fee60 100644
--- a/packages/udev/udev_084.bb
+++ b/packages/udev/udev_084.bb
@@ -9,13 +9,14 @@ SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
file://udevsynthesize.patch;patch=1 \
file://udevsynthesize.sh \
file://mount.blacklist \
+ file://input.sh \
file://udev_network_queue.sh"
include udev.inc
INITSCRIPT_PARAMS = "start 03 S . start 55 0 6 ."
-PR = "r10"
+PR = "r11"
FILES_${PN} += "${base_libdir}"
UDEV_EXTRAS = "extras/firmware/ extras/scsi_id/ extras/volume_id/ extras/run_directory/"
@@ -44,6 +45,7 @@ do_install () {
install -m 0755 ${WORKDIR}/mount.sh ${D}${sysconfdir}/udev/scripts/mount.sh
install -m 0755 ${WORKDIR}/network.sh ${D}${sysconfdir}/udev/scripts
+ install -m 0755 ${WORKDIR}/input.sh ${D}${sysconfdir}/udev/scripts
install -d ${D}${base_libdir}/udev/
install -m 0755 ${S}/udevsynthesize ${D}${base_libdir}/udev/udevsynthesize