xf86-input-evtouch: make it build again, add HAL support
authorKoen Kooi <koen@openembedded.org>
Fri, 2 Oct 2009 08:10:13 +0000 (10:10 +0200)
committerKoen Kooi <koen@openembedded.org>
Fri, 2 Oct 2009 08:10:13 +0000 (10:10 +0200)
recipes/xorg-driver/xf86-input-evtouch/20_fix_calibrate_submission_directions.patch [new file with mode: 0644]
recipes/xorg-driver/xf86-input-evtouch/21_more_calibration_fixups.patch [new file with mode: 0644]
recipes/xorg-driver/xf86-input-evtouch/fdi/50-Fujitsu.fdi [new file with mode: 0644]
recipes/xorg-driver/xf86-input-evtouch/fdi/50-Panasonic.fdi [new file with mode: 0644]
recipes/xorg-driver/xf86-input-evtouch/fdi/50-eGalax.fdi [new file with mode: 0644]
recipes/xorg-driver/xf86-input-evtouch/fdi/50-ideaco.fdi [new file with mode: 0644]
recipes/xorg-driver/xf86-input-evtouch/fdi/50-itm.fdi [new file with mode: 0644]
recipes/xorg-driver/xf86-input-evtouch/fdi/50-touchkit.fdi [new file with mode: 0644]
recipes/xorg-driver/xf86-input-evtouch/xf86-input-evtouch_0.8.8-0ubuntu3.diff [new file with mode: 0644]
recipes/xorg-driver/xf86-input-evtouch_0.8.8.bb

