[arch-commits] Commit in xf86-input-elographics/trunk (PKGBUILD git-fixes.patch)

Laurent Carlier lcarlier at archlinux.org
Tue Nov 22 06:33:30 UTC 2016


    Date: Tuesday, November 22, 2016 @ 06:33:29
  Author: lcarlier
Revision: 281803

upgpkg: xf86-input-elographics 1.4.1-7

xorg-server-1.19 rebuild

Added:
  xf86-input-elographics/trunk/git-fixes.patch
Modified:
  xf86-input-elographics/trunk/PKGBUILD

-----------------+
 PKGBUILD        |   19 ++++++---
 git-fixes.patch |  107 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 120 insertions(+), 6 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2016-11-22 05:57:43 UTC (rev 281802)
+++ PKGBUILD	2016-11-22 06:33:29 UTC (rev 281803)
@@ -3,17 +3,24 @@
 
 pkgname=xf86-input-elographics
 pkgver=1.4.1
-pkgrel=6
+pkgrel=7
 pkgdesc="X.org Elographics TouchScreen input driver"
 arch=(i686 x86_64)
 license=('custom')
-url="http://xorg.freedesktop.org/"
+url="https://xorg.freedesktop.org/"
 depends=('glibc')
-makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=22.1' 'resourceproto' 'scrnsaverproto')
-conflicts=('xorg-server<1.16' 'X-ABI-XINPUT_VERSION<22.1' 'X-ABI-XINPUT_VERSION>=23')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('a21af744d57f158e6dff9d60a68aaac46b8d726d602911940cb61f4d6bb2c6a4')
+makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=24.1' 'resourceproto' 'scrnsaverproto')
+conflicts=('xorg-server<1.19' 'X-ABI-XINPUT_VERSION<24.1' 'X-ABI-XINPUT_VERSION>=25')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+        git-fixes.patch)
+sha256sums=('a21af744d57f158e6dff9d60a68aaac46b8d726d602911940cb61f4d6bb2c6a4'
+            '2fdb0abb60cf966b905802f9aa3af3e858644a9b9723dcdce462047e83872826')
 
+prepare() {
+  cd ${pkgname}-${pkgver}
+  patch -Np1 -i ../git-fixes.patch
+}
+
 build() {
   cd ${pkgname}-${pkgver}
   ./configure --prefix=/usr

Added: git-fixes.patch
===================================================================
--- git-fixes.patch	                        (rev 0)
+++ git-fixes.patch	2016-11-22 06:33:29 UTC (rev 281803)
@@ -0,0 +1,107 @@
+From 0d3ec2e97c99431cdbaea8e958a75ff2e748da41 Mon Sep 17 00:00:00 2001
+From: Jaska Kivela <jaska at kivela.net>
+Date: Wed, 16 Jan 2013 11:51:04 +0200
+Subject: Added axis inversion functionality.
+
+The module would previously log a message if min > max, but not do anything
+about it. Keep the original min/max around, swap on-the-fly.
+
+Signed-off-by: Jaska Kivela <jaska at kivela.net>
+Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
+Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
+
+diff --git a/src/xf86Elo.c b/src/xf86Elo.c
+index cb1699e..c37cf9a 100644
+--- a/src/xf86Elo.c
++++ b/src/xf86Elo.c
+@@ -360,6 +360,22 @@ xf86EloReadInput(InputInfoPtr	pInfo)
+           cur_y = WORD_ASSEMBLY(priv->packet_buf[5], priv->packet_buf[6]);
+           state = priv->packet_buf[2] & 0x07;
+ 
++          DBG(5, ErrorF("ELO got: x(%d), y(%d), %s\n",
++                      cur_x, cur_y,
++                      (state == ELO_PRESS) ? "Press" :
++			((state == ELO_RELEASE) ? "Release" : "Stream")));
++
++          if (priv->min_y > priv->max_y) {
++            /* inverted y axis */
++            cur_y = priv->max_y - cur_y + priv->min_y;
++          }
++
++          if (priv->min_x > priv->max_x) {
++            /* inverted x axis */
++            cur_x = priv->max_x - cur_x + priv->min_x;
++          }
++
++
+           /*
+            * Send events.
+            *
+@@ -676,6 +692,7 @@ xf86EloControl(DeviceIntPtr	dev,
+   unsigned char		reply[ELO_PACKET_SIZE];
+   Atom btn_label;
+   Atom axis_labels[2] = { 0, 0 };
++  int x0, x1, y0, y1;
+ 
+   switch(mode) {
+ 
+@@ -719,17 +736,27 @@ xf86EloControl(DeviceIntPtr	dev,
+ 	return !Success;
+       }
+       else {
++
++	/* Correct the coordinates for possibly inverted axis.
++	   Leave priv->variables untouched so we can check for
++	   inversion on incoming events.
++	 */
++	y0 = min(priv->min_y, priv->max_y);
++	y1 = max(priv->min_y, priv->max_y);
++	x0 = min(priv->min_x, priv->max_x);
++	x1 = max(priv->min_x, priv->max_x);
++
+ 	/* I will map coordinates myself */
+ 	InitValuatorAxisStruct(dev, 0,
+ 			       axis_labels[0],
+-			       priv->min_x, priv->max_x,
++			       x0, x1,
+ 			       9500,
+ 			       0     /* min_res */,
+ 			       9500  /* max_res */,
+ 			       Absolute);
+ 	InitValuatorAxisStruct(dev, 1,
+ 			       axis_labels[1],
+-			       priv->min_y, priv->max_y,
++			       y0, y1,
+ 			       10500,
+ 			       0     /* min_res */,
+ 			       10500 /* max_res */,
+-- 
+cgit v0.10.2
+From c666c78c764d0b97fa25bd9f0796a83b77761f7d Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer at who-t.net>
+Date: Wed, 30 Jan 2013 11:47:03 +1000
+Subject: Handle DEVICE_ABORT on input ABI 19.1
+
+Don't do anything, but don't print a warning either.
+
+Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
+
+diff --git a/src/xf86Elo.c b/src/xf86Elo.c
+index c37cf9a..ef2186f 100644
+--- a/src/xf86Elo.c
++++ b/src/xf86Elo.c
+@@ -875,6 +875,11 @@ xf86EloControl(DeviceIntPtr	dev,
+     DBG(2, ErrorF("Done\n"));
+     return Success;
+ 
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) * 100 + GET_ABI_MINOR(ABI_XINPUT_VERSION) >= 1901
++  case DEVICE_ABORT:
++    return Success;
++#endif
++
+   default:
+       ErrorF("unsupported mode=%d\n", mode);
+       return BadValue;
+-- 
+cgit v0.10.2
+



More information about the arch-commits mailing list