X-Git-Url: http://git.scottworley.com/keystroke-timestamps/blobdiff_plain/3070d2c25c36fa0ff52eccb7632f491bc653d05d..3e0d7d46765815f9918fc4137dca50cb74dd6af8:/keystroke-timestamps.c?ds=inline diff --git a/keystroke-timestamps.c b/keystroke-timestamps.c index 73ce86e..3108678 100644 --- a/keystroke-timestamps.c +++ b/keystroke-timestamps.c @@ -9,6 +9,12 @@ #include #include +// This constant is defined in include/uapi/linux/input-event-codes.h +#ifndef EV_KEY +#define EV_KEY 0x01 +#endif + + int main (int argc, char **argv) { int print_usec = 0; @@ -73,7 +79,7 @@ int main (int argc, char **argv) struct input_event i; while (1) { fd_set ready_inputs = all_inputs; - if (select(maxfd+1, &ready_inputs, NULL, NULL, NULL) != 1) { + if (select(maxfd+1, &ready_inputs, NULL, NULL, NULL) < 1) { err(EX_IOERR, "select"); } for (int fd=0; fd <= maxfd; fd++) { @@ -85,7 +91,7 @@ int main (int argc, char **argv) if (read_return != sizeof(i)) { errx(EX_IOERR, "Unexpected EOF"); } - if (i.type == 1 && i.value == 1) { + if (i.type == EV_KEY && i.value == 1) { if (print_usec) { fprintf(output_file, "%ld.%06ld\n", i.time.tv_sec, i.time.tv_usec); } else {