Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:wkazubski:G02
xf86-input-synaptics
n_xf86-input-synaptics-wait.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File n_xf86-input-synaptics-wait.diff of Package xf86-input-synaptics
--- src/eventcomm.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) --- a/src/eventcomm.c +++ b/src/eventcomm.c @@ -889,6 +889,8 @@ EventAutoDevProbe(InputInfoPtr pInfo, const char *device) int i; Bool touchpad_found = FALSE; struct dirent **namelist; + int wait = 0; + const int max_wait = 2000; if (device) { int fd = -1; @@ -919,6 +921,7 @@ EventAutoDevProbe(InputInfoPtr pInfo, const char *device) return touchpad_found; } + 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); @@ -949,8 +952,8 @@ EventAutoDevProbe(InputInfoPtr pInfo, const char *device) touchpad_found = event_query_is_touchpad(evdev); libevdev_free(evdev); if (touchpad_found) { - 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); @@ -960,6 +963,13 @@ EventAutoDevProbe(InputInfoPtr pInfo, const char *device) } 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); + } + } /* while (wait <= max_wait && !touchpad_found) */ free(namelist);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor