Skip to content

Commit

Permalink
evdev: hook up the libevdev log handler
Browse files Browse the repository at this point in the history
Make sure any messages from libevdev end up in the same place as libinput's
messages

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
  • Loading branch information
whot committed Jun 2, 2017
1 parent e0ac015 commit b5e3fd0
Showing 1 changed file with 36 additions and 1 deletion.
37 changes: 36 additions & 1 deletion src/evdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -2867,6 +2867,38 @@ evdev_pre_configure_model_quirks(struct evdev_device *device)
libevdev_disable_event_code(device->evdev, EV_KEY, BTN_MIDDLE);
}

static void
libevdev_log_func(const struct libevdev *evdev,
enum libevdev_log_priority priority,
void *data,
const char *file,
int line,
const char *func,
const char *format,
va_list args)
{
struct libinput *libinput = data;
enum libinput_log_priority pri;
const char prefix[] = "libevdev: ";
char fmt[strlen(format) + strlen(prefix) + 1];

switch (priority) {
case LIBEVDEV_LOG_ERROR:
pri = LIBINPUT_LOG_PRIORITY_ERROR;
break;
case LIBEVDEV_LOG_INFO:
pri = LIBINPUT_LOG_PRIORITY_INFO;
break;
case LIBEVDEV_LOG_DEBUG:
pri = LIBINPUT_LOG_PRIORITY_DEBUG;
break;
}

snprintf(fmt, sizeof(fmt), "%s%s", prefix, format);

log_msg_va(libinput, pri, fmt, args);
}

struct evdev_device *
evdev_device_create(struct libinput_seat *seat,
struct udev_device *udev_device)
Expand Down Expand Up @@ -2910,7 +2942,10 @@ evdev_device_create(struct libinput_seat *seat,
goto err;

libevdev_set_clock_id(device->evdev, CLOCK_MONOTONIC);

libevdev_set_device_log_function(device->evdev,
libevdev_log_func,
LIBEVDEV_LOG_ERROR,
libinput);
device->seat_caps = 0;
device->is_mt = 0;
device->mtdev = NULL;
Expand Down

0 comments on commit b5e3fd0

Please sign in to comment.