diff --git a/xorg/xf86-input-mutouch/0001-Fix-calculation-of-coordinates-with-inverted-axes.patch b/xorg/xf86-input-mutouch/0001-Fix-calculation-of-coordinates-with-inverted-axes.patch new file mode 100644 index 000000000..2565cc248 --- /dev/null +++ b/xorg/xf86-input-mutouch/0001-Fix-calculation-of-coordinates-with-inverted-axes.patch @@ -0,0 +1,46 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../xf86-input-mutouch/0001-Fix-calculation-of-coordinates-with-inverted-axes.patch +# Copyright (C) 2010 The OpenSDE Project +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- SDE-COPYRIGHT-NOTE-END --- + +From 275bc1fc265604ba15264b7d915c1e5208842fa7 Mon Sep 17 00:00:00 2001 +From: Fernando Vicente +Date: Fri, 16 Jan 2009 06:53:22 +0100 +Subject: [PATCH 1/2] Fix calculation of coordinates with inverted axes + +Signed-off-by: Julien Cristau +Signed-off-by: Peter Hutterer +--- + src/xf86MuTouch.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/xf86MuTouch.c b/src/xf86MuTouch.c +index 82c2a25..2d5cdb0 100644 +--- a/src/xf86MuTouch.c ++++ b/src/xf86MuTouch.c +@@ -426,9 +426,9 @@ xf86MuTReadInput(LocalDevicePtr local) + * or we will feed X with quite bogus event positions. + */ + if (priv->x_inverted) +- cur_x = priv->max_x - cur_x; ++ cur_x = priv->max_x - cur_x + priv->min_x; + if (priv->y_inverted) +- cur_y = priv->max_y - cur_y; ++ cur_y = priv->max_y - cur_y + priv->min_y; + xf86PostMotionEvent(local_to_use->dev, TRUE, 0, 2, cur_x, cur_y); + + /* +-- +1.6.5.3 + diff --git a/xorg/xf86-input-mutouch/0002-Cope-with-XINPUT-ABI-7.patch b/xorg/xf86-input-mutouch/0002-Cope-with-XINPUT-ABI-7.patch new file mode 100644 index 000000000..6beaf6cee --- /dev/null +++ b/xorg/xf86-input-mutouch/0002-Cope-with-XINPUT-ABI-7.patch @@ -0,0 +1,89 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../xf86-input-mutouch/0002-Cope-with-XINPUT-ABI-7.patch +# Copyright (C) 2010 The OpenSDE Project +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- SDE-COPYRIGHT-NOTE-END --- + +From 01997d42cf7e73700b798340267855850bdc5352 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Fri, 17 Jul 2009 14:18:51 +1000 +Subject: [PATCH 2/2] Cope with XINPUT ABI 7. + +Signed-off-by: Peter Hutterer +--- + src/xf86MuTouch.c | 25 ++++++++++++++++++++++--- + 1 files changed, 22 insertions(+), 3 deletions(-) + +diff --git a/src/xf86MuTouch.c b/src/xf86MuTouch.c +index 2d5cdb0..de319fc 100644 +--- a/src/xf86MuTouch.c ++++ b/src/xf86MuTouch.c +@@ -749,6 +749,10 @@ xf86MuTControl(DeviceIntPtr dev, + unsigned char req[MuT_PACKET_SIZE]; + unsigned char reply[MuT_BUFFER_SIZE]; + char *id_string = DEVICE_ID(local->private_flags) == FINGER_ID ? "finger" : "stylus"; ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ Atom btn_label; ++ Atom axis_labels[2] = { 0, 0 }; ++#endif + + switch(mode) { + +@@ -766,7 +770,11 @@ xf86MuTControl(DeviceIntPtr dev, + /* + * Device reports button press for up to 1 button. + */ +- if (InitButtonClassDeviceStruct(dev, 1, map) == FALSE) { ++ if (InitButtonClassDeviceStruct(dev, 1, ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ &btn_label, ++#endif ++ map) == FALSE) { + ErrorF("Unable to allocate ButtonClassDeviceStruct\n"); + return !Success; + } +@@ -779,6 +787,9 @@ xf86MuTControl(DeviceIntPtr dev, + * screen to fit one meter. + */ + if (InitValuatorClassDeviceStruct(dev, 2, ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ axis_labels, ++#endif + #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 3 + xf86GetMotionEvents, + #endif +@@ -787,11 +798,19 @@ xf86MuTControl(DeviceIntPtr dev, + return !Success; + } + else { +- InitValuatorAxisStruct(dev, 0, priv->min_x, priv->max_x, ++ InitValuatorAxisStruct(dev, 0, ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ axis_labels[0], ++#endif ++ priv->min_x, priv->max_x, + 9500, + 0 /* min_res */, + 9500 /* max_res */); +- InitValuatorAxisStruct(dev, 1, priv->min_y, priv->max_y, ++ InitValuatorAxisStruct(dev, 1, ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ axis_labels[1], ++#endif ++ priv->min_y, priv->max_y, + 10500, + 0 /* min_res */, + 10500 /* max_res */); +-- +1.6.5.3 +