Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Jan 2017 22:16:57 +0000 (UTC)
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r432295 - in head/x11-drivers/xf86-input-elographics: . files
Message-ID:  <201701232216.v0NMGvpK052473@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bapt
Date: Mon Jan 23 22:16:57 2017
New Revision: 432295
URL: https://svnweb.freebsd.org/changeset/ports/432295

Log:
  Import few patches from upstream to allow building with newer xorg
  
  Note that those drivers are barely maintained and might disappear in the futur
  
  PR:		216271
  Submitted by:	matthew@reztek.cz

Added:
  head/x11-drivers/xf86-input-elographics/files/
  head/x11-drivers/xf86-input-elographics/files/patch-git_01_0d3ec2e   (contents, props changed)
  head/x11-drivers/xf86-input-elographics/files/patch-git_02_c666c78   (contents, props changed)
Modified:
  head/x11-drivers/xf86-input-elographics/Makefile

Modified: head/x11-drivers/xf86-input-elographics/Makefile
==============================================================================
--- head/x11-drivers/xf86-input-elographics/Makefile	Mon Jan 23 22:05:31 2017	(r432294)
+++ head/x11-drivers/xf86-input-elographics/Makefile	Mon Jan 23 22:16:57 2017	(r432295)
@@ -2,7 +2,7 @@
 
 PORTNAME=	xf86-input-elographics
 PORTVERSION=	1.4.1
-PORTREVISION=	4
+PORTREVISION=	5
 CATEGORIES=	x11-drivers
 
 MAINTAINER=	x11@FreeBSD.org

Added: head/x11-drivers/xf86-input-elographics/files/patch-git_01_0d3ec2e
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11-drivers/xf86-input-elographics/files/patch-git_01_0d3ec2e	Mon Jan 23 22:16:57 2017	(r432295)
@@ -0,0 +1,80 @@
+From 0d3ec2e97c99431cdbaea8e958a75ff2e748da41 Mon Sep 17 00:00:00 2001
+From: Jaska Kivela <jaska@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@kivela.net>
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/xf86Elo.c b/src/xf86Elo.c
+index cb1699e..c37cf9a 100644
+--- src/xf86Elo.c
++++ 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
+

Added: head/x11-drivers/xf86-input-elographics/files/patch-git_02_c666c78
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11-drivers/xf86-input-elographics/files/patch-git_02_c666c78	Mon Jan 23 22:16:57 2017	(r432295)
@@ -0,0 +1,28 @@
+From c666c78c764d0b97fa25bd9f0796a83b77761f7d Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@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@who-t.net>
+
+diff --git a/src/xf86Elo.c b/src/xf86Elo.c
+index c37cf9a..ef2186f 100644
+--- src/xf86Elo.c
++++ 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
+



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201701232216.v0NMGvpK052473>