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 - vu...@opensuse.org + +- 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 - vu...@opensuse.org + +- 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: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org