diff options
author | Baptiste Daroussin <bapt@FreeBSD.org> | 2017-01-23 22:16:57 +0000 |
---|---|---|
committer | Baptiste Daroussin <bapt@FreeBSD.org> | 2017-01-23 22:16:57 +0000 |
commit | c524320e17ca7251d972cedeeb7e99897bdd157e (patch) | |
tree | d244bff857a4ffc0a76486e52c46ff1ce8c900c5 /x11-drivers | |
parent | d66bd8256c2918eba827502e86f8ba320b0583ef (diff) | |
download | ports-c524320e17ca7251d972cedeeb7e99897bdd157e.tar.gz ports-c524320e17ca7251d972cedeeb7e99897bdd157e.zip |
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')
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 + |