static void main_loop(Display * display, double idle_time, int poll_delay) { double last_activity = 0.0; double current_time; keyboard_activity(display); for (;;) { current_time = get_time(); 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 */ toggle_touchpad(False); } usleep(poll_delay); } }
static void main_loop(Display *display, double idle_time, int poll_delay) { double last_activity = 0.0; double current_time; pad_disabled = 0; keyboard_activity(display); for (;;) { current_time = get_time(); if (keyboard_activity(display)) last_activity = current_time; if (touchpad_buttons_active()) last_activity = 0.0; if (current_time > last_activity + idle_time) { /* Enable touchpad */ if (enable_touchpad()) { if (!background) printf("Enable\n"); } } else { /* Disable touchpad */ if (!pad_disabled && !synshm->touchpad_off) { if (!background) printf("Disable\n"); pad_disabled = 1; if (disable_taps_only) synshm->touchpad_off = 2; else synshm->touchpad_off = 1; } } usleep(poll_delay); } }