diff --git a/recipes-graphics/tslib/tslib/0001-Support-reading-coordinates-from-multitouch-devices.patch b/recipes-graphics/tslib/tslib/0001-Support-reading-coordinates-from-multitouch-devices.patch new file mode 100644 index 0000000..c4d0d0b --- /dev/null +++ b/recipes-graphics/tslib/tslib/0001-Support-reading-coordinates-from-multitouch-devices.patch @@ -0,0 +1,79 @@ +From c525c0b5d8eada982c99442454fcf7b8364e10b3 Mon Sep 17 00:00:00 2001 +From: Florian Boor +Date: Fri, 1 Apr 2011 23:30:21 +0200 +Subject: [PATCH] Support reading coordinates from multitouch devices. + +Signed-off-by: Florian Boor +Signed-off-by: Christopher Larson +--- + plugins/input-raw.c | 33 +++++++++++++++++++++++---------- + 1 file changed, 23 insertions(+), 10 deletions(-) + +diff --git a/plugins/input-raw.c b/plugins/input-raw.c +index 4396eab..1e48505 100644 +--- a/plugins/input-raw.c ++++ b/plugins/input-raw.c +@@ -40,6 +40,11 @@ + # define KEY_CNT (KEY_MAX+1) + #endif + ++#ifndef ABS_MT_POSITION_X ++# define ABS_MT_POSITION_X 0x35 /* Center X ellipse position */ ++# define ABS_MT_POSITION_Y 0x36 /* Center Y ellipse position */ ++#endif ++ + #include "tslib-private.h" + + #define GRAB_EVENTS_WANTED 1 +@@ -160,16 +165,17 @@ static int ts_input_read(struct tslib_module_info *inf, + } + break; + case EV_SYN: +- /* Fill out a new complete event */ +- if (pen_up) { +- samp->x = 0; +- samp->y = 0; +- samp->pressure = 0; +- pen_up = 0; +- } else { +- samp->x = i->current_x; +- samp->y = i->current_y; +- samp->pressure = i->current_p; ++ if (ev.code == SYN_REPORT) { ++ /* Fill out a new complete event */ ++ if (pen_up) { ++ samp->x = 0; ++ samp->y = 0; ++ samp->pressure = 0; ++ pen_up = 0; ++ } else { ++ samp->x = i->current_x; ++ samp->y = i->current_y; ++ samp->pressure = i->current_p; + } + samp->tv = ev.time; + #ifdef DEBUG +@@ -179,6 +185,7 @@ static int ts_input_read(struct tslib_module_info *inf, + #endif /* DEBUG */ + samp++; + total++; ++ } + break; + case EV_ABS: + switch (ev.code) { +@@ -188,6 +195,12 @@ static int ts_input_read(struct tslib_module_info *inf, + case ABS_Y: + i->current_y = ev.value; + break; ++ case ABS_MT_POSITION_X: ++ i->current_x = ev.value; ++ break; ++ case ABS_MT_POSITION_Y: ++ i->current_y = ev.value; ++ break; + case ABS_PRESSURE: + i->current_p = ev.value; + break; +-- +1.8.1.4 + diff --git a/recipes-graphics/tslib/tslib_git.bbappend b/recipes-graphics/tslib/tslib_git.bbappend index 82bec0f..db6f5f1 100644 --- a/recipes-graphics/tslib/tslib_git.bbappend +++ b/recipes-graphics/tslib/tslib_git.bbappend @@ -2,9 +2,6 @@ FILESEXTRAPATHS := "${THISDIR}/${PN}" PRINC := "${@int(PRINC) + 1}" -SRC_URI = "git://github.com/kergoth/tslib.git \ - file://ts.conf \ - file://tslib.sh \ - file://tslib.patch" +SRC_URI += "file://0001-Support-reading-coordinates-from-multitouch-devices.patch \ + file://tslib.patch" -SRCREV = "f6c499a523bff845ddd57b1d96c9d1389f0df17b"