initial import
This commit is contained in:
48
xenocara-input-elographics-debug/PKGBUILD
Normal file
48
xenocara-input-elographics-debug/PKGBUILD
Normal file
@@ -0,0 +1,48 @@
|
||||
# Maintainer: Jesus E. <heckyel@riseup.net>
|
||||
|
||||
# Based on xf86-input-elographics package
|
||||
|
||||
pkgname=xenocara-input-elographics-debug
|
||||
_openbsdver=6.9
|
||||
pkgver=1.4.1
|
||||
pkgrel=3
|
||||
pkgdesc="Xenocara Elographics TouchScreen input driver"
|
||||
arch=(i686 x86_64)
|
||||
license=('Expat')
|
||||
url="https://www.xenocara.org"
|
||||
depends=('glibc')
|
||||
makedepends=('xenocara-server-devel' 'X-ABI-XINPUT_VERSION=24.1' 'xenocara-proto' 'xenocara-util-macros')
|
||||
provides=('xf86-input-elographics')
|
||||
conflicts=('xf86-input-elographics' 'xenocara-server<1.20' 'X-ABI-XINPUT_VERSION<24.1' 'X-ABI-XINPUT_VERSION>=25')
|
||||
replaces=('xf86-input-elographics')
|
||||
source=(https://repo.hyperbola.info:50000/sources/xenocara-libre/$_openbsdver/driver/xf86-input-elographics-$pkgver.tar.lz{,.sig}
|
||||
git-fixes.patch)
|
||||
options=(!strip) # It's required for debug packages
|
||||
sha512sums=('4455f84a683a5ee52f423aaa641511127e57076afc6bb2a657ef7d04af3ffc781f3ca29ee68b10d126fcf37ca62b56602c4f1014b31b24d02e873d343e9b136a'
|
||||
'SKIP'
|
||||
'82a1575a50af1ee80194c47e8954a315c060cbbf1c912b47d1b152e29aa478a174f2324cd26333398c8a520f333a9e196d030f7995efd11eb15b34e562ffdf35')
|
||||
validpgpkeys=('C92BAA713B8D53D3CAE63FC9E6974752F9704456') # André Silva
|
||||
|
||||
prepare() {
|
||||
cd "xenocara-$_openbsdver/driver/xf86-input-elographics"
|
||||
patch -p1 -i "$srcdir/git-fixes.patch"
|
||||
autoreconf -vfi
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "xenocara-$_openbsdver/driver/xf86-input-elographics"
|
||||
|
||||
# It's required for debug packages
|
||||
export CFLAGS=${CFLAGS/-O2/-O0 -g3}
|
||||
export CXXFLAGS=${CXXFLAGS/-O2/-O0 -g3}
|
||||
|
||||
./configure --prefix=/usr
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "xenocara-$_openbsdver/driver/xf86-input-elographics"
|
||||
make DESTDIR="$pkgdir" install
|
||||
|
||||
install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
|
||||
}
|
||||
107
xenocara-input-elographics-debug/git-fixes.patch
Normal file
107
xenocara-input-elographics-debug/git-fixes.patch
Normal file
@@ -0,0 +1,107 @@
|
||||
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
|
||||
--- 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@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
|
||||
--- 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
|
||||
|
||||
Reference in New Issue
Block a user