Hello community,
here is the log from the commit of package xf86-input-synaptics for
openSUSE:Factory checked in at 2012-05-16 21:11:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xf86-input-synaptics (Old)
and /work/SRC/openSUSE:Factory/.xf86-input-synaptics.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xf86-input-synaptics", Maintainer is ""
Changes:
--------
---
/work/SRC/openSUSE:Factory/xf86-input-synaptics/xf86-input-synaptics.changes
2012-05-08 12:03:09.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.xf86-input-synaptics.new/xf86-input-synaptics.changes
2012-05-16 21:11:05.000000000 +0200
@@ -1,0 +2,32 @@
+Fri May 11 07:51:22 UTC 2012 - [email protected]
+
+- Update to version 1.6.1:
+ + Fix wrong conversion causing coasting to be triggered on almost
+ all scroll events.
+ + Fix bug where, on clickpads, moving the clicking finger out of
+ the soft button area caused erroneous button events.
+- Rebase xf86-input-synaptics-wait.diff,
+ xf86-input-synaptics-add-clickpad-support.diff,
+ xf86-input-synaptics-add-led-support.diff,
+ xf86-input-synaptics-fix-clickpad-capabilities.diff,
+ xf86-input-synaptics-filter-bogus-coord.diff: this is needed
+ because of whitespace changes in the code.
+
+-------------------------------------------------------------------
+Wed May 9 08:46:12 UTC 2012 - [email protected]
+
+- Update to version 1.6.0:
+ + Fix coasting for negative scroll directions.
+ + Fix issues on resuming after suspend.
+ + Documentation fixes.
+ + Build fixes.
+- Changes from version 1.5.99.904:
+ + Ensure hw millis are monotonic.
+ + Don't release the button on TS_3 if TapAndDrag is disabled.
+ + Various scroll-related fixes.
+ + Various coasting-related fixes.
+ + Several other bug fixes.
+- Rebase xf86-input-synaptics-clickpad-doc-update.diff and
+ xf86-input-synaptics-filter-bogus-coord.diff.
+
+-------------------------------------------------------------------
Old:
----
xf86-input-synaptics-1.5.99.903.tar.bz2
New:
----
xf86-input-synaptics-1.6.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xf86-input-synaptics.spec ++++++
--- /var/tmp/diff_new_pack.9i0bWN/_old 2012-05-16 21:11:06.000000000 +0200
+++ /var/tmp/diff_new_pack.9i0bWN/_new 2012-05-16 21:11:06.000000000 +0200
@@ -15,13 +15,15 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
+
+
Name: xf86-input-synaptics
-Version: 1.5.99.903
-Release: 1
-License: MIT
+Version: 1.6.1
+Release: 0
Summary: Synaptics touchpad input driver for the Xorg X server
-Url: http://xorg.freedesktop.org/
+License: MIT
Group: System/X11/Servers/XF86_4
+Url: http://xorg.freedesktop.org/
Source0:
http://xorg.freedesktop.org/releases/individual/driver/%{name}-%{version}.tar.bz2
Patch0: xf86-input-synaptics-wait.diff
Patch2: xf86-input-synaptics-xorg.conf.d_snippet.diff
++++++ xf86-input-synaptics-1.5.99.903.tar.bz2 ->
xf86-input-synaptics-1.6.1.tar.bz2 ++++++
++++ 21118 lines of diff (skipped)
++++++ xf86-input-synaptics-add-clickpad-support.diff ++++++
--- /var/tmp/diff_new_pack.9i0bWN/_old 2012-05-16 21:11:07.000000000 +0200
+++ /var/tmp/diff_new_pack.9i0bWN/_new 2012-05-16 21:11:07.000000000 +0200
@@ -26,14 +26,14 @@
--- xf86-input-synaptics-1.5.99.903.orig/src/eventcomm.c
+++ xf86-input-synaptics-1.5.99.903/src/eventcomm.c
@@ -486,6 +486,12 @@ event_query_axis_ranges(InputInfoPtr pIn
- strcat(buf, " scroll-buttons");
+ strcat(buf, " scroll-buttons");
xf86IDrvMsg(pInfo, X_PROBED, "buttons:%s\n", buf);
+
+ /* clickpad device reports only the single left button mask */
+ if (priv->has_left && !priv->has_right && !priv->has_middle &&
!priv->has_double) {
-+ priv->is_clickpad = TRUE;
-+ xf86IDrvMsg(pInfo, X_PROBED, "is Clickpad device\n");
++ priv->is_clickpad = TRUE;
++ xf86IDrvMsg(pInfo, X_PROBED, "is Clickpad device\n");
+ }
}
@@ -48,31 +48,31 @@
+ /* Clickpad mode -- bottom area is used as buttons */
+ if (priv->is_clickpad) {
-+ int button_bottom;
-+ /* Clickpad devices usually the button area at the bottom, and
-+ * its size seems ca. 20% of the touchpad height no matter how
-+ * large the pad is.
-+ */
-+ button_bottom = priv->maxy - (abs(priv->maxy - priv->miny) * 20) / 100;
-+ if (button_bottom < b && button_bottom >= t)
-+ b = button_bottom;
++ int button_bottom;
++ /* Clickpad devices usually the button area at the bottom, and
++ * its size seems ca. 20% of the touchpad height no matter how
++ * large the pad is.
++ */
++ button_bottom = priv->maxy - (abs(priv->maxy - priv->miny) * 20) /
100;
++ if (button_bottom < b && button_bottom >= t)
++ b = button_bottom;
+ }
+
/* set the parameters */
pars->left_edge = xf86SetIntOption(opts, "LeftEdge", l);
pars->right_edge = xf86SetIntOption(opts, "RightEdge", r);
@@ -689,6 +701,10 @@ static void set_default_parameters(Input
-
- pars->area_top_edge = set_percent_option(opts, "AreaTopEdge", height,
priv->miny, 0);
- pars->area_bottom_edge = set_percent_option(opts, "AreaBottomEdge",
height, priv->miny, 0);
+ set_percent_option(opts, "AreaTopEdge", height, priv->miny, 0);
+ pars->area_bottom_edge =
+ set_percent_option(opts, "AreaBottomEdge", height, priv->miny, 0);
+ /* in clickpad mode, we don't want to sense the button area as default */
+ if (pars->area_bottom_edge == 0 && priv->is_clickpad)
-+ pars->area_bottom_edge = b;
++ pars->area_bottom_edge = b;
+
- pars->area_left_edge = set_percent_option(opts, "AreaLeftEdge", width,
priv->minx, 0);
- pars->area_right_edge = set_percent_option(opts, "AreaRightEdge", width,
priv->minx, 0);
-
-@@ -1415,6 +1431,44 @@ fail:
+ pars->area_left_edge =
+ set_percent_option(opts, "AreaLeftEdge", width, priv->minx, 0);
+ pars->area_right_edge =
+@@ -1415,6 +1431,45 @@ fail:
return !Success;
}
@@ -84,46 +84,47 @@
+ SynapticsParameters *para = &priv->synpara;
+
+ if (hw->left) { /* clicked? */
-+ if (hw->y > para->bottom_edge) {
-+ /* button area */
-+ int width = priv->maxx - priv->minx;
-+ int left_button_x, right_button_x;
-+
-+ /* left and right clickpad button ranges;
-+ * the gap between them is interpreted as a middle-button click
-+ */
-+ left_button_x = width * 2 / 5 + priv->minx;
-+ right_button_x = width * 3 / 5 + priv->minx;
-+
-+ /* clickpad reports only one button, and we need
-+ * to fake left/right buttons depending on the touch position
-+ */
-+ hw->left = 0;
-+ if (hw->x < left_button_x)
-+ hw->left = 1;
-+ else if (hw->x > right_button_x)
-+ hw->right = 1;
-+ else
-+ hw->middle = 1;
-+ } else {
-+ /* dragging */
-+ hw->left = priv->prev_hw.left;
-+ hw->right = priv->prev_hw.right;
-+ hw->middle = priv->prev_hw.middle;
-+ }
++ if (hw->y > para->bottom_edge) {
++ /* button area */
++ int width = priv->maxx - priv->minx;
++ int left_button_x, right_button_x;
++
++ /* left and right clickpad button ranges;
++ * the gap between them is interpreted as a middle-button click
++ */
++ left_button_x = width * 2 / 5 + priv->minx;
++ right_button_x = width * 3 / 5 + priv->minx;
++
++ /* clickpad reports only one button, and we need
++ * to fake left/right buttons depending on the touch position
++ */
++ hw->left = 0;
++ if (hw->x < left_button_x)
++ hw->left = 1;
++ else if (hw->x > right_button_x)
++ hw->right = 1;
++ else
++ hw->middle = 1;
++ } else {
++ /* dragging */
++ hw->left = priv->prev_hw.left;
++ hw->right = priv->prev_hw.right;
++ hw->middle = priv->prev_hw.middle;
++ }
+ }
+ priv->prev_hw = *hw;
+}
-
++
/*
* Convert from absolute X/Y coordinates to a coordinate system where
+ * -1 corresponds to the left/upper edge and +1 corresponds to the
@@ -2786,6 +2840,10 @@ update_hw_button_state(const InputInfoPt
SynapticsPrivate *priv = (SynapticsPrivate *) (pInfo->private);
SynapticsParameters *para = &priv->synpara;
+ /* Clickpad handling for button area */
+ if (priv->is_clickpad)
-+ handle_clickpad(pInfo, hw);
++ handle_clickpad(pInfo, hw);
+
/* Treat the first two multi buttons as up/down for now. */
hw->up |= hw->multi[0];
@@ -133,11 +134,11 @@
--- xf86-input-synaptics-1.5.99.903.orig/src/synapticsstr.h
+++ xf86-input-synaptics-1.5.99.903/src/synapticsstr.h
@@ -272,6 +272,8 @@ struct _SynapticsPrivateRec
- Bool has_width; /* device reports finger width */
- Bool has_scrollbuttons; /* device has physical scrollbuttons */
- Bool has_semi_mt; /* device is only semi-multitouch
capable */
+ Bool has_width; /* device reports finger width */
+ Bool has_scrollbuttons; /* device has physical scrollbuttons */
+ Bool has_semi_mt; /* device is only semi-multitouch capable */
+ Bool is_clickpad; /* is Clickpad device (one-button) */
+ struct SynapticsHwState prev_hw; /* previous h/w state (for clickpad) */
- enum TouchpadModel model; /* The detected model */
- unsigned short id_vendor; /* vendor id */
+ enum TouchpadModel model; /* The detected model */
+ unsigned short id_vendor; /* vendor id */
++++++ xf86-input-synaptics-add-led-support.diff ++++++
--- /var/tmp/diff_new_pack.9i0bWN/_old 2012-05-16 21:11:07.000000000 +0200
+++ /var/tmp/diff_new_pack.9i0bWN/_new 2012-05-16 21:11:07.000000000 +0200
@@ -39,7 +39,7 @@
+/* 8 bit (BOOL), led_status (on/off) */
+#define SYNAPTICS_PROP_LED_STATUS "Synaptics LED Status"
+
- #endif /* _SYNAPTICS_PROPERTIES_H_ */
+ #endif /* _SYNAPTICS_PROPERTIES_H_ */
Index: xf86-input-synaptics-1.5.99.903/man/synaptics.man
===================================================================
--- xf86-input-synaptics-1.5.99.903.orig/man/synaptics.man
@@ -68,15 +68,15 @@
#define LONG(x) ((x) / LONG_BITS)
#define TEST_BIT(bit, array) ((array[LONG(bit)] >> OFF(bit)) & 1)
-+#define SYNAPTICS_LED_SYS_FILE
"/sys/class/leds/psmouse::synaptics/brightness"
++#define SYNAPTICS_LED_SYS_FILE
"/sys/class/leds/psmouse::synaptics/brightness"
+
/**
* Protocol-specific data.
*/
@@ -377,6 +379,32 @@ event_get_abs(InputInfoPtr pInfo, int fd
+ return 0;
}
-
+static void
+event_query_led(InputInfoPtr pInfo)
+{
@@ -99,7 +99,7 @@
+ err = write(fd, val, strlen(val));
+ close(fd);
+ if (err < 0)
-+ xf86IDrvMsg(pInfo, X_WARNING, "can't write LED value %s\n", val);
++ xf86IDrvMsg(pInfo, X_WARNING, "can't write LED value %s\n", val);
+ }
+}
+
@@ -111,9 +111,9 @@
event_query_axis_ranges(pInfo);
}
+ event_query_led(pInfo);
- event_query_model(pInfo->fd, &priv->model, &priv->id_vendor,
&priv->id_product);
+ event_query_model(pInfo->fd, &priv->model, &priv->id_vendor,
+ &priv->id_product);
- xf86IDrvMsg(pInfo, X_PROBED, "Vendor %#hx Product %#hx\n",
@@ -1023,5 +1052,6 @@ struct SynapticsProtocolOperations event
EventQueryHardware,
EventReadHwState,
@@ -127,62 +127,62 @@
--- xf86-input-synaptics-1.5.99.903.orig/src/properties.c
+++ xf86-input-synaptics-1.5.99.903/src/properties.c
@@ -96,6 +96,8 @@ Atom prop_softbutton_areas = 0;
- Atom prop_noise_cancellation = 0;
- Atom prop_product_id = 0;
- Atom prop_device_node = 0;
-+Atom prop_led = 0;
-+Atom prop_led_status = 0;
+ Atom prop_noise_cancellation = 0;
+ Atom prop_product_id = 0;
+ Atom prop_device_node = 0;
++Atom prop_led = 0;
++Atom prop_led_status = 0;
static Atom
InitTypedAtom(DeviceIntPtr dev, char *name, Atom type, int format, int
nvalues,
@@ -327,6 +329,9 @@ InitDeviceProperties(InputInfoPtr pInfo)
- prop_noise_cancellation = InitAtom(pInfo->dev,
- SYNAPTICS_PROP_NOISE_CANCELLATION, 32, 2, values);
+ SYNAPTICS_PROP_NOISE_CANCELLATION, 32,
2,
+ values);
+ prop_led = InitAtom(pInfo->dev, SYNAPTICS_PROP_LED, 8, 1, ¶->has_led);
+ prop_led_status = InitAtom(pInfo->dev, SYNAPTICS_PROP_LED_STATUS, 8, 1,
¶->led_status);
+
/* only init product_id property if we actually know them */
- if (priv->id_vendor || priv->id_product)
- {
+ if (priv->id_vendor || priv->id_product) {
+ values[0] = priv->id_vendor;
@@ -744,6 +749,16 @@ SetProperty(DeviceIntPtr dev, Atom prope
- para->area_right_edge = area[1];
- para->area_top_edge = area[2];
+ para->area_right_edge = area[1];
+ para->area_top_edge = area[2];
para->area_bottom_edge = area[3];
+ } else if (property == prop_led_status)
+ {
-+ if (prop->size != 1 || prop->format != 8 || prop->type !=
XA_INTEGER)
-+ return BadMatch;
++ if (prop->size != 1 || prop->format != 8 || prop->type != XA_INTEGER)
++ return BadMatch;
+
-+ if (para->has_led) {
-+ para->led_status = *(BOOL*)prop->data;
-+ if (priv->proto_ops && priv->proto_ops->UpdateLED)
-+ priv->proto_ops->UpdateLED(pInfo);
-+ }
- } else if (property == prop_softbutton_areas)
- {
++ if (para->has_led) {
++ para->led_status = *(BOOL*)prop->data;
++ if (priv->proto_ops && priv->proto_ops->UpdateLED)
++ priv->proto_ops->UpdateLED(pInfo);
++ }
+ }
+ else if (property == prop_softbutton_areas) {
int *areas;
Index: xf86-input-synaptics-1.5.99.903/src/synapticsstr.h
===================================================================
--- xf86-input-synaptics-1.5.99.903.orig/src/synapticsstr.h
+++ xf86-input-synaptics-1.5.99.903/src/synapticsstr.h
@@ -184,6 +184,8 @@ typedef struct _SynapticsParameters
- int area_left_edge, area_right_edge, area_top_edge, area_bottom_edge; /*
area coordinates absolute */
- int softbutton_areas[2][4]; /* soft button area coordinates,
0 => right, 1 => middle button */
- int hyst_x, hyst_y; /* x and y width of hysteresis
box */
+ int area_left_edge, area_right_edge, area_top_edge, area_bottom_edge;
/* area coordinates absolute */
+ int softbutton_areas[2][4]; /* soft button area coordinates, 0 => right,
1 => middle button */
+ int hyst_x, hyst_y; /* x and y width of hysteresis box */
+ Bool has_led; /* has an embedded LED */
+ Bool led_status; /* Current status of LED (1=on) */
} SynapticsParameters;
-
+ struct _SynapticsPrivateRec {
Index: xf86-input-synaptics-1.5.99.903/src/synproto.h
===================================================================
--- xf86-input-synaptics-1.5.99.903.orig/src/synproto.h
+++ xf86-input-synaptics-1.5.99.903/src/synproto.h
@@ -102,6 +102,7 @@ struct SynapticsProtocolOperations {
- struct CommData *comm, struct SynapticsHwState *hwRet);
- Bool (*AutoDevProbe)(InputInfoPtr pInfo, const char *device);
- void (*ReadDevDimensions)(InputInfoPtr pInfo);
+ struct SynapticsHwState * hwRet);
+ Bool (*AutoDevProbe) (InputInfoPtr pInfo, const char *device);
+ void (*ReadDevDimensions) (InputInfoPtr pInfo);
+ void (*UpdateLED)(InputInfoPtr pInfo);
};
++++++ xf86-input-synaptics-clickpad-doc-update.diff ++++++
--- /var/tmp/diff_new_pack.9i0bWN/_old 2012-05-16 21:11:07.000000000 +0200
+++ /var/tmp/diff_new_pack.9i0bWN/_new 2012-05-16 21:11:07.000000000 +0200
@@ -8,13 +8,15 @@
man/synaptics.man | 9 +++++++++
1 file changed, 9 insertions(+)
---- a/man/synaptics.man
-+++ b/man/synaptics.man
-@@ -753,6 +753,15 @@
- Trackstick mode is exited when the finger pressure drops below
- FingerLow or when the finger is moved further than MaxTapMove away
- from the initial position.
-+.
+Index: xf86-input-synaptics-1.6.0/man/synaptics.man
+===================================================================
+--- xf86-input-synaptics-1.6.0.orig/man/synaptics.man
++++ xf86-input-synaptics-1.6.0/man/synaptics.man
+@@ -792,6 +792,15 @@ ClickPads provide software emulated butt
+ These buttons enable areas on the touchpad to perform as right or middle
+ mouse button. When the user performs a click within a defined soft button
+ area, a right or middle click is performed.
++.LP
+When the input device reports a device with a single left button
+and without multi-fingers, the driver assumes it's a Synaptics
+Clickpad device and handles it in ClickZone mode. In this mode,
++++++ xf86-input-synaptics-filter-bogus-coord.diff ++++++
--- /var/tmp/diff_new_pack.9i0bWN/_old 2012-05-16 21:11:07.000000000 +0200
+++ /var/tmp/diff_new_pack.9i0bWN/_new 2012-05-16 21:11:07.000000000 +0200
@@ -7,7 +7,7 @@
--- xf86-input-synaptics-1.5.99.903.orig/src/eventcomm.c
+++ xf86-input-synaptics-1.5.99.903/src/eventcomm.c
@@ -706,6 +706,20 @@ EventReadHwState(InputInfoPtr pInfo,
- SynapticsPrivate *priv = (SynapticsPrivate *)pInfo->private;
+ SynapticsPrivate *priv = (SynapticsPrivate *) pInfo->private;
SynapticsParameters *para = &priv->synpara;
struct eventcomm_proto_data *proto_data = priv->proto_data;
+ int minx, miny, maxx, maxy, x;
@@ -25,15 +25,15 @@
+ maxy += miny;
+ miny -= (miny > x) ? x : miny;
- SynapticsResetTouchHwState(hw);
+ SynapticsResetTouchHwState(hw, FALSE);
@@ -722,6 +736,9 @@ EventReadHwState(InputInfoPtr pInfo,
- switch (ev.code) {
- case SYN_REPORT:
- hw->numFingers = count_fingers(pInfo, comm);
-+ /* if the coord is out of range, we filter it out */
-+ if (priv->is_clickpad && hw->z > 0 && (hw->x < minx || hw->x >
maxx || hw->y < miny || hw->y > maxy))
-+ return FALSE;
- hw->millis = 1000 * ev.time.tv_sec + ev.time.tv_usec / 1000;
- SynapticsCopyHwState(hwRet, hw);
- return TRUE;
+ switch (ev.code) {
+ case SYN_REPORT:
+ hw->numFingers = count_fingers(pInfo, comm);
++ /* if the coord is out of range, we filter it out */
++ if (priv->is_clickpad && hw->z > 0 && (hw->x < minx || hw->x
> maxx || hw->y < miny || hw->y > maxy))
++ return FALSE;
+ hw->millis = 1000 * ev.time.tv_sec + ev.time.tv_usec / 1000;
+ SynapticsCopyHwState(hwRet, hw);
+ return TRUE;
++++++ xf86-input-synaptics-fix-clickpad-capabilities.diff ++++++
--- /var/tmp/diff_new_pack.9i0bWN/_old 2012-05-16 21:11:07.000000000 +0200
+++ /var/tmp/diff_new_pack.9i0bWN/_new 2012-05-16 21:11:07.000000000 +0200
@@ -7,7 +7,7 @@
--- xf86-input-synaptics-1.5.99.903.orig/src/eventcomm.c
+++ xf86-input-synaptics-1.5.99.903/src/eventcomm.c
@@ -380,6 +380,25 @@ event_get_abs(InputInfoPtr pInfo, int fd
-
+ }
static void
+event_query_clickpad(InputInfoPtr pInfo)
@@ -16,15 +16,15 @@
+
+ /* clickpad device reports only the single left button mask */
+ if (priv->has_left && !priv->has_right && !priv->has_middle &&
-+ /*!priv->has_double &&*/
-+ priv->model == MODEL_SYNAPTICS) {
-+ priv->is_clickpad = TRUE;
-+ /* enable right/middle button caps; otherwise gnome-settings-daemon
-+ * will ignore this device for left/right-hand setup because of a
-+ * single-button
-+ */
-+ priv->has_right = priv->has_middle = TRUE;
-+ xf86IDrvMsg(pInfo, X_INFO, "is Clickpad device\n");
++ /*!priv->has_double &&*/
++ priv->model == MODEL_SYNAPTICS) {
++ priv->is_clickpad = TRUE;
++ /* enable right/middle button caps; otherwise gnome-settings-daemon
++ * will ignore this device for left/right-hand setup because of a
++ * single-button
++ */
++ priv->has_right = priv->has_middle = TRUE;
++ xf86IDrvMsg(pInfo, X_INFO, "is Clickpad device\n");
+ }
+}
+
@@ -33,24 +33,25 @@
{
SynapticsPrivate *priv = (SynapticsPrivate *)pInfo->private;
@@ -514,12 +533,6 @@ event_query_axis_ranges(InputInfoPtr pIn
- strcat(buf, " scroll-buttons");
+ strcat(buf, " scroll-buttons");
xf86IDrvMsg(pInfo, X_PROBED, "buttons:%s\n", buf);
-
- /* clickpad device reports only the single left button mask */
- if (priv->has_left && !priv->has_right && !priv->has_middle &&
!priv->has_double) {
-- priv->is_clickpad = TRUE;
-- xf86IDrvMsg(pInfo, X_PROBED, "is Clickpad device\n");
+- priv->is_clickpad = TRUE;
+- xf86IDrvMsg(pInfo, X_PROBED, "is Clickpad device\n");
- }
}
static Bool
-@@ -961,11 +974,13 @@ EventReadDevDimensions(InputInfoPtr pInf
+@@ -961,12 +974,14 @@ EventReadDevDimensions(InputInfoPtr pInf
#endif
event_query_axis_ranges(pInfo);
}
- event_query_led(pInfo);
- event_query_model(pInfo->fd, &priv->model, &priv->id_vendor,
&priv->id_product);
+ event_query_model(pInfo->fd, &priv->model, &priv->id_vendor,
+ &priv->id_product);
xf86IDrvMsg(pInfo, X_PROBED, "Vendor %#hx Product %#hx\n",
priv->id_vendor, priv->id_product);
++++++ xf86-input-synaptics-wait.diff ++++++
--- /var/tmp/diff_new_pack.9i0bWN/_old 2012-05-16 21:11:07.000000000 +0200
+++ /var/tmp/diff_new_pack.9i0bWN/_new 2012-05-16 21:11:07.000000000 +0200
@@ -12,35 +12,35 @@
+ const int max_wait = 2000;
if (device) {
- int fd = -1;
+ int fd = -1;
@@ -533,6 +535,7 @@
- }
+ }
}
+ while (wait <= max_wait && !touchpad_found) {
i = scandir(DEV_INPUT_EVENT, &namelist, EventDevOnly, alphasort);
if (i < 0) {
- xf86IDrvMsg(pInfo, X_ERROR, "Couldn't open %s\n",
DEV_INPUT_EVENT);
+ xf86IDrvMsg(pInfo, X_ERROR, "Couldn't open %s\n", DEV_INPUT_EVENT);
@@ -556,8 +559,8 @@
- if (event_query_is_touchpad(fd, TRUE)) {
- touchpad_found = TRUE;
-- xf86IDrvMsg(pInfo, X_PROBED, "auto-dev sets device
to %s\n",
-- fname);
-+ xf86IDrvMsg(pInfo, X_PROBED, "auto-dev sets device
to %s (waited %d msec)\n",
-+ fname, wait);
- pInfo->options =
- xf86ReplaceStrOption(pInfo->options, "Device",
fname);
- }
+ if (event_query_is_touchpad(fd, TRUE)) {
+ touchpad_found = TRUE;
+- xf86IDrvMsg(pInfo, X_PROBED, "auto-dev sets device to %s\n",
+- fname);
++ xf86IDrvMsg(pInfo, X_PROBED, "auto-dev sets device to %s
(waited %d msec)\n",
++ fname, wait);
+ pInfo->options =
+ xf86ReplaceStrOption(pInfo->options, "Device", fname);
+ }
@@ -565,6 +568,13 @@
- }
- free(namelist[i]);
+ }
+ free(namelist[i]);
}
+ if (!touchpad_found) {
-+ xf86IDrvMsg(pInfo, X_ERROR, "waiting 100 msec to become devices
ready\n");
-+ usleep(100*1000);
-+ wait += 100;
-+ xf86IDrvMsg(pInfo, X_ERROR, "aiting time total: %d\n", wait);
++ xf86IDrvMsg(pInfo, X_ERROR, "waiting 100 msec to become devices
ready\n");
++ usleep(100*1000);
++ wait += 100;
++ xf86IDrvMsg(pInfo, X_ERROR, "aiting time total: %d\n", wait);
+ }
+ } /* while (wait <= max_wait && !touchpad_found) */
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]