aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/xorg-driver/xf86-input-tslib
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/xorg-driver/xf86-input-tslib')
-rw-r--r--recipes/xorg-driver/xf86-input-tslib/01_fix-wrong-value-range-for-the-axises.diff47
-rw-r--r--recipes/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi8
-rw-r--r--recipes/xorg-driver/xf86-input-tslib/dynamic-xy.patch17
-rw-r--r--recipes/xorg-driver/xf86-input-tslib/use-hal-for-device.diff45
4 files changed, 117 insertions, 0 deletions
diff --git a/recipes/xorg-driver/xf86-input-tslib/01_fix-wrong-value-range-for-the-axises.diff b/recipes/xorg-driver/xf86-input-tslib/01_fix-wrong-value-range-for-the-axises.diff
new file mode 100644
index 0000000000..b5407102b9
--- /dev/null
+++ b/recipes/xorg-driver/xf86-input-tslib/01_fix-wrong-value-range-for-the-axises.diff
@@ -0,0 +1,47 @@
+--- xf86-input-tslib-0.0.5.orig/src/tslib.c
++++ xf86-input-tslib-0.0.5/src/tslib.c
+@@ -183,7 +185,7 @@
+ {
+ InputInfoPtr pInfo;
+ unsigned char map[MAXBUTTONS + 1];
+- int i;
++ int i, axiswidth, axisheight;
+ struct ts_priv *priv;
+
+ ErrorF("%s\n", __FUNCTION__);
+@@ -212,17 +226,29 @@
+ return !Success;
+ }
+
++ switch(priv->rotate) {
++ case TSLIB_ROTATE_CW:
++ case TSLIB_ROTATE_CCW:
++ axiswidth = priv->height;
++ axisheight = priv->width;
++ break;
++ default:
++ axiswidth = priv->width;
++ axisheight = priv->height;
++ break;
++ }
++
+ InitValuatorAxisStruct(device, 0, 0, /* min val */
+- priv->width - 1, /* max val */
+- priv->width, /* resolution */
++ axiswidth - 1, /* max val */
++ axiswidth, /* resolution */
+ 0, /* min_res */
+- priv->width); /* max_res */
++ axiswidth); /* max_res */
+
+ InitValuatorAxisStruct(device, 1, 0, /* min val */
+- priv->height - 1,/* max val */
+- priv->height, /* resolution */
++ axisheight - 1, /* max val */
++ axisheight, /* resolution */
+ 0, /* min_res */
+- priv->height); /* max_res */
++ axisheight); /* max_res */
+
+ if (InitProximityClassDeviceStruct (device) == FALSE) {
+ ErrorF ("Unable to allocate EVTouch touchscreen ProximityClassDeviceStruct\n");
diff --git a/recipes/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi b/recipes/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi
new file mode 100644
index 0000000000..3559d0c555
--- /dev/null
+++ b/recipes/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deviceinfo version="0.2">
+ <device>
+ <match key="info.capabilities" contains="input.touchpad">
+ <merge key="input.x11_driver" type="string">tslib</merge>
+ </match>
+ </device>
+</deviceinfo>
diff --git a/recipes/xorg-driver/xf86-input-tslib/dynamic-xy.patch b/recipes/xorg-driver/xf86-input-tslib/dynamic-xy.patch
new file mode 100644
index 0000000000..e4ff346d28
--- /dev/null
+++ b/recipes/xorg-driver/xf86-input-tslib/dynamic-xy.patch
@@ -0,0 +1,17 @@
+Index: xf86-input-tslib-0.0.5/src/tslib.c
+===================================================================
+--- xf86-input-tslib-0.0.5.orig/src/tslib.c 2008-11-11 13:48:12.000000000 +0000
++++ xf86-input-tslib-0.0.5/src/tslib.c 2008-11-11 13:51:51.000000000 +0000
+@@ -321,10 +321,10 @@
+ priv->screen_num = xf86SetIntOption(pInfo->options, "ScreenNumber", 0 );
+
+ priv->width = xf86SetIntOption(pInfo->options, "Width", 0);
+- if (priv->width <= 0) priv->width = DEFAULT_WIDTH;
++ if (priv->width <= 0) priv->width = screenInfo.screens[0]->width;
+
+ priv->height = xf86SetIntOption(pInfo->options, "Height", 0);
+- if (priv->height <= 0) priv->height = DEFAULT_HEIGHT;
++ if (priv->height <= 0) priv->height = screenInfo.screens[0]->height;
+
+ s = xf86SetStrOption(pInfo->options, "Rotate", 0);
+ if (s > 0) {
diff --git a/recipes/xorg-driver/xf86-input-tslib/use-hal-for-device.diff b/recipes/xorg-driver/xf86-input-tslib/use-hal-for-device.diff
new file mode 100644
index 0000000000..9f2cfa25d9
--- /dev/null
+++ b/recipes/xorg-driver/xf86-input-tslib/use-hal-for-device.diff
@@ -0,0 +1,45 @@
+From: Markku Vire markku.vire@movial.fi <mvire@movial.fi>
+Date: Tue, 9 Oct 2007 07:29:08 +0000 (+0300)
+Subject: Changed tslib device path to use the data provided by
+X-Git-Url: http://linux.onarm.com/gitweb/?p=generic%2Fsource%2Fxf86-input-tslib.git;a=commitdiff_plain;h=9ead96bb85857c0122b7a1a4653a5863f187d511
+
+Changed tslib device path to use the data provided by
+automatic device detection.
+---
+
+--- /tmp/tslib.c 2008-11-11 13:05:57.000000000 +0100
++++ xf86-input-tslib-0.0.5/src/tslib.c 2008-11-11 13:10:55.000000000 +0100
+@@ -72,11 +72,6 @@
+ int width;
+ };
+
+-static const char *DEFAULTS[] = {
+- "TslibDevice", "/dev/event0",
+- NULL
+-};
+-
+ static void
+ BellProc(int percent, DeviceIntPtr pDev, pointer ctrl, int unused)
+ {
+@@ -308,7 +303,7 @@
+ pInfo->private = priv;
+
+ /* Collect the options, and process the common options. */
+- xf86CollectInputOptions(pInfo, DEFAULTS, NULL);
++ xf86CollectInputOptions(pInfo, NULL, NULL);
+ xf86ProcessCommonOptions(pInfo, pInfo->options);
+
+ priv->screen_num = xf86SetIntOption(pInfo->options, "ScreenNumber", 0 );
+@@ -334,8 +329,10 @@
+ priv->rotate = TSLIB_ROTATE_NONE;
+ }
+
+- s = xf86SetStrOption(pInfo->options, "TslibDevice", NULL);
+-
++ s = xf86CheckStrOption(dev->commonOptions, "path", NULL);
++ if (!s)
++ s = xf86CheckStrOption(dev->commonOptions, "Device", NULL);
++
+ priv->ts = ts_open(s, 0);
+ if (!priv->ts) {
+ ErrorF("ts_open failed (device=%s)\n",s);