#include #include "consts.h" #include "config.h" #include "common.h" static pid_t light_pid; void on_press(void) { gettimeofday(last_press, NULL); kill(light_pid, SIGCONT); } void keypress_thread(pid_t _light_pid) { struct input_event pressed_key; light_pid = _light_pid; FILE* fp = fopen(KEYBOARD_FILE, "r"); fseek(fp, 0, SEEK_END); while (1) { fseek(fp, 0, SEEK_END); fread(&pressed_key, 1, sizeof(pressed_key), fp); #if IGNORE_RELEASE if (pressed_key.value != 0) { on_press(); } #else on_press(); #endif usleep(DEBOUNCE); } // XXX handle SIGINT or whatever __builtin_unreachable(); }