And redirect the log to stdout. libinput logs to stderr by default, but if we're running with --verbose we want all msgs on the same stream.
Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> --- tools/event-debug.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/tools/event-debug.c b/tools/event-debug.c index 12a2df8..c0a08a7 100644 --- a/tools/event-debug.c +++ b/tools/event-debug.c @@ -46,11 +46,13 @@ static struct udev *udev; uint32_t start_time; static const uint32_t screen_width = 100; static const uint32_t screen_height = 100; +static int verbose = 0; static void usage(void) { - printf("Usage: %s [--udev [<seat>]|--device /dev/input/event0]\n" + printf("Usage: %s [--verbose] [--udev [<seat>]|--device /dev/input/event0]\n" + "--verbose ....... Print debugging output.\n" "--udev <seat>.... Use udev device discovery (default).\n" " Specifying a seat ID is optional.\n" "--device /path/to/device .... open the given device only\n", @@ -67,6 +69,7 @@ parse_args(int argc, char **argv) { "device", 1, 0, 'd' }, { "udev", 0, 0, 'u' }, { "help", 0, 0, 'h' }, + { "verbose", 0, 0, 'v'}, { 0, 0, 0, 0} }; @@ -91,6 +94,9 @@ parse_args(int argc, char **argv) if (optarg) seat = optarg; break; + case 'v': /* --verbose */ + verbose = 1; + break; default: usage(); return 1; @@ -430,6 +436,13 @@ mainloop(struct libinput *li) close(fds[1].fd); } +static void log_handler(enum libinput_log_priority priority, + void *user_data, + const char *format, va_list args) +{ + vprintf(format, args); +} + int main(int argc, char **argv) { @@ -439,6 +452,11 @@ main(int argc, char **argv) if (parse_args(argc, argv)) return 1; + if (verbose) { + libinput_log_set_handler(log_handler, NULL); + libinput_log_set_priority(LIBINPUT_LOG_PRIORITY_DEBUG); + } + if (mode == MODE_UDEV) { if (open_udev(&li)) return 1; -- 1.8.5.3 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel