If the system time is changed backwards while the touchpad is disabled through syndaemon it remains disabled until the time catches up with the previous idle time again. Avoid this by resetting last_activity with a time that will trigger re-enabling of the device.
X.Org Bug 31968 <http://bugs.freedesktop.org/show_bug.cgi?id=31968> Signed-off-by: Peter Hutterer <[email protected]> --- tools/syndaemon.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/tools/syndaemon.c b/tools/syndaemon.c index 944c34e..9779935 100644 --- a/tools/syndaemon.c +++ b/tools/syndaemon.c @@ -227,6 +227,11 @@ main_loop(Display *display, double idle_time, int poll_delay) if (keyboard_activity(display)) last_activity = current_time; + /* If system times goes backwards, touchpad can get locked. Make + * sure our last activity wasn't in the future and reset if it was. */ + if (last_activity > current_time) + last_activity = current_time - idle_time - 1; + if (current_time > last_activity + idle_time) { /* Enable touchpad */ toggle_touchpad(True); } else { /* Disable touchpad */ -- 1.7.3.5 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
