From 1f0ff75e28e07b1a9644847dc0acbf6ad4055985 Mon Sep 17 00:00:00 2001 From: Raheman Vaiya Date: Fri, 11 Feb 2022 02:50:50 -0500 Subject: [PATCH] Downgrade failed device acquisition to warning --- Makefile | 2 +- src/evdev.c | 4 ++-- src/keyd.c | 10 ++++++++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 675f8a06..91030746 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ SOCKET="/var/run/keyd.socket" LOG_FILE="/var/log/keyd.log" CONFIG_DIR="/etc/keyd" -VERSION=2.2.5-beta +VERSION=2.2.6-beta GIT_HASH=$(shell git describe --no-match --always --abbrev=40 --dirty) CFLAGS+=-DVERSION=\"$(VERSION)\" \ diff --git a/src/evdev.c b/src/evdev.c index d37abadc..1f748a90 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -114,12 +114,12 @@ uint32_t evdev_device_id(const char *devnode) int fd = open(devnode, O_RDONLY); if (fd < 0) { perror("open"); - exit(-1); + return 0; } if (ioctl(fd, EVIOCGID, &info) == -1) { perror("ioctl"); - exit(-1); + return 0; } close(fd); diff --git a/src/keyd.c b/src/keyd.c index 00f2cb48..2154b7d0 100644 --- a/src/keyd.c +++ b/src/keyd.c @@ -226,7 +226,7 @@ static int manage_keyboard(const char *devnode) uint16_t vendor_id, product_id; if (!(name = evdev_device_name(devnode))) { - fprintf(stderr, "Failed to obtain device info for %s, skipping..\n", devnode); + fprintf(stderr, "WARNING: Failed to obtain device info for %s, skipping..\n", devnode); return -1; } @@ -242,6 +242,11 @@ static int manage_keyboard(const char *devnode) } id = evdev_device_id(devnode); + if (!id) { + fprintf(stderr, "WARNING: Failed to obtain device id for %s (%s)\n", devnode, name); + return -1; + } + vendor_id = id >> 16; product_id = id & 0xFFFF; @@ -253,8 +258,9 @@ static int manage_keyboard(const char *devnode) } if ((fd = open(devnode, O_RDONLY | O_NONBLOCK)) < 0) { + fprintf(stderr, "WARNING: Failed to open %s (%s)\n", devnode, name); perror("open"); - exit(1); + return -1; } /* Grab the keyboard. */