summaryrefslogtreecommitdiff
path: root/x11-drivers
diff options
context:
space:
mode:
authorBaptiste Daroussin <bapt@FreeBSD.org>2017-01-23 22:16:57 +0000
committerBaptiste Daroussin <bapt@FreeBSD.org>2017-01-23 22:16:57 +0000
commitc524320e17ca7251d972cedeeb7e99897bdd157e (patch)
treed244bff857a4ffc0a76486e52c46ff1ce8c900c5 /x11-drivers
parentwww/firefox: re-enable RUST on i386 after r432111 (diff)
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
Notes
Notes: svn path=/head/; revision=432295
Diffstat (limited to 'x11-drivers')
-rw-r--r--x11-drivers/xf86-input-elographics/Makefile2
-rw-r--r--x11-drivers/xf86-input-elographics/files/patch-git_01_0d3ec2e80
-rw-r--r--x11-drivers/xf86-input-elographics/files/patch-git_02_c666c7828
3 files changed, 109 insertions, 1 deletions
diff --git a/x11-drivers/xf86-input-elographics/Makefile b/x11-drivers/xf86-input-elographics/Makefile
index 843b5df113b9..9f3de222f26b 100644
--- a/x11-drivers/xf86-input-elographics/Makefile
+++ b/x11-drivers/xf86-input-elographics/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xf86-input-elographics
PORTVERSION= 1.4.1
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-input-elographics/files/patch-git_01_0d3ec2e b/x11-drivers/xf86-input-elographics/files/patch-git_01_0d3ec2e
new file mode 100644
index 000000000000..a97a5305c647
--- /dev/null
+++ b/x11-drivers/xf86-input-elographics/files/patch-git_01_0d3ec2e
@@ -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
+
diff --git a/x11-drivers/xf86-input-elographics/files/patch-git_02_c666c78 b/x11-drivers/xf86-input-elographics/files/patch-git_02_c666c78
new file mode 100644
index 000000000000..e83a50d85eab
--- /dev/null
+++ b/x11-drivers/xf86-input-elographics/files/patch-git_02_c666c78
@@ -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
+