r937 - in trunk/oe/packages/tslib: . tslib-1.0
laforge at sita.openmoko.org
laforge at sita.openmoko.org
Sat Feb 10 03:01:15 CET 2007
Author: laforge
Date: 2007-02-10 03:01:15 +0100 (Sat, 10 Feb 2007)
New Revision: 937
Added:
trunk/oe/packages/tslib/tslib-1.0/tslib-input_raw-grab_events.patch
Modified:
trunk/oe/packages/tslib/tslib_1.0.bb
Log:
add tslib patch to support grab_events parameter of raw input module
Added: trunk/oe/packages/tslib/tslib-1.0/tslib-input_raw-grab_events.patch
===================================================================
--- trunk/oe/packages/tslib/tslib-1.0/tslib-input_raw-grab_events.patch 2007-02-10 01:34:47 UTC (rev 936)
+++ trunk/oe/packages/tslib/tslib-1.0/tslib-input_raw-grab_events.patch 2007-02-10 02:01:15 UTC (rev 937)
@@ -0,0 +1,92 @@
+This patch adds support for "EVIOCGRAB" on the input device, which
+tells the kernel _not_ to deliver events of the touchscreen to
+/dev/input/mice.
+
+This is probably what most people want, since unprocessed raw touchscreen
+events should not be converted to emulated PS/2 mouse movements.
+
+Signed-off-by: Harald Welte <laforge at openmoko.org>
+
+Index: plugins/input-raw.c
+===================================================================
+--- plugins/input-raw.c (revision 49)
++++ plugins/input-raw.c (working copy)
+@@ -18,6 +18,7 @@
+
+ #include <errno.h>
+ #include <stdio.h>
++#include <limits.h>
+
+ #include <stdlib.h>
+ #ifdef HAVE_UNISTD_H
+@@ -42,6 +43,7 @@
+
+ int sane_fd;
+ int using_syn;
++ int grab_events;
+ };
+
+ static int check_fd(struct tslib_input *i)
+@@ -64,6 +66,13 @@
+
+ if (bit & (1 << EV_SYN))
+ i->using_syn = 1;
++
++ if (i->grab_events) {
++ if (ioctl(ts->fd, EVIOCGRAB, (void *)1)) {
++ fprintf(stderr, "Unable to grab selected input device\n");
++ return -1;
++ }
++ }
+
+ return 0;
+ }
+@@ -231,6 +240,35 @@
+ .fini = ts_input_fini,
+ };
+
++static int parse_raw_grab(struct tslib_module_info *inf, char *str, void *data)
++{
++ struct tslib_input *i = (struct tslib_input *)inf;
++ unsigned long v;
++ int err = errno;
++
++ v = strtoul(str, NULL, 0);
++
++ if (v == ULONG_MAX && errno == ERANGE)
++ return -1;
++
++ errno = err;
++ switch ((int)data) {
++ case 1:
++ i->grab_events = v;
++ break;
++ default:
++ return -1;
++ }
++ return 0;
++}
++
++static const struct tslib_vars raw_vars[] =
++{
++ { "grab_events", (void *)1, parse_raw_grab },
++};
++
++#define NR_VARS (sizeof(raw_vars) / sizeof(raw_vars[0]))
++
+ TSAPI struct tslib_module_info *mod_init(struct tsdev *dev, const char *params)
+ {
+ struct tslib_input *i;
+@@ -245,5 +283,12 @@
+ i->current_p = 0;
+ i->sane_fd = 0;
+ i->using_syn = 0;
++ i->grab_events = 0;
++
++ if (tslib_parse_varse(&i->module, raw_vars, NR_VARS, params)) {
++ free(i);
++ return NULL;
++ }
++
+ return &(i->module);
+ }
Modified: trunk/oe/packages/tslib/tslib_1.0.bb
===================================================================
--- trunk/oe/packages/tslib/tslib_1.0.bb 2007-02-10 01:34:47 UTC (rev 936)
+++ trunk/oe/packages/tslib/tslib_1.0.bb 2007-02-10 02:01:15 UTC (rev 937)
@@ -3,9 +3,10 @@
AUTHOR = "Russell King w/ plugins by Chris Larson et. al."
SECTION = "base"
LICENSE = "LGPL"
-PR = "r8"
+PR = "r9"
SRC_URI = "http://download.berlios.de/tslib/tslib-1.0.tar.bz2 \
+ file://tslib-input_raw-grab_events.patch;patch=1 \
file://ts.conf \
file://ts.conf-h3600-2.4 \
file://ts.conf-simpad-2.4 \
More information about the commitlog
mailing list