]> git.scottworley.com Git - keystroke-timestamps/blobdiff - keystroke-timestamps.c
Add a script to show gaps
[keystroke-timestamps] / keystroke-timestamps.c
index 5322e6bff1b5682698a72d30c4f92012912c88d9..6e3de63127e590c97721dc4583f8ee304dda0bf5 100644 (file)
@@ -1,20 +1,26 @@
+#include <err.h>
 #include <fcntl.h>
 #include <fcntl.h>
-#include <stdio.h>
-#include <unistd.h>
 #include <linux/input.h>
 #include <linux/input.h>
-#include <err.h>
+#include <stdio.h>
+#include <string.h>
 #include <sysexits.h>
 #include <sysexits.h>
+#include <unistd.h>
 
 
-int main ()
+int main (int argc, char **argv)
 {
 {
-  struct input_event i;
+  int print_usec = argc > 1 && strcmp(argv[1], "--usec") == 0;
   int fd = open("/dev/input/by-path/platform-i8042-serio-0-event-kbd", O_RDONLY);
   if (fd < 0) {
     err(EX_NOINPUT, "Could not open keyboard event file");
   }
   int fd = open("/dev/input/by-path/platform-i8042-serio-0-event-kbd", O_RDONLY);
   if (fd < 0) {
     err(EX_NOINPUT, "Could not open keyboard event file");
   }
+  struct input_event i;
   while (read(fd, &i, sizeof(i)) == sizeof(i)) {
     if (i.type == 1 && i.value == 1) {
   while (read(fd, &i, sizeof(i)) == sizeof(i)) {
     if (i.type == 1 && i.value == 1) {
-      printf("%ld.%ld\n", i.time.tv_sec, i.time.tv_usec);
+      if (print_usec) {
+        printf("%ld.%ld\n", i.time.tv_sec, i.time.tv_usec);
+      } else {
+        printf("%ld\n", i.time.tv_sec);
+      }
       fflush(stdout);
     }
   }
       fflush(stdout);
     }
   }