diff --git a/recipes/xorg-driver/xf86-input-evtouch/20_fix_calibrate_submission_directions.patch b/recipes/xorg-driver/xf86-input-evtouch/20_fix_calibrate_submission_directions.patch
new file mode 100644 (file)
index 0000000..68950a4
--- /dev/null
@@ -0,0 +1,13 @@
+Index: xf86-input-evtouch-0.8.8/calibrate.sh
+===================================================================
+--- xf86-input-evtouch-0.8.8.orig/calibrate.sh 2009-01-14 14:14:10.000000000 +0100
++++ xf86-input-evtouch-0.8.8/calibrate.sh      2009-01-14 14:14:51.000000000 +0100
+@@ -25,7 +25,7 @@
+ FAILINFO="No evtouch capable device found, if you are sure you have \n\
+ an evtouch capable touchscreen, please mail the \
+ resulting file of the command \"lshal > evtouch_hal.out\" to the\n\
+-ubuntu-mobile@lists.ubuntu.com mailing list, so support for your \
++bug url https://bugs.launchpad.net/bugs/317094, so support for your \
+ device can be added."
+ if [ -z "$UDI" ];then
diff --git a/recipes/xorg-driver/xf86-input-evtouch/21_more_calibration_fixups.patch b/recipes/xorg-driver/xf86-input-evtouch/21_more_calibration_fixups.patch
new file mode 100644 (file)
index 0000000..abb9e51
--- /dev/null
@@ -0,0 +1,33 @@
+diff -u xf86-input-evtouch-0.8.8/evtouch.c xf86-input-evtouch-0.8.8/evtouch.c
+--- xf86-input-evtouch-0.8.8/evtouch.c
++++ xf86-input-evtouch-0.8.8/evtouch.c
+@@ -305,7 +305,7 @@
+       }
+         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, 
+@@ -369,7 +369,7 @@
+                         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,
+diff -u xf86-input-evtouch-0.8.8/debian/changelog xf86-input-evtouch-0.8.8/debian/changelog
+--- xf86-input-evtouch-0.8.8.orig/ev_calibrate.c
++++ xf86-input-evtouch-0.8.8/ev_calibrate.c
+@@ -218,7 +218,7 @@
+         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/recipes/xorg-driver/xf86-input-evtouch/fdi/50-Fujitsu.fdi b/recipes/xorg-driver/xf86-input-evtouch/fdi/50-Fujitsu.fdi
new file mode 100644 (file)
index 0000000..cadc5de
--- /dev/null
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
+
+<deviceinfo version="0.2">
+
+  <device>
+    <match key="info.product" contains="Fujitsu Component USB Touch Panel">
+      <match key="info.capabilities" contains="input">
+         <merge key="input.x11_driver" type="string">evtouch</merge>
+         <merge key="input.x11_options.reportingmode" type="string">raw</merge>
+         <merge key="input.x11_options.emulate3buttons" type="string">true</merge>
+         <merge key="input.x11_options.emulate3timeout" type="string">50</merge>
+         <merge key="input.x11_options.sendcoreevents" type="string">on</merge>
+         <merge key="input.x11_options.minx" type="string">76</merge>
+         <merge key="input.x11_options.miny" type="string">104</merge>
+         <merge key="input.x11_options.maxx" type="string">957</merge>
+         <merge key="input.x11_options.maxy" type="string">976</merge>
+      </match>
+    </match>
+  </device>
+
+</deviceinfo>
diff --git a/recipes/xorg-driver/xf86-input-evtouch/fdi/50-Panasonic.fdi b/recipes/xorg-driver/xf86-input-evtouch/fdi/50-Panasonic.fdi
new file mode 100644 (file)
index 0000000..c318e12
--- /dev/null
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
+
+<deviceinfo version="0.2">
+
+  <device>
+    <match key="info.product" contains="Fujitsu Takamisawa USB Touch Panel">
+      <match key="info.capabilities" contains="input">
+         <merge key="input.x11_driver" type="string">evtouch</merge>
+         <merge key="input.x11_options.reportingmode" type="string">raw</merge>
+         <merge key="input.x11_options.emulate3buttons" type="string">true</merge>
+         <merge key="input.x11_options.emulate3timeout" type="string">50</merge>
+         <merge key="input.x11_options.sendcoreevents" type="string">on</merge>
+         <merge key="input.x11_options.minx" type="string">76</merge>
+         <merge key="input.x11_options.miny" type="string">104</merge>
+         <merge key="input.x11_options.maxx" type="string">957</merge>
+         <merge key="input.x11_options.maxy" type="string">976</merge>
+      </match>
+    </match>
+  </device>
+
+</deviceinfo>
diff --git a/recipes/xorg-driver/xf86-input-evtouch/fdi/50-eGalax.fdi b/recipes/xorg-driver/xf86-input-evtouch/fdi/50-eGalax.fdi
new file mode 100644 (file)
index 0000000..9610c5e
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
+<deviceinfo version="0.2">
+  <device>
+    <match key="info.product" contains="eGalax">
+      <match key="info.capabilities" contains="input">
+        <merge key="input.x11_driver" type="string">evtouch</merge>
+        <merge key="input.x11_options.minx" type="string">130</merge>
+        <merge key="input.x11_options.miny" type="string">197</merge>
+        <merge key="input.x11_options.maxx" type="string">3945</merge>
+        <merge key="input.x11_options.maxy" type="string">3894</merge>
+        <merge key="input.x11_options.taptimer" type="string">30</merge>
+        <merge key="input.x11_options.longtouchtimer" type="string">750</merge>
+        <merge key="input.x11_options.longtouched_action" type="string">click</merge>
+        <merge key="input.x11_options.longtouched_button" type="string">3</merge>
+        <merge key="input.x11_options.oneandhalftap_button" type="string">2</merge>
+        <merge key="input.x11_options.movelimit" type="string">10</merge>
+        <merge key="input.x11_options.touched_drag" type="string">1</merge>
+        <merge key="input.x11_options.maybetapped_action" type="string">click</merge>
+        <merge key="input.x11_options.maybetapped_button" type="string">1</merge>
+      </match>
+    </match>
+  </device>
+</deviceinfo>
diff --git a/recipes/xorg-driver/xf86-input-evtouch/fdi/50-ideaco.fdi b/recipes/xorg-driver/xf86-input-evtouch/fdi/50-ideaco.fdi
new file mode 100644 (file)
index 0000000..1230012
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
+
+<deviceinfo version="0.2">
+  <device>
+    <match key="info.product" contains="IDEACO">
+      <match key="info.product" contains="IDC 6680">
+        <match key="info.capabilities" contains="input.touchpad">
+             <merge key="input.x11_driver" type="string">evtouch</merge>
+             <merge key="input.x11_options.reportingmode" type="string">raw</merge>
+             <merge key="input.x11_options.taptimer" type="string">50</merge>
+             <merge key="input.x11_options.longtouchtimer" type="string">30</merge>
+             <merge key="input.x11_options.movelimit" type="string">15</merge>
+             <merge key="input.x11_options.emulate3buttons" type="string">true</merge>
+             <merge key="input.x11_options.emulate3timeout" type="string">50</merge>
+          <merge key="input.x11_options.maxx" type="string">7948</merge>
+          <merge key="input.x11_options.maxy" type="string">7834</merge>
+          <merge key="input.x11_options.minx" type="string">112</merge>
+          <merge key="input.x11_options.miny" type="string">254</merge>
+        </match>
+      </match>
+    </match>
+  </device>
+</deviceinfo>
diff --git a/recipes/xorg-driver/xf86-input-evtouch/fdi/50-itm.fdi b/recipes/xorg-driver/xf86-input-evtouch/fdi/50-itm.fdi
new file mode 100644 (file)
index 0000000..64adcf2
--- /dev/null
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
+
+<deviceinfo version="0.2">
+  <device>
+      <match key="info.product" contains="ITM Inc USB Touch Panel">
+        <match key="info.capabilities" contains="input.touchpad">
+          <merge key="input.x11_driver" type="string">evtouch</merge>
+          <merge key="input.x11_options.reportingmode" type="string">raw</merge>
+          <merge key="input.x11_options.emulate3buttons" type="string">true</merge>
+          <merge key="input.x11_options.emulate3timeout" type="string">50</merge>
+          <merge key="input.x11_options.sendcoreevents" type="string">on</merge>
+              <merge key="input.x11_options.maxx" type="string">3815</merge>
+              <merge key="input.x11_options.maxy" type="string">3948</merge>
+              <merge key="input.x11_options.minx" type="string">295</merge>
+              <merge key="input.x11_options.miny" type="string">200</merge>
+          <merge key="input.x11_options.Swapx" type="string">1</merge>
+          <merge key="input.x11_options.Rotate" type="string">CW</merge>
+        </match>
+    </match>
+  </device>
+</deviceinfo>
diff --git a/recipes/xorg-driver/xf86-input-evtouch/fdi/50-touchkit.fdi b/recipes/xorg-driver/xf86-input-evtouch/fdi/50-touchkit.fdi
new file mode 100644 (file)
index 0000000..d4cdc6e
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
+<deviceinfo version="0.2">
+  <device>
+    <match key="info.product" contains="Touchkit Touch">
+      <match key="info.capabilities" contains="input">
+        <merge key="input.x11_driver" type="string">evtouch</merge>
+        <merge key="input.x11_options.minx" type="string">130</merge>
+        <merge key="input.x11_options.miny" type="string">197</merge>
+        <merge key="input.x11_options.maxx" type="string">3945</merge>
+        <merge key="input.x11_options.maxy" type="string">3894</merge>
+        <merge key="input.x11_options.taptimer" type="string">30</merge>
+        <merge key="input.x11_options.longtouchtimer" type="string">750</merge>
+        <merge key="input.x11_options.longtouched_action" type="string">click</merge>
+        <merge key="input.x11_options.longtouched_button" type="string">3</merge>
+        <merge key="input.x11_options.oneandhalftap_button" type="string">2</merge>
+        <merge key="input.x11_options.movelimit" type="string">10</merge>
+        <merge key="input.x11_options.touched_drag" type="string">1</merge>
+        <merge key="input.x11_options.maybetapped_action" type="string">click</merge>
+        <merge key="input.x11_options.maybetapped_button" type="string">1</merge>
+      </match>
+    </match>
+  </device>
+</deviceinfo>
diff --git a/recipes/xorg-driver/xf86-input-evtouch/xf86-input-evtouch_0.8.8-0ubuntu3.diff b/recipes/xorg-driver/xf86-input-evtouch/xf86-input-evtouch_0.8.8-0ubuntu3.diff
new file mode 100644 (file)
index 0000000..6523db5
--- /dev/null
@@ -0,0 +1,57 @@
+--- xf86-input-evtouch-0.8.8.orig/evtouch.c
++++ xf86-input-evtouch-0.8.8/evtouch.c
+@@ -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 @@
+         "Kenan Esau",
+         MODINFOSTRING1,
+         MODINFOSTRING2,
+-        XF86_VERSION_CURRENT,
++        XORG_VERSION_CURRENT,
+         0, 8, 8,
+         ABI_CLASS_XINPUT,
+         ABI_XINPUT_VERSION,
+@@ -653,14 +652,13 @@
+          * Device reports motions on 2 axes in absolute coordinates.
+          * Axes min and max values are reported in raw coordinates.
+          */
+-        if (InitValuatorClassDeviceStruct(dev, 2, xf86GetMotionEvents,
++        if (InitValuatorClassDeviceStruct(dev, 2,
+                                           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,
+                                    1024,
+                                    EV_AXIS_MIN_RES /* min_res */ ,
+@@ -671,10 +669,6 @@
+                                    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;
index bf3a5a6..96dfe51 100644 (file)
@@ -1,7 +1,21 @@
 require xorg-driver-input.inc
 
-DESCRIPTION = "X.Org X server -- evtouch input driver"
+PR = "r8"
 
+DESCRIPTION = "X.Org X server -- evtouch input driver"
 
-SRC_URI = "http://www.conan.de/touchscreen/xf86-input-evtouch-0.8.8.tar.bz2 \
+SRC_URI = "http://www.conan.de/touchscreen/xf86-input-evtouch-${PV}.tar.bz2 \
+           file://xf86-input-evtouch_0.8.8-0ubuntu3.diff;patch=1 \
+           file://20_fix_calibrate_submission_directions.patch;patch=1 \
+           file://21_more_calibration_fixups.patch;patch=1 \
+           file://fdi/*.fdi \
 "
+
+do_install_append() {
+       install -d ${D}${datadir}/hal/fdi/policy/20thirdparty
+       cp ${WORKDIR}/fdi/*.fdi ${D}${datadir}/hal/fdi/policy/20thirdparty
+}
+
+FILES_${PN} += "${datadir}/hal"
+
+