aboutsummaryrefslogtreecommitdiff
path: root/src/keypress_thread.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/keypress_thread.c')
-rw-r--r--src/keypress_thread.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/keypress_thread.c b/src/keypress_thread.c
new file mode 100644
index 0000000..47fb1de
--- /dev/null
+++ b/src/keypress_thread.c
@@ -0,0 +1,32 @@
+// XXX includes
+
+#include "consts.h"
+#include "config.h"
+
+#include "common.h"
+
+void on_press(void) {
+ gettimeofday(last_press, NULL);
+
+ // XXX signal light thread
+}
+
+int keypress_thread(void) {
+ FILE* fp = fopen(KEYBOARD_FILE, "r");
+ fseek(fp, 0, SEEK_END);
+
+ void* discard = malloc(KEYPRESS_SIZE);
+
+ while (1) {
+ fseek(fp, 0, SEEK_END);
+ fread(discard, 1, KEYPRESS_SIZE, fp);
+
+ on_press();
+
+ usleep(DEBOUNCE);
+ }
+
+ // XXX handle SIGINT or whatever
+
+ return 0;
+}