summaryrefslogtreecommitdiff
path: root/extras/inputdev.sh
diff options
context:
space:
mode:
Diffstat (limited to 'extras/inputdev.sh')
-rw-r--r--extras/inputdev.sh30
1 files changed, 30 insertions, 0 deletions
diff --git a/extras/inputdev.sh b/extras/inputdev.sh
new file mode 100644
index 0000000000..82e4fdc374
--- /dev/null
+++ b/extras/inputdev.sh
@@ -0,0 +1,30 @@
+#!/bin/sh -e
+#
+# Scans /proc/bus/input/devices for the given device.
+#
+# (c) 2004 Darren Salt <linux@youmustbejoking.demon.co.uk>
+# GPL v2 or later applies.
+
+[ "$1" ] || exit 0
+
+# input device name, less leading "input/"
+DEVICE=${1#input/}
+
+# "|"-separated list.
+# The first found in the given device's "N:" line will be output.
+DEFAULT_KEYWORDS='dvb|saa7134'
+KEYWORDS=${2:-$DEFAULT_KEYWORDS}
+
+exec sed -nre '
+ /^I:/ {
+ : gather
+ N
+ /\nH:/! b gather
+ /'"$DEVICE"'/ {
+ s/^.*\nN:[^\n]*("|\b)('"$KEYWORDS"')("|\b)[^\n]*\n.*$/inputdev/
+ T
+ p
+ }
+ }
+' < /proc/bus/input/devices
+