From 5e9e408ce07a4936377ab6103fd2d7c9772c1c18 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Wed, 19 Aug 2015 10:38:00 +1000 Subject: [PATCH] tools: re-add support for opening /dev/input/event nodes Signed-off-by: Peter Hutterer --- tools/ratbag-command.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tools/ratbag-command.c b/tools/ratbag-command.c index 04240013..0f6a14e6 100644 --- a/tools/ratbag-command.c +++ b/tools/ratbag-command.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -61,8 +62,19 @@ static inline struct udev_device* udev_device_from_path(struct udev *udev, const char *path) { struct udev_device *udev_device; + const char *event_node_prefix = "/dev/input/event"; - udev_device = udev_device_new_from_syspath(udev, path); + if (strncmp(path, event_node_prefix, strlen(event_node_prefix)) == 0) { + struct stat st; + if (stat(path, &st) == -1) { + fprintf(stderr, "Failed to stat '%s': %s\n", path, strerror(errno)); + return NULL; + } + udev_device = udev_device_new_from_devnum(udev, 'c', st.st_rdev); + + } else { + udev_device = udev_device_new_from_syspath(udev, path); + } if (!udev_device) { fprintf(stderr, "Can't open '%s': %s\n", path, strerror(errno)); return NULL;