summaryrefslogtreecommitdiff
path: root/package/xf86-input-evtouch
diff options
context:
space:
mode:
Diffstat (limited to 'package/xf86-input-evtouch')
-rw-r--r--package/xf86-input-evtouch/Makefile33
-rw-r--r--package/xf86-input-evtouch/patches/patch-ev_calibrate_c11
-rw-r--r--package/xf86-input-evtouch/patches/patch-evtouch_c125
3 files changed, 169 insertions, 0 deletions
diff --git a/package/xf86-input-evtouch/Makefile b/package/xf86-input-evtouch/Makefile
new file mode 100644
index 000000000..4f7506523
--- /dev/null
+++ b/package/xf86-input-evtouch/Makefile
@@ -0,0 +1,33 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= xf86-input-evtouch
+PKG_VERSION:= 0.8.8
+PKG_RELEASE:= 1
+PKG_BUILDDEP+= xorg-server
+PKG_MD5SUM:= 4d8e092356d8353002f60a4907046c13
+PKG_DESCR:= X11 driver for touchscreen
+PKG_SECTION:= x11
+PKG_DEPENDS:= xorg-server kmod-input-evdev
+PKG_SITES:= http://www.conan.de/touchscreen/
+
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
+
+PKG_TARGET_DEPENDS:= alix1c
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,XF86_INPUT_EVTOUCH,${PKG_NAME},$(PKG_VERSION)-$(PKG_RELEASE),${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+CONFIGURE_STYLE:= gnu
+BUILD_STYLE:= auto
+INSTALL_STYLE:= auto
+
+post-install:
+ ${INSTALL_DIR} ${IDIR_XF86_INPUT_EVTOUCH}/usr/lib/xorg/modules/input
+ ${CP} ${WRKINST}/usr/lib/xorg/modules/input/evtouch_drv.so \
+ ${IDIR_XF86_INPUT_EVTOUCH}/usr/lib/xorg/modules/input/
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/xf86-input-evtouch/patches/patch-ev_calibrate_c b/package/xf86-input-evtouch/patches/patch-ev_calibrate_c
new file mode 100644
index 000000000..103500ea5
--- /dev/null
+++ b/package/xf86-input-evtouch/patches/patch-ev_calibrate_c
@@ -0,0 +1,11 @@
+--- xf86-input-evtouch-0.8.8.orig/ev_calibrate.c 2008-11-10 12:25:32.000000000 +0100
++++ xf86-input-evtouch-0.8.8/ev_calibrate.c 2010-01-08 17:13:52.000000000 +0100
+@@ -218,7 +218,7 @@ int main (void)
+ int cap_style = CapButt; /* style of the line's edje and */
+ int join_style = JoinBevel; /* joined lines. */
+
+- int event_mask = ExposureMask | ButtonReleaseMask | PointerMotionMask | KeyPressMask;
++ int event_mask = ExposureMask | ButtonPressMask | ButtonReleaseMask | PointerMotionMask | KeyPressMask;
+
+ int depth;
+ int screen_num;
diff --git a/package/xf86-input-evtouch/patches/patch-evtouch_c b/package/xf86-input-evtouch/patches/patch-evtouch_c
new file mode 100644
index 000000000..a0fe4919e
--- /dev/null
+++ b/package/xf86-input-evtouch/patches/patch-evtouch_c
@@ -0,0 +1,125 @@
+--- xf86-input-evtouch-0.8.8.orig/evtouch.c 2008-11-11 09:47:55.000000000 +0100
++++ xf86-input-evtouch-0.8.8/evtouch.c 2010-01-08 17:14:02.000000000 +0100
+@@ -30,8 +30,8 @@
+
+ #define _evdev_touch_C_
+
+-#include <xf86Version.h>
+-#if XF86_VERSION_CURRENT >= XF86_VERSION_NUMERIC(3,9,0,0,0)
++#include <xorgVersion.h>
++#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(3,9,0,0,0)
+ #define XFREE86_V4
+ #endif
+
+@@ -74,7 +74,6 @@
+ #include "xf86_OSproc.h"
+ #include "xf86Xinput.h"
+ #include "exevents.h"
+-#include "xf86OSmouse.h"
+ #include "randrstr.h"
+
+ #ifndef NEED_XF86_TYPES
+@@ -139,7 +138,7 @@ static XF86ModuleVersionInfo VersionRec
+ "Kenan Esau",
+ MODINFOSTRING1,
+ MODINFOSTRING2,
+- XF86_VERSION_CURRENT,
++ XORG_VERSION_CURRENT,
+ 0, 8, 8,
+ ABI_CLASS_XINPUT,
+ ABI_XINPUT_VERSION,
+@@ -167,7 +166,7 @@ Unplug(pointer p)
+ }
+
+
+-XF86ModuleData evtouchModuleData = {&VersionRec, Plug, Unplug };
++_X_EXPORT XF86ModuleData evtouchModuleData = {&VersionRec, Plug, Unplug };
+
+ #endif /* XFree86LOADER */
+
+@@ -306,7 +305,7 @@ void EVTouchProcessAbs(EVTouchPrivatePtr
+ }
+
+ if (pos_changed == 1) {
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 2
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 2
+ ConvertProc(priv->local, 0, 2,
+ priv->raw_x, priv->raw_y,
+ 0, 0, 0, 0,
+@@ -370,7 +369,7 @@ void EVTouchProcessRel(EVTouchPrivatePtr
+ priv->raw_y = priv->min_y;
+ }
+
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 2
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 2
+ ConvertProc(priv->local, 0, 2,
+ priv->raw_x, priv->raw_y,
+ 0, 0, 0, 0,
+@@ -591,6 +590,10 @@ DeviceInit (DeviceIntPtr dev)
+ EVTouchPrivatePtr priv = (EVTouchPrivatePtr) (local->private);
+ unsigned char map[EV_MAX_BUTTONS];
+ int i;
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
++ Atom btn_label;
++ Atom axis_labels[2] = { 0, 0 };
++#endif
+
+ for (i = 0; i < EV_MAX_BUTTONS; i++)
+ map[i] = i;
+@@ -629,7 +632,11 @@ DeviceInit (DeviceIntPtr dev)
+ /*
+ * Device reports button press for 5 buttons.
+ */
+- if (InitButtonClassDeviceStruct (dev, EV_MAX_BUTTONS, map) == FALSE)
++ if (InitButtonClassDeviceStruct (dev, EV_MAX_BUTTONS,
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
++ &btn_label,
++#endif
++ map) == FALSE)
+ {
+ ErrorF("Unable to allocate EVTouch touchscreen ButtonClassDeviceStruct\n");
+ return BadAlloc;
+@@ -653,28 +660,34 @@ DeviceInit (DeviceIntPtr dev)
+ * Device reports motions on 2 axes in absolute coordinates.
+ * Axes min and max values are reported in raw coordinates.
+ */
+- if (InitValuatorClassDeviceStruct(dev, 2, xf86GetMotionEvents,
+- local->history_size, Absolute) == FALSE)
++ if (InitValuatorClassDeviceStruct(dev, 2,
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
++ axis_labels,
++#endif
++ local->history_size, Absolute) == FALSE)
+ {
+ ErrorF ("Unable to allocate EVTouch touchscreen ValuatorClassDeviceStruct\n");
+ return !Success;
+ }
+
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 2
+- xf86InitValuatorAxisStruct(dev, 0, 0, priv->screen_width,
++ xf86InitValuatorAxisStruct(dev, 0,
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
++ axis_labels[0],
++#endif
++ 0, priv->screen_width,
+ 1024,
+ EV_AXIS_MIN_RES /* min_res */ ,
+ EV_AXIS_MAX_RES /* max_res */ );
+ xf86InitValuatorDefaults(dev, 0);
+- xf86InitValuatorAxisStruct(dev, 1, 0, priv->screen_height,
++ xf86InitValuatorAxisStruct(dev, 1,
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
++ axis_labels[1],
++#endif
++ 0, priv->screen_height,
+ 1024,
+ EV_AXIS_MIN_RES /* min_res */ ,
+ EV_AXIS_MAX_RES /* max_res */ );
+ xf86InitValuatorDefaults(dev, 1);
+-#else
+- xf86InitValuatorAxisStruct(dev, 0, priv->min_x, priv->max_x,
+- xf86InitValuatorDefaults(dev, 1);
+-#endif
+
+ /* Initial position of pointer on screen: Centered */
+ priv->cur_x=(priv->max_x - priv->min_x)/2;