diff -urN xf86-input-synaptics-1.2.1.orig/tools/syndaemon.c xf86-input-synaptics-1.2.1/tools/syndaemon.c --- xf86-input-synaptics-1.2.1.orig/tools/syndaemon.c 2009-11-02 09:16:04.000000000 +0800 +++ xf86-input-synaptics-1.2.1/tools/syndaemon.c 2010-11-30 10:02:53.000000000 +0800 @@ -204,8 +204,12 @@ current_time = get_time(); if (keyboard_activity(display)) last_activity = current_time; + - if (current_time > last_activity + idle_time) { /* Enable touchpad */ + if (last_activity > current_time) { + last_activity = current_time - idle_time - 1; + } + if (current_time > last_activity + idle_time ) { /* Enable touchpad */ toggle_touchpad(TouchpadOn); } else { /* Disable touchpad */ toggle_touchpad(disable_taps_only ? TappingOff : TouchpadOff);