summaryrefslogtreecommitdiff
path: root/community/inputattach
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-08-13 01:33:19 -0700
committerroot <root@rshg054.dnsready.net>2013-08-13 01:33:19 -0700
commit7a65a910b77ad191d69881098c47f9b0c852d92e (patch)
tree9564e611af1442f8952a8cbddb3b0ad25ed71aab /community/inputattach
parent60da6abff6c9577a783d72865f11de7a585e912e (diff)
Tue Aug 13 01:31:08 PDT 2013
Diffstat (limited to 'community/inputattach')
-rw-r--r--community/inputattach/0001-Add-w8001-flag.patch27
-rw-r--r--community/inputattach/0002-Allow-for-custom-baud-rates.patch70
-rw-r--r--community/inputattach/PKGBUILD50
-rw-r--r--community/inputattach/inputattach.conf.d10
-rw-r--r--community/inputattach/inputattach.service11
-rwxr-xr-xcommunity/inputattach/inputattachctl14
6 files changed, 182 insertions, 0 deletions
diff --git a/community/inputattach/0001-Add-w8001-flag.patch b/community/inputattach/0001-Add-w8001-flag.patch
new file mode 100644
index 000000000..ba6f9394b
--- /dev/null
+++ b/community/inputattach/0001-Add-w8001-flag.patch
@@ -0,0 +1,27 @@
+From 729257077e328e0b2fa1bba5a5509c09a743d5d0 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue, 13 Jul 2010 11:49:47 +1000
+Subject: [PATCH 2/3] Add w8001 flag for serial Wacom devices.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+ inputattach.c | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/inputattach.c b/inputattach.c
+index a7de302..0382954 100644
+--- a/inputattach.c
++++ b/inputattach.c
+@@ -495,6 +495,9 @@ static struct input_types input_types[] = {
+ { "--dump", "-dump", "Just enable device",
+ B2400, CS8,
+ 0, 0x00, 0x00, 0, dump_init },
++{ "--w8001", "-w8001", "Wacom W8001",
++ B38400, CS8,
++ SERIO_W8001, 0x00, 0x00, 0, NULL },
+ { NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, NULL }
+ };
+
+--
+1.7.2.3
+
diff --git a/community/inputattach/0002-Allow-for-custom-baud-rates.patch b/community/inputattach/0002-Allow-for-custom-baud-rates.patch
new file mode 100644
index 000000000..78f5d19c8
--- /dev/null
+++ b/community/inputattach/0002-Allow-for-custom-baud-rates.patch
@@ -0,0 +1,70 @@
+From 5d9373f24f1b519c030024b2f36277ba9713697c Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed, 21 Jul 2010 14:41:04 +1000
+Subject: [PATCH 3/3] Allow for custom baud rates.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+ inputattach.c | 25 ++++++++++++++++++++++++-
+ 1 files changed, 24 insertions(+), 1 deletions(-)
+
+diff --git a/inputattach.c b/inputattach.c
+index 0382954..6806fc8 100644
+--- a/inputattach.c
++++ b/inputattach.c
+@@ -506,7 +506,7 @@ static void show_help(void)
+ struct input_types *type;
+
+ puts("");
+- puts("Usage: inputattach [--daemon] <mode> <device>");
++ puts("Usage: inputattach [--daemon] [--baud <baud>] <mode> <device>");
+ puts("");
+ puts("Modes:");
+
+@@ -530,6 +530,7 @@ int main(int argc, char **argv)
+ int i;
+ char c;
+ int retval;
++ int baud = -1;
+
+ for (i = 1; i < argc; i++) {
+ if (!strcasecmp(argv[i], "--help")) {
+@@ -540,6 +541,15 @@ int main(int argc, char **argv)
+ } else if (need_device) {
+ device = argv[i];
+ need_device = 0;
++ } else if (!strcasecmp(argv[i], "--baud")) {
++ if (argc <= i + 1) {
++ show_help();
++ fprintf(stderr,
++ "inputattach: require baud rate\n");
++ return EXIT_FAILURE;
++ }
++
++ baud = atoi(argv[++i]);
+ } else {
+ if (type && type->name) {
+ fprintf(stderr,
+@@ -580,6 +590,19 @@ int main(int argc, char **argv)
+ return 1;
+ }
+
++ switch(baud) {
++ case -1: break;
++ case 2400: type->speed = B2400; break;
++ case 4800: type->speed = B4800; break;
++ case 9600: type->speed = B9600; break;
++ case 19200: type->speed = B19200; break;
++ case 38400: type->speed = B38400; break;
++ default:
++ fprintf(stderr, "inputattach: invalid baud rate '%d'\n",
++ baud);
++ return EXIT_FAILURE;
++ }
++
+ setline(fd, type->flags, type->speed);
+
+ if (type->flush)
+--
+1.7.2.3
+
diff --git a/community/inputattach/PKGBUILD b/community/inputattach/PKGBUILD
new file mode 100644
index 000000000..bda613cf0
--- /dev/null
+++ b/community/inputattach/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 91882 2013-05-28 18:09:11Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Mark Smith <markzzzsmith@yahoo.com.au>
+
+pkgname=inputattach
+pkgver=1.24
+pkgrel=10
+pkgdesc="Attach serial mice, keyboards and other input devices to the kernel input system"
+arch=('i686' 'x86_64')
+url="http://linuxconsole.sourceforge.net/"
+license=('GPL')
+depends=('bash')
+makedepends=('gcc')
+backup=(etc/conf.d/inputattach)
+source=('http://arch.p5n.pp.ru/~sergej/dl/2011/inputattach.c'
+ 'http://arch.p5n.pp.ru/~sergej/dl/2011/serio-ids.h'
+ 'inputattach.conf.d'
+ 'inputattach.service'
+ 'inputattachctl'
+ '0001-Add-w8001-flag.patch'
+ '0002-Allow-for-custom-baud-rates.patch')
+md5sums=('eb595a766ca363edb3b14c25404596ce'
+ '93d34d96cd3ad19ea1aeca7f68a66b4a'
+ '7ca903e54829764c8241233af5069216'
+ 'c19b9ed38b243191cf5378b87a42a4cc'
+ '7dd0690a9d2fe5e1052900650906e273'
+ 'f1b3ddae308351357f557cbd5c6cda81'
+ '8f76908449cae24a95adbf0bc0a17721')
+
+build() {
+ cd "$srcdir"
+
+ mkdir src
+ cp inputattach.c serio-ids.h src/
+ cd src
+
+ # Add support for serial wacom tablets
+ patch -Np1 -i "$srcdir/0001-Add-w8001-flag.patch"
+ patch -Np1 -i "$srcdir/0002-Allow-for-custom-baud-rates.patch"
+
+ cc $CFLAGS inputattach.c -o inputattach
+}
+
+package() {
+ cd "$srcdir/src"
+ install -Dm755 inputattach "$pkgdir/usr/bin/inputattach"
+ install -Dm755 $srcdir/inputattachctl $pkgdir/usr/bin/inputattachctl
+ install -Dm644 $srcdir/inputattach.conf.d "$pkgdir/etc/conf.d/inputattach"
+ install -Dm644 $srcdir/inputattach.service $pkgdir/usr/lib/systemd/system/inputattach.service
+}
diff --git a/community/inputattach/inputattach.conf.d b/community/inputattach/inputattach.conf.d
new file mode 100644
index 000000000..ae8d1842a
--- /dev/null
+++ b/community/inputattach/inputattach.conf.d
@@ -0,0 +1,10 @@
+#
+# Configuration for inputattach
+#
+# IAPARAMS is an array of inputattach arguments, see 'inputattach --help'.
+# An inputattach instance will be started for each element.
+
+IAPARAMS=(
+ "--microsoft /dev/ttyS0"
+ #"--baud 9600 --w8001 /dev/ttyS1"
+)
diff --git a/community/inputattach/inputattach.service b/community/inputattach/inputattach.service
new file mode 100644
index 000000000..2ec902c09
--- /dev/null
+++ b/community/inputattach/inputattach.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Attach serial input devices to kernel input subsystem
+After=syslog.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/inputattachctl start
+ExecStop=/usr/bin/inputattachctl stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/inputattach/inputattachctl b/community/inputattach/inputattachctl
new file mode 100755
index 000000000..05dfa4af5
--- /dev/null
+++ b/community/inputattach/inputattachctl
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+. /etc/conf.d/inputattach
+
+case "$1" in
+ start)
+ for i in "${IAPARAMS[@]}"; do
+ /usr/bin/inputattach --daemon $i || exit 1
+ done
+ ;;
+ stop)
+ killall inputattach || exit 1
+ ;;
+esac