]> rtime.felk.cvut.cz Git - coffee/mt-apps.git/blobdiff - mt_keys.c
Add simulator mode (for debugging without terminal)
[coffee/mt-apps.git] / mt_keys.c
index a2093405866ff56d4ee80737a659d637dc31e451..015b8ae0095d34eb901e97ff7a9f4101d2cdb655 100644 (file)
--- a/mt_keys.c
+++ b/mt_keys.c
@@ -12,8 +12,6 @@
 
 static void keys_cb(EV_P_ ev_io *w_, int revents)
 {
-    static char *type = "keys";
-
     ev_io_keys *w = (ev_io_keys *)w_;
     int fd = w->fd;
     struct input_event ev;
@@ -87,22 +85,24 @@ static void keys_cb(EV_P_ ev_io *w_, int revents)
                 break;
             default:
                 fprintf(stderr, "unsupported event code: %d\n", ev.code);
-                return;
+               key = '?';
+                //return;
         }
 
-        JSON_START();
-        JSON_STR(type);
-        JSON_NEXT();
-        JSON_CHAR(key);
-        JSON_END();
+       keys_json_print(fd, key);
     }
 }
 
 int mt_keys_init(mt_keys_t *self, struct ev_loop *loop, int fd)
 {
-    int ev = open("/dev/input/by-path/platform-gpio-keys-event", O_RDONLY);
+    char *dev = getenv("INPUT");
+
+    if (!dev)
+       dev = "/dev/input/by-path/platform-gpio-keys-event";
+
+    int ev = open(dev, O_RDONLY);
     if (ev == -1) {
-        perror("/dev/input/by-path/platform-gpio-keys-event");
+        perror(dev);
         return -1;
     }