diff options
Diffstat (limited to 'package/xf86-input-evtouch')
-rw-r--r-- | package/xf86-input-evtouch/Makefile | 33 | ||||
-rw-r--r-- | package/xf86-input-evtouch/patches/patch-ev_calibrate_c | 11 | ||||
-rw-r--r-- | package/xf86-input-evtouch/patches/patch-evtouch_c | 125 |
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; |